DevOps

مانیتورینگ سرور با Zabbix، Prometheus و Grafana

مانیتورینگ سرور یعنی مصرف منابع و وضعیت سرویس ها همیشه اندازه گیری شود و وقتی چیزی از حد معمول خارج شد، خودتان زودتر از مشتری خبردار شوید. تیم فنی پیکوهاست Zabbix یا Prometheus با Grafana را روی سرور شما راه اندازی و هشدارها را تنظیم می کند.

در یک نگاه

مانیتورینگ سرور یعنی اندازه گیری مداوم CPU، رم، دیسک، شبکه و سرویس ها و ارسال هشدار هنگام عبور از آستانه. وقتی بعد از خرابی تازه باخبر می شوید به آن نیاز دارید. تیم فنی پیکوهاست Zabbix یا Prometheus و Grafana، بررسی uptime و هشدار تلگرام یا ایمیل را راه اندازی می کند.

سطح های خدمت

هر سطح همه ی کارهای سطح قبلی را دارد. قیمت دقیق بعد از بررسی نیاز و حجم کار اعلام می شود.

پکیج پایه

قیمت پس از بررسی

۹ کار انجام می شود

  • بررسی اولیه
  • ثبت فهرست سرورها و نقش هر کدام
  • انتخاب ابزار مناسب بین Zabbix و Prometheus
  • نصب ابزار
  • نصب ابزار مانیتورینگ روی یک سرور
  • نصب agent یا node_exporter روی سرورهای هدف
  • داشبورد
  • داشبورد مصرف CPU و رم
  • نمودار فضای دیسک و ترافیک شبکه
  • بررسی در دسترس بودن
  • بررسی دوره ای در دسترس بودن سایت
  • هشدار
  • هشدار ایمیل برای آستانه های اصلی
  • تحویل
  • آزمایش جمع آوری داده روی سرورها
ثبت سفارش

پکیج استاندارد

قیمت پس از بررسی

۱۸ کار انجام می شود

  • همه موارد پکیج پایه و موارد زیر
  • بررسی اولیه
  • ثبت فهرست سرورها و نقش هر کدام
  • انتخاب ابزار مناسب بین Zabbix و Prometheus
  • بررسی فایروال و پورت های لازم برای مانیتورینگ
  • نصب ابزار
  • نصب ابزار مانیتورینگ روی یک سرور
  • نصب agent یا node_exporter روی سرورهای هدف
  • افزودن قالب های آماده لینوکس و سرویس ها
  • داشبورد
  • داشبورد مصرف CPU و رم
  • نمودار فضای دیسک و ترافیک شبکه
  • اتصال Grafana و ساخت داشبوردهای تکمیلی
  • نمای وضعیت سرویس های مهم
  • بررسی در دسترس بودن
  • بررسی دوره ای در دسترس بودن سایت
  • بررسی پورت سرویس ها و زمان پاسخ
  • هشدار
  • هشدار ایمیل برای آستانه های اصلی
  • هشدار تلگرام با ربات اختصاصی
  • تنظیم آستانه های هشدار و بحرانی
  • تحویل
  • آزمایش جمع آوری داده روی سرورها
  • راهنمای افزودن سرور یا سرویس تازه
  • هماهنگی مدت نگهداری داده ها
ثبت سفارش

پکیج کامل

قیمت پس از بررسی

۲۶ کار انجام می شود

  • همه موارد پکیج استاندارد و موارد زیر
  • بررسی اولیه
  • ثبت فهرست سرورها و نقش هر کدام
  • انتخاب ابزار مناسب بین Zabbix و Prometheus
  • بررسی فایروال و پورت های لازم برای مانیتورینگ
  • نصب ابزار
  • نصب ابزار مانیتورینگ روی یک سرور
  • نصب agent یا node_exporter روی سرورهای هدف
  • افزودن قالب های آماده لینوکس و سرویس ها
  • نصب exporter برای MySQL، Nginx یا Docker در صورت نیاز
  • داشبورد
  • داشبورد مصرف CPU و رم
  • نمودار فضای دیسک و ترافیک شبکه
  • اتصال Grafana و ساخت داشبوردهای تکمیلی
  • نمای وضعیت سرویس های مهم
  • داشبورد خلاصه برای همه سرورها
  • بررسی در دسترس بودن
  • بررسی دوره ای در دسترس بودن سایت
  • بررسی پورت سرویس ها و زمان پاسخ
  • بررسی از یک نقطه بیرونی مستقل
  • هشدار
  • هشدار ایمیل برای آستانه های اصلی
  • هشدار تلگرام با ربات اختصاصی
  • تنظیم آستانه های هشدار و بحرانی
  • بازبینی آستانه ها بعد از جمع شدن داده واقعی
  • آزمایش رسیدن هشدار به مقصد
  • تحویل
  • آزمایش جمع آوری داده روی سرورها
  • راهنمای افزودن سرور یا سرویس تازه
  • هماهنگی مدت نگهداری داده ها
  • مستند کردن ساختار مانیتورینگ
  • آموزش خواندن داشبورد و تغییر آستانه ها
  • بررسی دوباره هشدارها پس از تحویل
