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

همونطور که می‌دونید Elasticsearch یه موتور جستجوی توزیع‌شده‌س که با استفاده از کتابخونه‌ی Lucene توسعه داده شده و رابط کاربریش، APIهای REST هستن که روی پروتکل HTTP و (HTTPS) کار می‌کنن. اطلاعات هم به صورت JSON میره و میاد!کار کردن با APIهای REST ساده‌ست اما وجود یه UI تر و تمیز خالی از لطف نیست! Kibana همون UI تر و تمیزی هستش که زندگی رو به شدت راحت‌تر میکنه.با Kibana علاوه بر اینکه راحت‌تر می‌تونیم با Elasticsearch کار کنیم، می‌تونیم اطلاعات رو خیلی خوشگل visualize و monitor کنیم؛ 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در صورتی که این مقدار به طور کلی وجود نداشت یا جلوش خالی بود، با مسیر دلخواه ایجادش کنید؛ برای مثال:-Djava.io.tmpdir=C:\elstempبعد Services رو باز کنید (با دستور services.msc توی Run می‌شه اجراش کرد)؛ سرویس Elasticsearch به صورت زیر باید موجود باشه:سرویس Elasticsearch در Servicesالان می‌تونید سرویس رو اجرا کنید و Startup Type اون رو هم روی Automatic تنظیم کنید.بعد اینکه Elasticsearch بالا اومد، روی آدرس http://localhost:9200 صفحه زیر رو می‌تونید ببینید:اطلاعات 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داخل قسمت 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 بالا نیومده، Kibana اجرا نشه و اگر Elasticsearch متوقف بشه Kibana هم متوقف بشه.بعد وارد تب I/O بشید و آدرس فایل‌های لاگ رو به مسیر دلخواه بدید:فایل‌های لاگدر آخر هم، روی دکمه Install service کلیک کنید.اگر همه چی خوب باشه، سرویس kibana رو باید بتونیم توی Services ببینیم:بعد از اجرای اون و گذشت چند ثانیه (تا چند دقیقه، بسته به سیستم)، روی آدرس http://localhost:5601 Kibana رو می‌بینیم:صفحه Kibanaاین هم نصب شد :)نسخه ۷ و ۷/۲ رو، روی ویندوز ۱۰ و ویندوز سرور ۲۰۱۶ تست کردم و مشکل خاصی نبوده؛ اگر مشکل یا نکته‌ای بود در خدمت هستم.