سیستم مانیتورینگZabbix

معرفی و آموزش نصب Zabbix Server

معرفی Zabbix

Zabbix یک نرم افزار قدرتمند در زمینه مانیتورینگ و جمع آوری اطلاعات در شبکه می‌باشد. با استفاده از این نرم افزار می‌توانید بصورت Real-Time بیش از ۱۰ هزار سرور، ماشین مجازی و دیگر سخت افزار های شبکه ای را هم زمان مانیتور کنید. Zabbix در کنار جمع آوری اطلاعات، با استفاده از یک رابط کاربری مناسب انواع Graph ها و Map ها را در اختیار شما قرار می‌دهد تا به بهترین شکل تمامی سخت افزار های مورد نظر را زیر نظر داشته باشید.کارایی بسیار قدرتمند این ابزار در جمع آوری اطلاعات و آنالیز، آن را برای سازمان های بزرگ مناسب می‌سازد. مانیتورینگ توضیع شده نیز با استفاده از Zabbix Proxies امکانپذیر می‌باشد.
این نرم افزار با یک رابط کاربری تحت وب ارائه شده است که این محیط برای ورود با اعتبار سنجی امن شده است. در این محیط می‌توانید کاربرانی با سطوح دسترسی مختلف ایجاد نمایید. جمع آوری اطلاعات با استفاده از نصب Agent در سیستم میزبان انجام می‌شود، البته متد Agent-Less نیز در این نرم افزار فراهم بوده و میتوان بدون Agent نیز سرور و سخت افزار ها را مانیتور کرد. Zabbix میتواند بصورت اتوماتیک تمامی سخت افزار های شبکه را شناسایی کند. با استفاده از امکان Network Discovery میتواند بصورت اتوماتیک تمامی سخت افزار های درون شبکه را شناسایی و در صورت تمایل آن را مانیتور نمایید.

مزایای استفاده از Zabbix

  • این نرم افزار بصورت رایگان و Open-source در اختیار عموم قرار گرفته است که این مورد هزینه های تمام شده شرکت ها را کاهش می‌دهد. البته توجه داشته باشید zabbix برای نصب نیاز به کامپوننت هایی نظیر Linux, apache, MySQL و PHP دارد.
  • نصب و استفاده از این ابزار بسیار آسان بوده که هزینه های مربوط به آموزش سازمان را کاهش می‌دهد. شما می‌توانید با چند جستجو کوتاه و یا مطالعه Document مربوط به این نرم افزار، Zabbix را بصورت عملیاتی مورد استفاده قرار دهید.
  • Zabbix برای پلتفرم های پایه ویندوز و یونیکس Agent ارائه کرده است که این Agent ها باعث افزایش سرعت مانیتور و افزایش کارایی و امکانات خواهند شد.
  • یک سیستم مانیتورینگ مرکزی پیشرفته با ذخیره اطلاعات در دیتابیس این امکان را خواهد داشت تا تمامی اطلاعات را ذخیره کند. به همین دلیل هنگامی که به این اطلاعات نیاز پیدا کردید تمامی اطلاعات در دسترس شما قرار خواهد داشت.

تنها پس از نصب این نرم افزار به قدرت آن پی خواهید برد. برای مانیتور سنسور های مختلفی در سیستم تعریف شده است. برای مثال با استفاده از Agent میتوان میزان مصرف دیتابیس، وضعیت میزان فضای دیسک ، میزان مصرف رم و سی پی یو بصورت Real -Time و… را برسی و مانیتور نمایید. علاوه بر این میتوان کد های بازگشتی از وب سایت ها را نیز تحت نظر داشت. به عنوان مثال کد ۲۰۰ به این معناست که وب سایت بدون مشکل در دسترس است. ممکن است زمانی سرور در دسترس باشد اما سایت با با مشکل مواجه باشد.

آموزش نصب نرم افزار مانیتورینگ Zabbix بر روی لینوکس Centos

با استفاده از این آموزش می‌توانید Zabbix را بر روی سرور اختصاصی و یا سرور مجازی که سیستم عامل آن CentOS است نصب نمایید. البته برای تست می‌توانید با استفاده از یک VM نیز نصب را انجام دهید. برای مانیتورینگ زیرساخت نیز پیشنهاد می‌شود Zabbix را بر روی یک سرور مجازی نصب و پیکربندی نمایید.

پیش نیازها:

برای نصب Zabbix نیاز به برخی پیش‌نیاز های نرم افزاری و زیر ساخت می‌باشد. برای نصب و پیاده سازی Zabbix باید این موارد را در ابتدا فراهم نمایید.

  • یک سرور اختصاصی یا سرور مجازی که سیستم عامل CentOS بر روی آن نصب شده است و دارای IP می‌باشد.
  • بر روی سرور LAMP (apache,php,mysql) نصب شده باشد. برای این مورد می‌توانید از آموزش نصب Lamp استفاده نمایید.
  • Selinux را در سرور بر روی حالت Disable قرار داده و سرور را ریبوت نمایید.

نکته

  • Zabbix برای سرویس دهی به کاربر از وب سرور آپاچی و برای ذخیره اطلاعات از دیتابیس استفاده می‌کند. این نرم افزار از دیتابیس های Mysql, PostgreSQL و Oracle پشتیبانی می‌کند. در این آموزش نیز از دیتابیس mysql استفاده شده است.

مرحله اول – نصب Zabbix Server

در این مرحله لازم است با استفاده از یوز root یا کاربری که دسترسی سطح root دارد نصب را انجام دهید. پکیج مربوط به Zabbix بصورت پیشفرض برای package manager در دسترس نمی‌باشد، برای این مورد با استفاده از putty به سرور متصل شده و برای دانلود پکیج مربوط به Zabbix دستور زیر را در محیط command line وارد نمایید.

rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

خروجی دستور:

Retrieving https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.WXsYNB: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing… ################################# [۱۰۰%]
Updating / installing…
۱:zabbix-release-4.2-1.el7 ################################# [100%]

پس از دانلود ابتدا کش مربوط به yum را حذف نمایید:

yum clean all

برای نصب کافی است دستور زیر را وارد نمایید تا Zabbix server به همراه درایور mysql نصب شود:

yum install zabbix-server-mysql zabbix-web-mysql

مرحله دوم – کانفیگ دیتابیس برای zabbix

برای راه اندازی Zabbix نیاز است تا تنظیمات مربوط به دیتابیس نیز انجام شود. برای ساخت دیتابیس نیاز است تا ابتدا وارد محیط CLI دیتابیس شوید.

برای ورود در صورتی که در زمان نصب mysql برای کاربر root دیتابیس کلمه عبور تعیین نکرده باشید کافیست دستور زیر را در محیط command line وارد نمایید:

mysql

در صورتی که برای یوزر root دیتابیس کلمه عبور قرار داده اید می‌توانید از دستور زیر استفاده نماید:

mysql -uroot -p

پس از ورود به محیط CLI دیتابیس برای ایجاد دیتابیس با پشتیبانی UTF-8 دستور زیر را وارد نمایید:

create database zabbix character set utf8 collate utf8_bin;

برای نصب و اتصال Zabbix به دیتابیس نیاز است تا یک کاربر برای آن ایجاد شده و دسترسی های لازم به دیتابیس ایجاد شود. برای این مورد دستور زیر را وارد نمایید:

grant all privileges on zabbix.* to zabbix@localhost identified by ‘your_zabbix_mysql_password‘;

در دستور بالا Zabbix نام یوزر دیتابیس می‌باشد. کلمه عبور مورد نظر خود را می‌توانید بجای متن your_zabbix_mysql_password وارد نمایید.(کلمه عبور کاربر zabbix در مراحل بعد مورد استفاده قرار خواهد گرفت، کلمه عبور را به خاطر سپرده و یا آن را در جایی ذخیره نمایید)

برای اعمال دسترسی های داده شده به یوزر Zabbix دستور زیر را وارد نمایید:

flush privileges;

سپس از محیط CLI دیتابیس خارج شوید:

quit;

پس از ایجاد دیتابیس و یوزر دیتابیس باید schema و Data مربوط به Zabbix در دیتابیس ایجاد شده import شود. برای ایجاد این مورد دستور زیر را در محیط command line وارد نمایید:

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

پس از ورود این دستور کلمه عبور مربوط به یوزر دیتابیس zabbix که در مراحل قبل ایجاد شده است از شما خواسته می‌شود که باید آن را وارد نمایید. در این مرحله دیتابیس و schema آن، در دیتابیس zabbix وارد خواهد شد. (در صورت دریافت ارور متن آن را در کامنت ارسال نمایید تا مورد برسی شود)

برای استفاده Zabbix از دیتابیس نیاز است تا تنظیمات اتصال به دیتابیس انجام شود. برای انجام تنظیمات با استفاده از دستور زیر فایل zabbix_server.conf را در ویرایشگر باز کنید:

vi /etc/zabbix/zabbix_server.conf