ثبت سفارش

کدام سطح مناسب شماست

پایه

برای کسی که فقط می خواهد وضعیت یک یا چند سرور را ببیند و از قطعی سریع باخبر شود.

استاندارد

برای زیرساختی با چند سرور و سرویس که داشبورد کامل، بررسی uptime و آستانه های متناسب با مصرف واقعی لازم دارد.

کامل

برای سرور مهم که علاوه بر مانیتورینگ کامل، پایش سرویس های جانبی، مستندات و آموزش خواندن داده ها را هم می خواهد.

مقایسه کامل پکیج ها

کارپایهاستانداردکامل
بررسی اولیه
ثبت فهرست سرورها و نقش هر کدام✓✓✓
انتخاب ابزار مناسب بین Zabbix و Prometheus✓✓✓
بررسی فایروال و پورت های لازم برای مانیتورینگ-✓✓
نصب ابزار
نصب ابزار مانیتورینگ روی یک سرور✓✓✓
نصب agent یا node_exporter روی سرورهای هدف✓✓✓
افزودن قالب های آماده لینوکس و سرویس ها-✓✓
نصب exporter برای MySQL، Nginx یا Docker در صورت نیاز--✓
داشبورد
داشبورد مصرف CPU و رم✓✓✓
نمودار فضای دیسک و ترافیک شبکه✓✓✓
اتصال Grafana و ساخت داشبوردهای تکمیلی-✓✓
نمای وضعیت سرویس های مهم-✓✓
داشبورد خلاصه برای همه سرورها--✓
بررسی در دسترس بودن
بررسی دوره ای در دسترس بودن سایت✓✓✓
بررسی پورت سرویس ها و زمان پاسخ-✓✓
بررسی از یک نقطه بیرونی مستقل--✓
هشدار
هشدار ایمیل برای آستانه های اصلی✓✓✓
هشدار تلگرام با ربات اختصاصی-✓✓
تنظیم آستانه های هشدار و بحرانی-✓✓
بازبینی آستانه ها بعد از جمع شدن داده واقعی--✓
آزمایش رسیدن هشدار به مقصد--✓
تحویل
آزمایش جمع آوری داده روی سرورها✓✓✓
راهنمای افزودن سرور یا سرویس تازه-✓✓
هماهنگی مدت نگهداری داده ها-✓✓
مستند کردن ساختار مانیتورینگ--✓
آموزش خواندن داشبورد و تغییر آستانه ها--✓
بررسی دوباره هشدارها پس از تحویل--✓

چه کارهایی انجام می شود

Zabbix

نصب سرور Zabbix، agent روی هر میزبان و قالب های آماده برای لینوکس و سرویس ها

Prometheus

نصب Prometheus، node_exporter روی سرورها و در صورت نیاز exporter برای MySQL، Nginx یا Docker

Grafana

اتصال به منبع داده و ساخت داشبورد برای CPU، رم، دیسک، شبکه و سرویس ها

Uptime

بررسی دوره ای در دسترس بودن سایت یا پورت و زمان پاسخ از بیرون یا داخل سرور

هشدار

ارسال اعلان به تلگرام یا ایمیل برای هر آستانه تعریف شده

آستانه ها

تعیین مقدارهای هشدار و بحرانی بر اساس رفتار واقعی سرور شما

