مصطفی کاظمی
مصطفی کاظمی
خواندن ۴ دقیقه·۵ سال پیش

نصب Elasticsearch و Kibana نسخه ۷ به صورت سرویس بر روی ویندوز

همونطور که می‌دونید Elasticsearch یه موتور جستجوی توزیع‌شده‌س که با استفاده از کتابخونه‌ی Lucene توسعه داده شده و رابط کاربریش، APIهای REST هستن که روی پروتکل HTTP و (HTTPS) کار می‌کنن. اطلاعات هم به صورت JSON میره و میاد!

کار کردن با APIهای REST ساده‌ست اما وجود یه UI تر و تمیز خالی از لطف نیست! Kibana همون UI تر و تمیزی هستش که زندگی رو به شدت راحت‌تر میکنه.

با Kibana علاوه بر اینکه راحت‌تر می‌تونیم با Elasticsearch کار کنیم، می‌تونیم اطلاعات رو خیلی خوشگل visualize و monitor کنیم؛ Kibana خیلی کارا می‌کنه؛ بد نیست به صفحه‌ش یه نگاهی بندازید.

تصویری از محیط Kibana
تصویری از محیط Kibana


در ادامه می‌خوایم Elasticsearch رو به صورت single-node و در قالب یک سرویس نصب کنیم که با بالا اومدن ویندوز اجرا بشه؛ بعد از اون هم، Kibana رو به صورت سرویس نصب می‌کنیم.

نصب Elasticsearch

قبل از هر چیز، لازمه جاوا، نسخه ۸ به بالا، روی سیستمون نصب باشه؛ جاوا رو می‌تونید از سایت رسمی (با تحریم‌شکن وارد شوید!) یا از اینجا دانلود کنید.

ظاهراً سیاست جدید اوراکل اینه که فقط آخرین نسخه رو می‌شه رایگان و بدون نیاز به اکانت دانلود کرد؛ پس اگر از سایت رسمی می‌خواید دانلود کنید، آخرین نسخه (که در زمان نوشتن این مطلب ۱۲ هست) رو دانلود کنید.

بعد از دانلود و نصب جاوا، 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 مقدار داره:

صفحه مدیریت سرویس Elasticsearch
صفحه مدیریت سرویس Elasticsearch

در صورتی که این مقدار به طور کلی وجود نداشت یا جلوش خالی بود، با مسیر دلخواه ایجادش کنید؛ برای مثال:

-Djava.io.tmpdir=C:\elstemp

بعد Services رو باز کنید (با دستور services.msc توی Run می‌شه اجراش کرد)؛ سرویس Elasticsearch به صورت زیر باید موجود باشه:

سرویس Elasticsearch در Services
سرویس Elasticsearch در Services

الان می‌تونید سرویس رو اجرا کنید و Startup Type اون رو هم روی Automatic تنظیم کنید.

بعد اینکه Elasticsearch بالا اومد، روی آدرس http://localhost:9200 صفحه زیر رو می‌تونید ببینید:

اطلاعات Elasticsearch
اطلاعات Elasticsearch

خب، خداقوت؛ Elasticsearch نصب شد!

نصب Kibana

برای دانلود 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

بعد از وارد کردن دستور بالا این پنجره رو می‌بینید:

پنجره NSSM
پنجره NSSM

داخل قسمت 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 به عنوان سرویس وابسته
اضافه کردن Elasticsearch به عنوان سرویس وابسته

این کار باعث می‌شه تا زمانی که Elasticsearch بالا نیومده، Kibana اجرا نشه و اگر Elasticsearch متوقف بشه Kibana هم متوقف بشه.

بعد وارد تب I/O بشید و آدرس فایل‌های لاگ رو به مسیر دلخواه بدید:

فایل‌های لاگ
فایل‌های لاگ

در آخر هم، روی دکمه Install service کلیک کنید.

اگر همه چی خوب باشه، سرویس kibana رو باید بتونیم توی Services ببینیم:

بعد از اجرای اون و گذشت چند ثانیه (تا چند دقیقه، بسته به سیستم)، روی آدرس http://localhost:5601 Kibana رو می‌بینیم:

صفحه Kibana
صفحه Kibana

این هم نصب شد :)


نسخه ۷ و ۷/۲ رو، روی ویندوز ۱۰ و ویندوز سرور ۲۰۱۶ تست کردم و مشکل خاصی نبوده؛ اگر مشکل یا نکته‌ای بود در خدمت هستم.


elasticsearchkibanaelasticsearch در ویندوزkibana در ویندوزنصب الستیک سرچ در ویندوز
توسعه‌دهنده جاوا و اندکی جاوا اسکریپت | در تپسی
شاید از این پست‌ها خوشتان بیاید