جدول محتوایی
در این مقاله نحوه نظارت بر هاست های ESXI با استفاده از Prometheus و نمایش متریک ها در Grafana را توضیح خواهم داد. معیارهای میزبان ESXI توسط Prometheus-VMware-Exporter [Git] نظارت می شود و توسط سرور Prometheus کشیده می شود و در نهایت از Grafana برای تجسم استفاده می شود.
تمام سرویس ها (سرور Prometheus، Prometheus-VMware-Exporter و Grafana) در کانتینرهای Docker که در یک VM واحد که در یکی از هاست های ESXI قرار می گیرد، اجرا می شوند. برای نظارت بر هر میزبان ESXI باید یک ظرف جداگانه Prometheus-VMware-Exporter ایجاد شود. بیایید عمیقاً در روند فرو برویم.
VM با سیستم عامل Centos-8 و آخرین نسخه Docker نصب شده است. برای شروع:
1.آخرین نسخه Docker را در Centos 8 نصب کنید.
2.اگر با خطای زیر مواجه شدید، دستور را مطابق شکل زیر صادر کنید. سپس به نصب داکر ادامه دهید.
3.خدمات Docker را همانطور که در زیر ارائه شده است راه اندازی و فعال کنید
4.پوشه های زیر را برای قرار دادن فایل های پیکربندی ایجاد کنید
exporter: برای ذخیره فایل های مربوط به Prometheus-Exporter دانلود شده از Git استفاده می شود
grafana: برای ذخیره فایل پیکربندی grafana استفاده می شود
Prometheus: برای ذخیره فایل های مربوط به سرور Prometheus دانلود شده از Git استفاده می شود
Prometheus_vol: برای نگاشت به عنوان حجم به سرور Docker Prometheus
5.دایرکتوری را به “صادر کننده” تغییر دهید و فایل ها را از git repo زیر دانلود کنید
6.اگر فایل وجود دارد، خط زیر را به /etc/docker/daemon.json اضافه کنید یا در غیر این صورت یک فایل جدید و ورودی مانند شکل زیر ایجاد کنید. هدف این است که Docker Daemon را برای استفاده از سرور DNS هنگام دسترسی به پیوندهای داخل یک ظرف Docker بسازید. در غیر این صورت ممکن است خطایی در حین ساخت Docker ظاهر شود که می گوید github.com غیرقابل دسترسی است
7.سپس دایرکتوری را به زیر پوشه تغییر دهید و فایل Docker Prometheus-VMware-Exporter را بسازید.
8.”Prometheus-VMware-Exporter” را برای هر میزبان ESXI ایجاد و اجرا کنید. پارامترهای زیر باید به عنوان بخشی از دستور ارسال شوند.
name– Name of the container
ESX_HOST– ESXI IP address
ESX_USERNAME– Username to connect to ESXI
ESX_PASSWORD– Password to connect to ESXI
ESX_LOG– Logging level
ESX_LISTEN– Port of ESXI to listen [9512]
command را می توانید در اینجا پیدا کنید
9.با دسترسی به <Docker IP>172.17.0.4:9512/metrics می توانید پارامترها را مشاهده کنید.
توجه : آی پی 172.17.0.4 به عنوان یک نمونه است و این آی پی آی پی سرور شما باید جایگزین شود
10.فایل پیکربندی Prometheus را مانند اینجا در پوشه Prometheus_vol ایجاد کنید. نام فایل را prometheus.yaml بگذارید [در صورت نیاز آدرس IP و پورت را تغییر دهید]
11.سرور Prometheus را با استفاده از دستور زیر ایجاد و اجرا کنید.
p- برای نگاشت پورت لوکال هاست به پورت کانتینر
d- ظرف را در حالت جدا شده اجرا کنید
v- برای نگاشت فایل پیکربندی Prometheus در ظرف
config.file– محل فایل پیکربندی Prometheus در داخل ظرف
فرمان را می توانید در اینجا پیدا کنید
12.به سرور Prometheus در مکان زیر دسترسی داشته باشید.
13.سپس در آن صفحه، روی “وضعیت” [نوار بالا] -> اهداف کلیک کنید. شما باید هر 3 میزبان ESXI و وضعیت سرور محلی را به صورت بالا ببینید.
14.اکنون زمان پیکربندی Grafana است. دستور زیر را برای اجرای سرور Grafana به عنوان یک برنامه Docker اجرا کنید. کانتینر بهعنوان «user 1000» اجرا میشود، در غیر این صورت، کانتینر به دلیل مشکل مجوز راهاندازی نمیشود (مالک بودن کانتینر به عنوان همان کاربر برای راهاندازی ظرف) یا در عوض مالک حجم بهعنوان کاربر «grafana» است که شناسه آن «472» است.
دستور را می توانید در اینجا پیدا کنید
15.به پورتال Grafana در http://localhost:<port> [http://localhost:3050] دسترسی داشته باشید. برای ورود به سیستم، از نام کاربری به عنوان “admin” و رمز عبور به عنوان “HelloWorld” همانطور که در دستور قبلی پیکربندی شده است استفاده کنید. این بستگی به نحوه اجرای دستور قبلی دارد.
16.بر روی “Add data source” کلیک کنید -> Prometheus را انتخاب کنید -> مقادیر را مطابق شکل زیر ارائه دهید. توجه داشته باشید که برای “URL” باید مسیر سرور Prometheus خود را که خود یک کانتینر در حال اجرا در همان هاست است بدهید [برای مشاهده آدرس IP کانتینرهای خود، می توانید از این اسکریپت استفاده کنید یا دستور “docker inspect” را صادر کنید. <نام ظرف>]. در نهایت بر روی “ذخیره و تست” کلیک کنید. باید پیامی با مضمون «منبع داده کار میکند» برگرداند.
17.من از قالب Grafana از قبل موجود برای نمایش معیارهای جمع آوری شده از Prometheus استفاده کرده ام. در اینجا موجود است. می توانید قالب را دانلود کنید یا محتویات json را از آن کپی کنید یا فقط لینک را کپی کنید.
18.روی نماد “+” کلیک کنید و گزینه import را مطابق شکل زیر انتخاب کنید
19.اگر میخواهید فایل JSON دانلود شده را آپلود کنید، روی گزینه «آپلود فایل json» کلیک کنید، یا فقط پیوند URL را در قسمت «داشبورد Grafana.com» قرار دهید، یا در غیر این صورت محتویات را مستقیماً در زیر «جایگذاری JSON» قرار دهید و روی بارگذاری کلیک کنید.
20.برای گزینه datasource نام منبع داده Prometheus را که در مرحله قبل ایجاد کرده اید انتخاب کنید. سپس Import را انتخاب کنید
21.در اینجا، داشبورد Grafana مانند زیر نمایش داده می شود.