فقط راه اندازی سرورها و استقرار برنامه های کاربردی روی آنها کافی نیست. همچنین مهم است که بتوان به راحتی عملکرد همه سرورها را از یک مکان متمرکز برای افزایش کارایی نظارت کرد. اینجاست که ابزارهای مدیریت متمرکز سرور مجازی یا اختصاصی از جمله Zabbix Server وارد می شوند!
از جمله معروف ترین ابزارهای مانیتورینگ و مدیریت متمرکز سرورها میتوانیم به موارد زیر اشاره کنیم:
- Nagios
- Zabbix
- Ntop
- DataDog
- Icinga
در این مقاله در مورد یکی از این ابزارها، یعنی Zabbix صحبت میکنیم. ما در مورد چگونگی راه اندازی یک سرور Zabbix بحث خواهیم کرد.
معرفی
Zabbix Server یک ابزار نرم افزار مانیتورینگ منبع باز برای اجزای مختلف فناوری اطلاعات، از جمله شبکه ها، سرورها، ماشین های مجازی (VM) و سرویس های ابری است. Zabbix معیارهای نظارتی مانند استفاده از شبکه، بار CPU و مصرف فضای دیسک را ارائه می دهد. این نرم افزار بر روی توزیع های لینوکس، هیولت پاکارد یونیکس (HP-UX)، Mac OS X، Solaris و سایر سیستم عامل ها (OS) نظارت میکند.
Zabbix میتواند برای نظارت مبتنی بر عامل و بدون عامل مستقر شود. Agentها بر روی اجزای فناوری اطلاعات برای بررسی عملکرد و جمعآوری دادهها نصب میشوند. سپس Agent به یک سرور مدیریت متمرکز Zabbix گزارش میدهد. این اطلاعات در گزارش ها گنجانده شده یا به صورت بصری در رابط کاربری گرافیکی Zabbix (GUI) ارائه میشود. در صورت وجود هر گونه مشکل در مورد آنچه در حال نظارت است، Zabbix یک اعلان یا هشدار برای کاربر ارسال میکند. نظارت بدون وجود Agent همان نوع نظارت را با استفاده از منابع موجود در یک سیستم یا دستگاه برای تقلید از یک عامل انجام میدهد.
رابط کاربری گرافیکی مبتنی بر وب Zabbix به کاربران این امکان را میدهد که محیط IT خود را از طریق داشبوردهای قابل تنظیم بر اساس ویجت ها، نمودارها، نقشه های شبکه، نمایش اسلاید و گزارش ها مشاهده کنند. برای مثال، یک کاربر میتواند گزارشی را سفارشی کند تا معیارهای مرتبط با توافقنامههای سطح سرویس (SLA) و شاخصهای عملکرد کلیدی (KPI) را روی بارهای CPU نشان دهد.
نرم افزار زبیکس تحت لایسنس GPL v2 منتشر میشود. برنامه نویسی سمت سرور زبیکس با زبان C و سمت وب آن هم با زبان PHP نوشته شده است .
ابزار های مانیتورینگ متعددی وجود دارند که می توانند نیاز های ما را برآورده کنند ولی ما به دلایل متعددی Zabbix Server را انتخاب میکنیم.
ویژگیهای Zabbix Server
- یک واسط کاربری قدرتمند تحت وب که توسط این پنل میتوان بصورت متمرکز تمام دادهها را بررسی کرد.
- به عنوان سرور قابل اجرا بر روی تمامی سیستم های هم خانواده Unix مثل لینوکس، Solaris، kali و …است.
- برای این سیستم، Agent های بومی برای تمامی سیستم عامل ها وجود دارد. همان Window ، Linux و…
- مانیتورینگ تجهیزات با پروتکل های خاص مثل SNMP V1/2/3 و تجهیزاتی که از IPMI نیز پشتیبانی میکنند.
- توانایی مانیتورینگ نرم افزار های جاوا بصورت مستقیم و با استفاده از ابزاری به نام JMX را دارد.
- مانیتورینگ مستقیم vCenter و VMware با استفاده از VMware API
- توانایی بصری سازی با استفاده از گراف های درونی را دارد.
- اطلاعیههای این سیستم به خوبی با سیستم های دیگر تجمیع میشوند.
- تنظیمات قابل انعطاف توسط قالب سازی (Template)
- Low Level Discovery یا LLD: توانایی ساخت item، گراف و Trigger ها از یکدیگر بصورت خودکار و بسیاری ویژگیهای دیگر.
Zabbix از طریق سه حالت اکتشافی زیر کار می کند:
- کشف شبکه به صورت دورهای: یک محیط IT را اسکن میکند و نوع، آدرس IP، وضعیت، زمانهای آپلود و خرابی دستگاه را ثبت میکند.
- اکتشاف سطح پایین : به طور خودکار موارد، محرک ها و نمودارها را بر اساس دستگاه کشف شده ایجاد می کند. اکتشاف سطح پایین میتواند معیارهایی را از شناسههای شیء پروتکل مدیریت ساده شبکه (SNMP)، سرویسهای ویندوز، پرسوجوهای زبان پرسوجو ساختاری (ODBC)، رابطهای شبکه و موارد دیگر ایجاد کند.
- کشف خودکار: به طور خودکار نظارت بر هر دستگاه کشف شده را با استفاده از یک عامل Zabbix آغاز میکند.
نصب Zabbix Server
در ابتدا با دستورات زیر به روز رسانیهای جدید را از مخازن دریافت کنید و سیستم را مجددا راه اندازی کنید.
sudo apt update && sudo apt -y full-upgrade#
sudo reboot
از آنجا که Zabbix Server یک ابزار نظارت گرافیکی است و آمار را در مرورگر وب نمایش میدهد، بنابراین شما باید یک وب سرور به همراه پایگاه داده و سایر ماژول ها را نصب کنید. برای این کار، شما باید یک سرور LAMP نصب کنید. دستورات زیر را اجرا کنید.
sudo apt install apache2 libapache2-mod-php mysql-server mysql-client -y
سپس PHP و ماژولهای آن را نصب کنید.
sudo apt install php php-mbstring php-gd php-xml php-bcmath php-ldap php-mysql
به مسیر زیر رفته و date.timezone را از حالت کامنت خارج کنید.
/etc/php/7.2/apache2/php.ini
قبل از نصب ابزار Zabbix لازم است مخزن های آن را به سیستم خود اضافه کنید.
در ابتدا باید فایل zabbix.deb را دانلود کنید و سپس آن را نصب کنید.
به مسیر زیر رفته و دستورات را اجرا کنید.
cd /opt
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
sudo dpkg -i zabbix-release_3.4-1+bionic_all.deb
حال باید فرانت اند مربوط به Zabbix را به همراه پایگاه داده برای آن نصب کنید.
sudo apt install zabbix-server-mysql zabbix-frontend-php
پس از نصب Zabbix-server اکنون باید Zabbix-agent را نصب کنید.
sudo apt install zabbix-agent
طبق دستور زیر در فایل zabbix_agented.conf قسمت مربوط به hostname را تغییر دهید.
sudo nano /etc/zabbix/zabbix_agentd.conf
نصب و راه اندازی یک پایگاه داده برای Zabbix
برای Zabbix به یک پایگاه داده نیازمند هستید. با کاربر root وارد MySQL شده و دستورات زیر را اجرا کنید.
mysql -u root -p#
Mysql> create database zabbix character set utf8 collate utf8_bin
grant all privileges on zabbix.* to zabbix@localhost identified by ‘your_password
flush privileges
quit
دستور زیر را برای راه اندازی و وارد کردن دادهها به پایگاه داده ابزار Zabbix اجرا کنید. برای این کار ما از zcat استفاده میکنیم؛ زیرا دادههای فایل به صورت فشرده شده هستند.
cd /usr/share/doc/zabbix-server-mysql
zcat create.sql.gz | mysql -u root -p zabbixdb
به مسیر زیر بروید و تغییراتی در فایل Zabbix_server.conf اعمال نمایید.
/etc/zabbix/
DBHost=localhost
DBName=zabbixdb
DBUser=zabbix
DBPassword=zabbix_password
اکنون مراحل نصب اولیه به اتمام میرسد.
آغاز به کار
مرورگر را باز کنید. حال یکی از دو URL زیر را در مرورگر خود وارد کنید:
یا
در اینجا تمامی تنظیماتی که مربوط به php هستند را مشاهده میکنیم.
اکنون باید اطلاعات مربوط به پایگاه داده را برای شروع نرم افزار Zabbix وارد کنید.
در انتها نیز خلاصهای از تمامی تنظیماتی که در مراحل قبلی اعمال کردید برای شما به نمایش در میآید.
اکنون مراحل نصب با موفقیت به اتمام میرسد.
پس از اتمام میتوانید وارد داشبورد برنامه شوید و تنظیمات دلخواه خود را اعمال کنید.
در تصویر زیر نمایهای از داشبورد Zabbix Server را مشاهده میکنید.
در آموزشهای بعدی پیکربندیهای حرفهای تری را بایکدیگر خواهیم آموخت. به عنوان مثال، اگر میخواهید با نحوه اتصال هاستهای مختلف به Zabbix Server آشنا شوید میتوانید به این مقاله در سایت ما مراجعه کنید.
همچنین برای کسب اطلاعات بیشتر میتوانید به سراغ این سایت بروید.
جمع بندی
Zabbix Server یک ابزار نظارتی منبع باز کلاس سازمانی است. Zabbix نرم افزاری است که پارامترهای متعدد یک شبکه و سلامت و یکپارچگی سرورها را کنترل می کند. این ابزار از یک مکانیسم اعلان انعطاف پذیر استفاده میکند که به کاربران اجازه میدهد تا هشدارهای مبتنی بر ایمیل را برای تقریباً هر رویدادی پیکربندی کنند.
همچنین در این مقاله با یکدیگر آموختیم که چگونه Zabbix Server را نصب و راه اندازی کنیم. امیدواریم که این مطلب برای شما مفید بوده باشد.
بی صبرانه منتظر نظرات، انتقادات، پیشنهادات و پرسشهای شما هستیم.