خلاصهٔ راهنما: Zabbix یک سامانهٔ متنباز برای پایش زیرساخت، شبکه، سرورها و سرویسهاست. در این راهنما با اجزای اصلی Zabbix، مسیر نصب، افزودن میزبان، استفاده از Template، پایش با Agent و SNMP، تعریف شاخص و Trigger، تنظیم اعلانها و نکات امنیتی آشنا میشوید.
در شبکهٔ سازمانی، روشنبودن یک سرور یا پاسخدادن یک روتر به Ping بهتنهایی نشان نمیدهد همهچیز سالم است. ممکن است رابط شبکه با خطا روبهرو شده باشد، مصرف حافظه بالا رفته باشد، یک سرویس پاسخ ندهد یا ظرفیت ذخیرهسازی به پایان نزدیک شود. سامانهٔ مانیتورینگ باید این نشانهها را بهصورت مداوم جمعآوری کند و در زمان مناسب به مسئول مربوطه اطلاع دهد.
Zabbix یکی از گزینههای شناختهشده برای این کار است. این نرمافزار میتواند اطلاعات را از طریق Agent، SNMP، آزمونهای شبکه و روشهای دیگر دریافت کند، آنها را در تاریخچه نگه دارد، شاخصها را در نمودارها نشان دهد و بر اساس قواعد تعریفشده رویداد و اعلان ایجاد کند. کاربرد آن به لینوکس محدود نیست؛ روش جمعآوری داده بر اساس نوع دستگاه و سیستمعامل انتخاب میشود.
Zabbix چیست و چه کاربردی دارد؟
Zabbix پلتفرمی برای پایش متمرکز تجهیزات و سرویسهای فناوری اطلاعات است. با کمک آن میتوان وضعیت روتر، سوئیچ، فایروال، سرور، ماشین مجازی، پایگاه داده و سرویسهای مهم را از یک رابط مدیریتی بررسی کرد. میزان جزئیاتی که در دسترس قرار میگیرد به دادههای قابل جمعآوری، قالب انتخابشده و تنظیمات هر میزبان وابسته است.
موارد استفادهٔ رایج عبارتاند از:
- بررسی دسترسپذیری دستگاهها، لینکها و سرویسهای مهم؛
- پایش ترافیک رابطهای شبکه، خطاها و بستههای حذفشده؛
- بررسی منابع سرورها مانند CPU، حافظه، فضای دیسک و وضعیت سرویسها؛
- ترسیم روند تغییر شاخصها و برآورد نیازهای ظرفیت؛
- تعریف آستانهها و اطلاعرسانی هنگام تشخیص اختلال؛
- بررسی تاریخچهٔ رخدادها برای کمک به عیبیابی و تحلیل علت مشکل.
مانیتورینگ بهتنهایی مانع قطعی نمیشود؛ مزیت آن این است که مشکل را زودتر آشکار میکند، شواهد قابل بررسی فراهم میسازد و فرایند رسیدگی را منظمتر میکند.
اجزای اصلی معماری Zabbix
Zabbix Server
سرور Zabbix وظیفهٔ دریافت و پردازش داده، ارزیابی قواعد، مدیریت رویدادها و هماهنگی فرایند پایش را بر عهده دارد. تعداد میزبانها، تعداد شاخصها، فاصلهٔ جمعآوری و حجم تاریخچه بر منابع موردنیاز آن اثر میگذارند.
Database
پایگاه داده برای نگهداری پیکربندی، تاریخچه و اطلاعات رویدادها استفاده میشود. نوع پایگاه داده و نسخهٔ پشتیبانیشده باید بر اساس نسخهٔ Zabbix انتخاب شود. برنامهٔ نگهداری تاریخچه و روندهای آماری نیز بخشی از طراحی ظرفیت است؛ نگهداشتن همهٔ دادهها برای مدت نامحدود معمولاً انتخاب مناسبی نیست.
Web Frontend
رابط وب برای افزودن میزبانها، انتخاب Templateها، مشاهدهٔ نمودارها، تعریف Triggerها، مدیریت کاربران و تنظیم اعلانها کاربرد دارد. این رابط باید با HTTPS و کنترل دسترسی مناسب محافظت شود و دسترسی عمومی غیرضروری به آن داده نشود.
Zabbix Agent و Agent 2
Agent روی سیستمهای پشتیبانیشده نصب میشود تا شاخصهای سیستمعامل و اطلاعات موردنیاز را جمعآوری کند. بسته به طراحی میتوان از بررسیهای فعال یا غیرفعال استفاده کرد. پیش از نصب، سازگاری نسخهٔ Agent با سرور، سیستمعامل و الزامات Templateها را بررسی کنید.
Zabbix Proxy
Proxy میتواند در طراحیهای چندشعبهای یا شبکههای پراکنده، دادهها را از میزبانهای تحت پوشش جمعآوری و به سرور مرکزی منتقل کند. استفاده از آن باید متناسب با مقیاس، کیفیت ارتباط و نیازهای دسترسپذیری انجام شود؛ اضافهکردن Proxy برای همهٔ شبکهها الزامی نیست.
پیشنیازها و برنامهریزی پیش از نصب
قبل از نصب، بهتر است محیط و هدف پایش مشخص شده باشند. نصب یک بسته بهتنهایی یک سامانهٔ مانیتورینگ عملیاتی ایجاد نمیکند.
- تعداد میزبانها، نوع تجهیزات، تعداد شاخصها و سطح اهمیت سرویسها را برآورد کنید.
- سیستمعامل، پایگاه داده و وبسرور سازگار با نسخهٔ موردنظر را طبق مستندات رسمی انتخاب کنید.
- منابع CPU، حافظه، فضای ذخیرهسازی، سرعت دیسک و ظرفیت شبکه را متناسب با حجم داده در نظر بگیرید.
- روش دسترسی امن به روترها، سوئیچها، سرورها و شبکههای شعب را طراحی کنید.
- نام دامنه، TLS، حسابهای مدیریتی، نگهداری نسخهٔ پشتیبان و روش بازیابی را از ابتدا تعیین کنید.
- نسخهٔ پایدار مناسب زمان نصب و دستورالعمل مخصوص توزیع لینوکس خود را از وبسایت رسمی Zabbix بررسی کنید.
مسیر کلی نصب شامل آمادهسازی پایگاه داده و پیشنیازها، نصب Server، نصب رابط وب، پیکربندی اتصال به پایگاه داده و سپس آغاز پایش است. نام بستهها، نسخهها و دستورها میان توزیعهای مختلف تفاوت دارد؛ بنابراین از دستورالعمل متناسب با همان سیستمعامل استفاده کنید.
راهنمای رسمی نصب و شروع کار با Zabbix مراحل نصب را توضیح میدهد. همچنین میتوانید از فهرست پیشنیازهای نسخهٔ جاری برای بررسی سازگاری اجزا استفاده کنید.
مراحل کلی راهاندازی Zabbix
- انتخاب نسخه و سیستمعامل: نسخهٔ موردنظر را از منبع رسمی انتخاب و پشتیبانی سیستمعامل، پایگاه داده و PHP را بررسی کنید.
- آمادهسازی پایگاه داده: پایگاه داده و حساب اختصاصی موردنیاز Zabbix را مطابق مستندات همان نسخه بسازید. رمز قوی انتخاب کنید و دسترسی حساب را به نیاز واقعی محدود نگه دارید.
- نصب Server و رابط وب: بستههای رسمی متناسب با توزیع را نصب و تنظیمات اتصال پایگاه داده را اعمال کنید.
- راهاندازی سرویسها: وضعیت سرویسها، فایلهای گزارش و اتصال Server به پایگاه داده را بررسی کنید.
- تکمیل راهانداز وب: اطلاعات اتصال، منطقهٔ زمانی و تنظیمات اولیه را بررسی کنید؛ پس از نخستین ورود، رمز حساب پیشفرض را تغییر دهید.
- افزودن نخستین میزبان: یک سرور آزمایشی یا دستگاه غیرحیاتی را انتخاب کنید و ابتدا تنها چند شاخص اصلی را پایش کنید.
- تنظیم هشدار و آزمایش: اعلانها را به مقصد آزمایشی بفرستید، رویدادهای نمونه بسازید و صحت دریافت پیام را تأیید کنید.
نشانیهای مدیریتی و پورتها را فقط به شبکهها و مبدأهای موردنیاز محدود کنید. بازکردن رابط وب یا سرویسهای مدیریت برای کل اینترنت، صرفاً برای آسانترشدن نصب، روش مناسبی نیست.
مفاهیم کلیدی: Host، Template، Item و Trigger
Host؛ میزبان
هر دستگاه یا مقصدی که قرار است پایش شود، در Zabbix بهعنوان Host تعریف میشود. برای هر میزبان باید نام مشخص، گروه مناسب و رابط ارتباطی صحیح انتخاب شود. آدرس مدیریتی، رابط Agent یا SNMP و ارتباط آن با سرور مانیتورینگ باید پیش از انتظار برای دریافت داده بررسی شوند.
Template؛ قالب پایش
Template مجموعهای از تنظیمات قابل استفادهٔ مجدد است که میتواند Item، Trigger، نمودار، قواعد کشف و سایر اجزای موردنیاز را در خود داشته باشد. بهجای ساختن همهٔ شاخصها برای هر دستگاه از ابتدا، میتوان از Template سازگار با سیستمعامل یا مدل تجهیز استفاده کرد. قالبها را بیبررسی به تمام میزبانها متصل نکنید؛ برخی شاخصها یا کلیدها تنها در نسخه یا سختافزار مشخصی در دسترس هستند.
Item؛ شاخص یا دادهٔ پایش
Item مشخص میکند چه دادهای، از چه منبعی و با چه فاصلهای جمعآوری شود. نمونهها عبارتاند از مصرف CPU، فضای آزاد دیسک، نرخ ترافیک یک رابط، پاسخ یک سرویس وب یا وضعیت یک فرایند. برای هر Item نام قابل فهم، نوع مناسب، فاصلهٔ دریافت و مدت نگهداری داده را در نظر بگیرید.
Trigger؛ تشخیص وضعیت غیرعادی
Trigger یک شرط یا عبارت است که بر اساس دادهٔ دریافتی، وضعیت مشکل را تشخیص میدهد. برای مثال میتوان افزایش پایدار مصرف CPU، کاهش فضای آزاد دیسک یا از دسترس خارجشدن یک مقصد را بررسی کرد. آستانهها را بر اساس رفتار طبیعی سیستم و اهمیت آن برای کسبوکار تنظیم کنید؛ یک مقدار ثابت برای تمام سرورها لزوماً مناسب نیست.
افزودن نخستین Host و اتصال Template
- در رابط وب، وارد بخش پیکربندی میزبانها شوید و Host جدیدی بسازید.
- یک Host group متناسب انتخاب کنید تا مدیریت و سطح دسترسی منظم بماند.
- در صورت استفاده از Agent، رابط و آدرس آن را صحیح ثبت کنید؛ سپس از ارتباط سرور با Agent اطمینان حاصل کنید.
- یک Template سازگار با سیستمعامل یا نوع دستگاه به میزبان متصل کنید.
- تنظیمات را ذخیره کنید و پس از گذشت چند چرخهٔ جمعآوری، وضعیت Latest data را بررسی کنید.
- اگر دادهای دریافت نشد، وضعیت رابط، شبکه، مجوزها، نام Item و گزارشهای سرور و Agent را بررسی کنید.
برای شروع، یک میزبان آزمایشی و یک Template متناسب کافی است. پس از اطمینان از صحت داده و بار سامانه، تعداد میزبانها و شاخصها را مرحلهبهمرحله افزایش دهید.
پایش تجهیزات شبکه با SNMP
روترها، سوئیچها، فایروالها و تجهیزات UPS معمولاً از SNMP پشتیبانی میکنند. با این روش میتوان اطلاعاتی مانند وضعیت رابطها، شمارندههای ترافیک، زمان فعالیت دستگاه و برخی شاخصهای سختافزاری را دریافت کرد.
برای ایجاد پایش درست:
- پشتیبانی تجهیز از SNMP و قابلیتهای موردنیاز را بررسی کنید.
- در شبکههای عملیاتی، در صورت پشتیبانی، SNMPv3 را با احراز هویت و رمزنگاری مناسب ترجیح دهید.
- دسترسی را به سرور یا Proxyهای مجاز محدود کنید و اطلاعات احراز هویت را در گزارشها یا اسکریپتهای عمومی افشا نکنید.
- یک Template سازگار با مدل دستگاه انتخاب کنید؛ اگر دادهٔ موردنیاز ارائه نمیشود، OID و نوع مقدار آن را بررسی کنید.
- برای شمارندههای ترافیک، افزایش مقدار خام را با نرخ مصرف اشتباه نگیرید؛ معمولاً لازم است اختلاف شمارندهها در بازهٔ زمانی به نرخ تبدیل شود.
مستندات رسمی پایش از طریق SNMP در Zabbix دربارهٔ افزودن رابط SNMP، استفاده از OID و تعریف Item توضیح میدهد. برای اطلاعات عمومی امنیت و مدل SNMPv3 نیز میتوانید استاندارد RFC 3414 را مطالعه کنید.
تعریف هشدار و تنظیم اعلانها
تشخیص مشکل و ارسال اعلان دو مرحلهٔ مرتبط، اما جداگانهاند. ایجاد Trigger بهتنهایی تضمین نمیکند که پیام به مدیر سیستم برسد. برای ارسال اعلان، نوع رسانه، اطلاعات دریافتکننده و Action متناسب باید تنظیم شده باشند.
- برای شاخص مهم، Trigger مناسب با آستانه و مدت معتبر بسازید یا از Template استفاده کنید.
- در بخش Media types، روش ارسال مانند ایمیل یا Webhook را با تنظیمات درست پیکربندی کنید.
- اطلاعات مقصد را در تنظیمات کاربر گیرنده وارد و شدت رویدادهای قابل ارسال را مشخص کنید.
- در بخش Actions، شرط و عملیاتی تعریف کنید تا برای رویداد مناسب اعلان ارسال شود.
- اعلان آزمایشی ارسال کنید و رسیدن پیام، محتوای آن و مسیر بازیابی پس از رفع مشکل را بررسی کنید.
برای جلوگیری از هشدارهای کاذب، وضعیت کوتاهمدت و اختلال پایدار را از هم تفکیک کنید، رویدادهای وابسته را گروهبندی کنید و برای هر هشدار، اقدام مورد انتظار را مشخص کنید. هشدار باید اطلاعات کافی مانند نام میزبان، شاخص، مقدار مشاهدهشده، زمان شروع و لینک بررسی را داشته باشد.
مستندات رسمی انواع رسانهٔ اعلان و راهنمای تنظیم اعلان مشکل مراحل پیکربندی را توضیح میدهند.
داشبورد، تاریخچه و گزارشگیری
داشبورد خوب به مدیر شبکه کمک میکند وضعیت مهم را سریع ببیند، نه اینکه صرفاً تعداد زیادی نمودار را کنار هم قرار دهد. داشبوردهای جداگانه برای سلامت کلی زیرساخت، تجهیزات حیاتی، پهنای باند، وضعیت سرورها و مشکلات بازشده میتوانند از شلوغی جلوگیری کنند.
در طراحی داشبورد:
- شاخصهای عملیاتی مهم را در نمای اول قرار دهید.
- برای بررسی مشکل، دسترسی سریع به تاریخچهٔ Item و نمودار بازهٔ مربوط فراهم کنید.
- شدت و وضعیت رخدادها را از هم تفکیک کنید.
- بازهٔ نگهداری History و Trends را با نیاز عیبیابی و ظرفیت ذخیرهسازی هماهنگ کنید.
- تعریف و مالکیت داشبوردها را مستند کنید تا پس از تغییر اعضای تیم هم قابل استفاده باشند.
نکات امنیتی و نگهداری Zabbix
- بهروزرسانی: نسخهٔ پشتیبانیشده را دنبال کنید و پیش از ارتقا، یادداشت انتشار و سازگاری اجزای وابسته را بررسی کنید.
- دسترسی مدیریتی: حسابهای فردی، دسترسی مبتنی بر نقش و رمزهای قوی را بهکار ببرید؛ حسابهای پیشفرض را بدون تغییر رها نکنید.
- شبکهٔ مدیریت: دسترسی به رابط وب، Server، Agent و Proxy را به مسیرهای لازم محدود کنید.
- محرمانگی ارتباط: در صورت پشتیبانی و تناسب با معماری، TLS را برای ارتباط اجزای Zabbix و روشهای امن مدیریتی تنظیم کنید.
- اطلاعات حساس: رمزها، توکنها و اطلاعات محرمانه را در متن عمومی Item، اسکریپت و لاگ قرار ندهید.
- نسخهٔ پشتیبان: پایگاه داده و فایلهای پیکربندی را با برنامهٔ منظم پشتیبانگیری کنید و بازیابی واقعی را دورهای آزمایش کنید.
- ظرفیت: رشد تعداد Itemها، فاصلهٔ دریافت، حجم تاریخچه، صفهای پردازش و مصرف منابع را پایش کنید.
- تغییرات: تغییر Template، Trigger و سیاست هشدار را ثبت کنید تا در صورت بروز مشکل بتوانید علت تغییر را بررسی کنید.
عیبیابی مشکلات متداول
میزبان در دسترس نیست
ابتدا آدرس و رابط تعریفشده را بررسی کنید؛ سپس مسیر شبکه، فایروال و دسترسی از مبدأ سرور یا Proxy مانیتورینگ را آزمایش کنید. اگر فقط Ping شکست خورده، روش دیگری برای ارزیابی سرویس در نظر بگیرید.
Latest data خالی است
بررسی کنید Item فعال باشد، Template مناسب متصل شده باشد و فاصلهٔ جمعآوری آن سپری شده باشد. در پایش Agent، تنظیمات ارتباطی و گزارشهای Agent و Server را بررسی کنید؛ در SNMP نیز نسخه، مجوزها، OID و رابط دستگاه اهمیت دارند.
هشدار ایجاد میشود اما پیامی دریافت نمیکنیم
Trigger را از Action جدا بررسی کنید. سپس شرط Action، وضعیت Media type، اطلاعات تماس کاربر، زمانبندی ارسال، گزارش خطای اعلان و نتیجهٔ آزمون رسانه را کنترل کنید.
سرور مانیتورینگ کند شده است
مصرف CPU، حافظه و دیسک، حجم دادهٔ دریافتی، وضعیت پردازشها و پایگاه داده را بررسی کنید. افزایش بیرویهٔ Itemها یا کاهش بیشازحد فاصلهٔ جمعآوری میتواند حجم کار را بالا ببرد. ظرفیتسنجی باید بر اساس تعداد و نوع شاخصها و نرخ واقعی داده انجام شود، نه تنها شمار میزبانها.
مقایسهٔ Zabbix با چند راهکار دیگر
انتخاب ابزار به نیاز عملیاتی بستگی دارد. بعضی راهکارها بیشتر بر پایش تجهیزات شبکه تأکید دارند، برخی در گردآوری شاخصهای نرمافزاری و تحلیل سری زمانی کاربرد پررنگتری دارند و برخی برای سازمانهایی مناسباند که رابط آماده و مدل تجاری مشخص میخواهند.
- Zabbix: راهکار جامع پایش زیرساخت با Host، Template، Item، Trigger و اعلان.
- LibreNMS: گزینهای متنباز با تمرکز بر پایش تجهیزات شبکه و استفاده از قابلیتهای SNMP.
- PRTG: گزینهای با مدل پایش مبتنی بر Sensor؛ شرایط مجوز و محدودیتهای نسخهٔ موردنظر را بررسی کنید.
- Prometheus و Grafana: ترکیبی متداول برای گردآوری شاخصهای عددی و ساخت داشبورد؛ روش جمعآوری هر منبع باید جداگانه طراحی شود.
پیش از تصمیم نهایی، یک نمونهٔ محدود از زیرساخت واقعی را آزمایش کنید و کیفیت داده، سادگی تعریف هشدار، هزینهٔ نگهداری، پشتیبانی تجهیزات و مهارت تیم را بسنجید. برای مقایسه، مقالهٔ راهنمای پایش حرفهای شبکه را نیز ببینید.
چکلیست آغاز کار با Zabbix
- نسخهٔ سازگار و پیشنیازهای محیط بررسی شدهاند.
- پایگاه داده، Server و رابط وب بهدرستی کار میکنند.
- حساب پیشفرض و دسترسیهای مدیریتی امن شدهاند.
- یک میزبان آزمایشی با Template مناسب داده ارسال میکند.
- شاخصهای مهم و Triggerهای معنادار تعریف شدهاند.
- رسانه، Action و اطلاعات تماس کاربر آزمایش شدهاند.
- دسترسی شبکهٔ مدیریت محدود شده است.
- نسخهٔ پشتیبان و روش بازیابی آزمایش شدهاند.
پرسشهای متداول دربارهٔ Zabbix
آیا Zabbix فقط برای سرورهای لینوکس است؟
خیر. Zabbix میتواند منابع مختلف را از طریق Agent، SNMP، آزمونهای شبکه و روشهای دیگر پایش کند. روش مناسب به سیستمعامل، قابلیت تجهیز و نوع دادهٔ موردنیاز بستگی دارد.
آیا بدون Agent میتوان تجهیزات شبکه را پایش کرد؟
بله. بسیاری از تجهیزات شبکه از SNMP پشتیبانی میکنند و میتوان دسترسپذیری آنها را نیز با روشهای مناسب بررسی کرد. انتخاب روش به دادههای قابل ارائه توسط دستگاه و نیاز پایش وابسته است.
آیا افزودن میزبان بهتنهایی باعث ارسال هشدار میشود؟
خیر. میزبان باید دادهٔ معتبر تولید کند و برای تشخیص مشکل، Trigger مناسب و برای ارسال پیام، Media type، اطلاعات تماس و Action متناسب تنظیم شده باشند.
آیا Templateها برای همهٔ تجهیزات یکساناند؟
خیر. سازگاری Template با مدل دستگاه، نسخهٔ سیستمعامل یا Agent و شاخصهای موردنیاز را بررسی کنید. در صورت تفاوت قابلیتها ممکن است لازم باشد Template یا Itemها تنظیم شوند.
برای یک شبکهٔ کوچک هم Zabbix مناسب است؟
میتواند مناسب باشد؛ با این حال، هزینهٔ راهاندازی و نگهداری و مهارت تیم باید در نظر گرفته شود. بهتر است با یک طرح ساده آغاز کنید و تنها در صورت نیاز، پیچیدگی پایش را افزایش دهید.
جمعبندی
Zabbix زمانی بیشترین ارزش را دارد که فقط نصب نشود، بلکه متناسب با زیرساخت سازمان طراحی و نگهداری شود. انتخاب Template سازگار، تعریف شاخصهای مفید، آستانهگذاری مناسب، اعلانهای قابل اقدام، دسترسی امن و نسخهٔ پشتیبان قابل بازیابی، پایههای یک سامانهٔ مانیتورینگ قابل اعتماد هستند. ابتدا سرویسهای حیاتی را پایش کنید، دادهها را در عمل اعتبارسنجی کنید و سپس پوشش زیرساخت را مرحلهبهمرحله گسترش دهید.