چه زمانی به این خدمت نیاز دارید

  • سایت گاهی کند یا قطع می شود و نمی دانید علت چه بوده، چون در آن لحظه چیزی ثبت نشده است.
  • دیسک یا رم سرور چند بار ناگهان پر شده و می خواهید پیش از آن مطلع شوید.
  • چند سرور یا چند سرویس دارید و هر کدام را جداگانه چک کردن وقت می گیرد.
  • می خواهید بعد از تغییر تنظیمات یا افزودن بار جدید اثر آن را روی منابع ببینید.
  • برای تصمیم درباره ارتقای سرور به عدد واقعی نیاز دارید و نه حدس.

مراحل کار

  1. ۱

    در تیکت تعداد سرورها، سیستم عامل، سرویس های مهم و کانال دلخواه هشدار را می نویسید.

  2. ۲

    تیم فنی ابزار مناسب را پیشنهاد می کند و روی یک سرور مانیتورینگ نصب می کند.

  3. ۳

    agent یا exporter روی سرورهای هدف نصب و فقط پورت های لازم باز می شود.

  4. ۴

    داشبورد و بررسی uptime ساخته می شود و داده ها چند ساعت جمع آوری می شود.

  5. ۵

    آستانه ها با توجه به مصرف واقعی تنظیم و هشدار تلگرام یا ایمیل آزمایش می شود.

  6. ۶

    توضیح خواندن داشبورد و تغییر آستانه ها به شما تحویل داده می شود.

چه چیزی از شما لازم داریم

  • فهرست سرورها با آدرس، سیستم عامل و نقش هر کدام.
  • دسترسی مدیریتی که از طریق فیلدهای خصوصی تیکت یا یک حساب موقت داده می شود. رمز root را در متن عادی تیکت ننویسید. حساب موقت بعد از اتمام کار حذف می شود.
  • فهرست سرویس ها و آدرس هایی که باید بررسی شوند، مثل سایت، API یا پورت پایگاه داده.
  • مقصد هشدار: ایمیل یا یک گروه تلگرام که ربات هشدار در آن عضو می شود.
  • اگر سرور پشت فایروال است، اعلام این که چه پورت هایی را می شود برای مانیتورینگ باز کرد. مورد مرتبط در محافظت با فایروال آمده است.

چه چیزی تحویل می دهید و چه چیزی تضمین نمی شود؟

تحویل شامل سیستم مانیتورینگ نصب شده، داشبوردهای اصلی، بررسی uptime، هشدارهای تنظیم شده و یک راهنمای کوتاه برای افزودن سرور یا سرویس تازه است.

چند محدودیت واقعی وجود دارد. مانیتورینگ مشکل را برطرف نمی کند و فقط خبر می دهد. اگر خود سرور مانیتورینگ از کار بیفتد یا اینترنت آن قطع شود، هشدار نمی رسد، برای همین بررسی از یک نقطه بیرونی هم توصیه می شود. آستانه ها بر پایه رفتار فعلی سرور تنظیم می شوند و با تغییر بار باید دوباره بازبینی شوند. پاسخ به هشدار و رفع علت آن در این خدمت نیست و در سرور مدیریت شده پوشش داده می شود.

سوالات پرتکرار

Zabbix بهتر است یا Prometheus؟
هر دو کار می کنند. Zabbix با رابط و قالب آماده سریع تر شروع می شود. Prometheus با Grafana در پروژه های کانتینری و زیرساخت پویا رایج تر است. انتخاب به تعداد سرورها و سلیقه تیم شما بستگی دارد.
هشدار روی تلگرام چطور کار می کند؟
یک ربات تلگرام ساخته می شود و ابزار مانیتورینگ هنگام عبور از آستانه پیام را به گروه یا حساب شما می فرستد. توکن ربات فقط روی سرور مانیتورینگ ذخیره می شود.
مانیتورینگ روی سرور من فشار می آورد؟
agent و exporter ها سبک هستند، ولی مصرف صفر ندارند. اگر سرور شما منابع بسیار محدودی دارد، پیش از نصب مصرف را بررسی و در صورت لزوم فاصله جمع آوری داده را بیشتر می کنیم.
داده ها چقدر نگهداری می شوند؟
مدت نگهداری قابل تنظیم است و به فضای دیسک سرور مانیتورینگ بستگی دارد. در تنظیم اولیه با شما هماهنگ می شود. اگر به دنبال کاهش مصرف و زمان پاسخ هستید، بهینه سازی سرعت هم بعد از دیدن داده ها تصمیم دقیق تری می دهد. مستندات رسمی را در مستندات Zabbix می توانید ببینید.