همونطور که میدونید Elasticsearch یه موتور جستجوی توزیعشدهس که با استفاده از کتابخونهی Lucene توسعه داده شده و رابط کاربریش، APIهای REST هستن که روی پروتکل HTTP و (HTTPS) کار میکنن. اطلاعات هم به صورت JSON میره و میاد!
کار کردن با APIهای REST سادهست اما وجود یه UI تر و تمیز خالی از لطف نیست! Kibana همون UI تر و تمیزی هستش که زندگی رو به شدت راحتتر میکنه.
با Kibana علاوه بر اینکه راحتتر میتونیم با Elasticsearch کار کنیم، میتونیم اطلاعات رو خیلی خوشگل visualize و monitor کنیم؛ Kibana خیلی کارا میکنه؛ بد نیست به صفحهش یه نگاهی بندازید.
در ادامه میخوایم Elasticsearch رو به صورت single-node و در قالب یک سرویس نصب کنیم که با بالا اومدن ویندوز اجرا بشه؛ بعد از اون هم، Kibana رو به صورت سرویس نصب میکنیم.
قبل از هر چیز، لازمه جاوا، نسخه ۸ به بالا، روی سیستمون نصب باشه؛ جاوا رو میتونید از سایت رسمی (با تحریمشکن وارد شوید!) یا از اینجا دانلود کنید.
ظاهراً سیاست جدید اوراکل اینه که فقط آخرین نسخه رو میشه رایگان و بدون نیاز به اکانت دانلود کرد؛ پس اگر از سایت رسمی میخواید دانلود کنید، آخرین نسخه (که در زمان نوشتن این مطلب ۱۲ هست) رو دانلود کنید.
بعد از دانلود و نصب جاوا، JAVA_HOME رو در Environment Variables حتما به صورت System Variable تعریف کنید؛ JAVA_HOME، مسیری هست که جاوا اونجا نصب شده.
مسیر نمونه: C:\Program Files\Java\jdk-11.0.2
حالا Elasticsearch رو از اینجا دانلود کنید؛ توجه داشته باشید این صفحه با آیپی ایران باز میشه اما لینک دانلود نه! از روشهای متداول استفاده کنید.
بعد از دانلود و اکسترکت کردن، وارد پوشه config بشید و به انتهای فایل elasticsearch.yml این تنظیمات رو اضافه کنید:
node.name: master node.master: true network.host: 0.0.0.0 # باعث میشه از بیرون ماشین بتونیم بهش دسترسی داشته باشیم cluster.initial_master_nodes: ["master"] xpack.license.self_generated.type: basic
تمامی تنظیمات (به جز خط آخر) در فایل به صورت کامنت شده وجود داره؛ اگه میخواید فایلتون تمیز بمونه، پیداشون کنید و از کامنت در بیارید و مقدارشون رو به شکل بالا تنظیم کنید.
حالا وارد پوشه bin بشید و کنسول رو در همین مسیر اجرا کنید.
برای اجرای کنسول توی مسیر جاری، با نگه داشتن شیفت، راست کلیک کنید؛ گزینهی Open PowerShell/Command Prompt window here نمایان میشه:
بعد این دستور رو اجرا کنید:
.\elasticsearch-service.bat install
اگر این عبارتو دیدید، سرویس با موفقیت نصب شده:
The service 'elasticsearch-service-x64' has been installed.
بعد از دستور بالا، دستور زیر رو اجرا کنید:
.\elasticsearch-service.bat manager
داخل پنجرهی باز شده، وارد تب Java بشید و مطمئن بشین java.io.tmpdir مقدار داره:
در صورتی که این مقدار به طور کلی وجود نداشت یا جلوش خالی بود، با مسیر دلخواه ایجادش کنید؛ برای مثال:
-Djava.io.tmpdir=C:\elstemp
بعد Services رو باز کنید (با دستور services.msc توی Run میشه اجراش کرد)؛ سرویس Elasticsearch به صورت زیر باید موجود باشه:
الان میتونید سرویس رو اجرا کنید و Startup Type اون رو هم روی Automatic تنظیم کنید.
بعد اینکه Elasticsearch بالا اومد، روی آدرس http://localhost:9200 صفحه زیر رو میتونید ببینید:
خب، خداقوت؛ Elasticsearch نصب شد!
برای دانلود Kibana میتونید به این صفحه مراجعه کنید؛ مشابه Elasticsearch، این صفحه با آیپی ایران باز میشه اما فایل دانلود نمیشه!
بعد از دانلود و اکسترکت اون، وارد پوشه config بشید و خط زیر رو به فایل kibana.yml اضافه کنید:
server.host: "0.0.0.0"
این کار باعث میشه خارج از ماشین، بتونیم به Kibana دسترسی داشته باشیم.
در صورتی که Kibana رو، روی ماشین دیگهای دارید نصب میکنید عبارت elasticsearch.hosts رو داخل همون فایل تنظیمات پیدا کنید و آدرس پیشفرض رو به آدرس سرور Elasticsearch تغییر بدید.
برای نصب Kibana به عنوان سرویس، لازمه از ابراز NSSM استفاده کنیم (که میتونید از اینجا دانلود کنید).
بعد از دانلود و اکسترکت NSSM، وارد پوشهای که داخلش فایل nssm.exe وجود داره بشید و به روش گفته شده در بالا، PowerShell یا Command Prompt رو اجرا کنید؛ بعد، این دستور رو وارد کنید:
.\nssm install kibana
بعد از وارد کردن دستور بالا این پنجره رو میبینید:
داخل قسمت Path، مسیر فایل kibana.bin (که توی پوشه bin در جایی که Kibana رو اکسترکت کردید قرار داره) رو بدید.
مسیر نمونه: D:\Programs\ElasticStack7\kibana-7.0.0-windows-x86_64\bin\kibana.bat
بعد وارد تب Dependencies بشید و elasticsearch-service-x64 رو به عنوان سرویس وابسته تایپ کنید (بد نیست برای اینکه از اسم سرویس Elasticsearch مطمئن بشید به Services برید و از قسمت Properties اسم سرویس رو دربیارید):
این کار باعث میشه تا زمانی که Elasticsearch بالا نیومده، Kibana اجرا نشه و اگر Elasticsearch متوقف بشه Kibana هم متوقف بشه.
بعد وارد تب I/O بشید و آدرس فایلهای لاگ رو به مسیر دلخواه بدید:
در آخر هم، روی دکمه Install service کلیک کنید.
اگر همه چی خوب باشه، سرویس kibana رو باید بتونیم توی Services ببینیم:
بعد از اجرای اون و گذشت چند ثانیه (تا چند دقیقه، بسته به سیستم)، روی آدرس http://localhost:5601 Kibana رو میبینیم:
این هم نصب شد :)
نسخه ۷ و ۷/۲ رو، روی ویندوز ۱۰ و ویندوز سرور ۲۰۱۶ تست کردم و مشکل خاصی نبوده؛ اگر مشکل یا نکتهای بود در خدمت هستم.