برای اعمال تنظیمات بلاک مربوط به تنظیمات دیتابیس را جستجو نمایید:

### Option: DBPassword
# Database password. Ignored for SQLite.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=
…

سپس با حذف کاراکتر # از کنار متغیر DBPassword= آن را از حالت کامنت خارج نمایید و کلمه عبور دیتابیس zabbix را جلوی آن وارد نمایید:

DBPassword=your_zabbix_mysql_password

پس از اعمال تغییرات فایل را ذخیره و از آن خارج شوید.

مرحله سوم – کانفیگ PHP برای Zabbix

برای استفاده از محیط کاربری تحت وب Zabbix یا همان zabbix web interface نیاز است تا تنظیمات خاصی برای php و apache انجام شود. این موارد در هنگام نصب Zabbix انجام می‌شود. در این مرحله کافیست time zone را با توجه به نیاز خود برای Zabbix انجام دهید. برای انجام این مورد کافیست با استفاده از ادیتور متنی فایل zabbix.conf را باز کرده و time zone مورد نظر را وارد نمایید (در صورتی که در ابتدا خط مشخص شده کاراکتر # قرار دارد ان را حذف نمایید):

vi /etc/httpd/conf.d/zabbix.conf

فایل را مشابه متن پایین تغییر دهید:

<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Tehran
</IfModule>

پس از انجام تغییرات فایل را ذخیره و از آن خارج شوید، برای اعمال تغییرات وب سرور apache را ریستارت نمایید:

systemctl restart httpd

حال زمان آن رسیده است تا سرویس Zabbix را start کنید. برای این مورد دستورات زیر را وارد نمایید:

systemctl start zabbix-server
systemctl enable zabbix-server

برای بررسی وضعیت سرویس دستور زیر را وارد نمایید:

systemctl status zabbix-server

خروجی دستور:

● zabbix-server.service – Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2019-05-03 05:57:29 UTC; 2s ago
Process: 4461 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
…

در صورتی که خروجی دستور مانند متن بالا است سرویس شما بدون مشکل نصب و راه اندازی شده است.

مرحله چهارم – راه اندازی و تنظیمات محیط تحت وب یا zabbix web interface

در این مرحله باید تنظیمات اولیه برای محیط تحت وب Zabbix انجام شود. برای این مورد کافیست با استفاده از ادرس http://zabbix_server_IP/zabbix وارد محیط وب شوید. بجای zabbix_server_IP آدرس IP سرور خود را وارد نمایید. پس از وارد کردن آدرس ذکر شده باید صفحه مربوط به برسی ملزومات اولیه Zabbix را مشاهده نمایید:

در صورتی که تمامی وضعیت ها OK بود بر روی Next Step کلیک کنید. در صفحه بعد تنظیمات مربوط به دیتابیس مشاهده می‌شود. در این مرحله باید اطلاعات مربوط به دیتابیس را وارد نمایید. کافیست در جای Database Name و User نام zabbix وارد نمایید و در جای مربوط به Password نیز کلمه عبوری که در هنگام ساخت دیتابیس انتخاب کرده اید را وارد نمایید.

پس از ورود اطلاعات بر روی Next Step کلیک کنید. در صفحه بعد نیز اطلاعات Zabbix Server را مشاهده می‌کنید. می‌توانید از اطلاعات پیشفرض استفاده نمایید و جای Name را نیز خالی رها کنید و بر روی Next Step کلیک کنید.

در صفحه بعد اطلاعات وارد شده بصورت خلاصه نمایش داده خواهد شد. میتوانید اطلاعات وارد شده را بررسی و در صورت تایید بر روی Next Step کلیک کنید تا نصب انجام شود.

تمامی تنظیمات مربوط به محیط تحت وب انجام شده است. این تنظیمات بر روی فایل / etc/zabbix/web/zabbix.conf.php انجام شده است. در صورت نیاز می‌توانید این تنظیمات را در آینده ویرایش نمایید.برای ورود از یوزر نیم Admin پسوورد zabbix استفاده نمایید. این اطلاعات پیشفرض بوده و پس از ورود می‌توانید ان را تغییر دهید تا از ورود های غیر مجازی جلوگیری به عمل آورید. نصب zabbix تمام شده است. وارد پنل کاربری شده و آن را برسی نمایید. در آینده نحوه نصب Zabbix Agent برای مانیتورینگ سرور های ویندوزی و لینوکسی آموزش داده خواهد شد.

سعید یاوری

فعال در حوزه شبکه و امنیت DevSecOps

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا