نصب و راه اندازی Zabbix بر روی Ubuntu18.04
مقدمه
زبیکس یکی از محبوب ترین نرم افزارهای منبع-باز مانیتورینگ است. زبیکس پارامترهای دستگاههای شبکه، سیستم ها و برنامه های شما را جمع آوریکرده و از فعال بودن و عملکرد آنها اطمینان حاصل میکند. در صورت بروز هرگونه مشکل، زبیکس اعلانهای هشدار را از روشهای مختلف ارسال میکند. زبیکس را میتوان برای مانیتورینگ با agent و بدون agent مستقر کرد. agent زبیکس میتواند بر روی سیستم عاملهای مختلف اجرا شود، از جمله Linux, UNIX, macOS و Windows. در این راهنما نحوه نصب و راه اندازی Zabbix بر روی Ubuntu18.04 با استفاده از MySQL به عنوان پشتیبانی پایگاهداده ارائه شدهاست. همچنین نحوه نصب Zabbix agent را بر روی host از راهدور نشان میدهیم و host را به سرور زبیکس اضافه میکنیم.
پیش نیازها
قبل از ادامهی کار مطمئن شوید به عنوان کاربر با دسترسیهای sudo وارد سیستم شدهاید.
ایجاد پایگاهداده MySQL
زبیکس MySQL/MariaDB و هم PostgreSQL را ساپورت میکند. در این راهنما، از MySQL به عنوان پشتیبانی پایگاهداده استفاده میکنیم.
اگر از قبلMySQL را روی سرور Ubuntu نصبشده ندارید با استفاده از دستورالعملهای موجود آن را نصب کنید.
با تایپ دستور زیر وارد MySQL shell شوید:
$ sudo mysql
از داخل MySQL shell با اجرای دستور زیر یک پایگاه داده جدید ایجاد کنید.
mysql> CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;
سپس یک حساب کاربر MySQL بسازید و به آن اجازه دسترسی به پایگاهداده را بدهید:
Mysql> GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';
به جای قسمت change-with-strong-password یک رمز عبور قوی قرار دهید.
پس از انجام این کار، از کنسول MySQL خارج شوید:
Mysql> EXIT;
نصب زبیکس بر روی اوبونتو
در زمان نوشته شدن این مقاله جدیدترین نسخهی موجود زبیکس نسخه ی 4.0 است. پکیجهای زبیکس موجود درمنابع اوبونتو معمولا نسخههای قدیمی هستند، بنابراین ما از منابع رسمی زبیکس استفاده میکنیم.
1-نصب زبیکس
جدیدترین نسخه منبع زبیکس پکیج .deb را با دستور wget دانلود کنید:
$ wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
هنگامی که فایل دانلود شد برای قرار دادن منبع زبیکس روی سیستم Ubuntu 18.04 خود نوشته زیر را تایپ کنید:
$ sudo apt install ./zabbix-release_4.0-2+bionic_all.deb
فهرست پکیج را آپدیت و Zabbix server،Web frontened با پشتیبانی پایگاهداده، Zabbix agent را نصب کنید:
$ sudo apt update
$ sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
دستور بالا Apache، PHP و تمام ماژولهای مورد نیاز PHP را نیز نصب میکند.
2-پیکربندی PHP برای frontend Zabbix
در طول نصب، یک فایل پیکربندی Apache درست میشود که شامل تمام تنظیمات مورد نیاز Apache و PHP است. فقط لازم است شما تغییرات کوچکی انجام دهید و منطقهی زمانی مناسب را تنظیم کنید.
فایل پیکربندی را باز کنید خط موقعیت زمانی را تغییر داده و تبدیل به موقعیت زمانی خودتان بکنید. (برای اطلاعات بیشتر در زمینهی موقعیت زمانی در PHP بر روی کلمهی لینک کنید.)
/etc/apache2/conf-enabled/zabbix.conf
...
<IfModule mod_php7.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 Iran/Tehran
</IfModule>
...
پس از انجام کار، فایل پیکربندی را ذخیره کنید و سرویس Apache را restart کنید تا تغییرات اثر کنند:
3-پیکربندی پایگاهداده MySQL برای سرور زبیکس
پکیج نصب زبیکس یک فایل dump که شامل یک ساختار اولیه و داده برای سرور زبیکس با MySQL است.
Dump فایل Mysqlرا به صورت زیر وارد کنید:
$ zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
بعد از فعال شدن، رمز کاربری که قبلا ایجاد کردهاید را وارد کنید.(در صورت موفقیت آمیز بودن، خروجیای نشان داده نمیشود.)
سپس باید پیکربندی زبیکس را ویرایش کرده و رمزعبور پایگاهداده را تنظیم کنید. فایل پیکربندی را در ویرایشگر خود باز کنید.
$ sudo nano /etc/zabbix/zabbix_server.conf
بخش زیر را جستجو کنید، بخش DBPassword را uncomment کنید و رمز عبور پایگاهداده را اضافه کنید.
/etc/zabbix/zabbix_server.conf
...
### Option: DBPassword
# Database password.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password
...
فایل را ذخیره کرده و ببنید.
سرور زبیکس و سرویسهای agents را restart کنید و به آنها دستور دهید که در هنگام system boot شدن شروع به کار کردن کنند:
$ sudo systemctl restart zabbix-server zabbix-agent
$ sudo systemctl enable zabbix-server zabbix-agent
برای چک کردن فعال بودن سرور زبیکس دستور زیر را تایپ کنید:
$ sudo systemctl status zabbix-server
خروجی مشابه زیر را خواهید دید:
zabbix-server.service - Zabbix Server
Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-11-29 03:30:44 PST; 43s ago
Main PID: 14293 (zabbix_server)
Tasks: 34 (limit: 2319)
CGroup: /system.slice/zabbix-server.service
...
نصب و پیکربندی frontend زبیکس
رابط شبکه زبیکس با PHP نوشته شده و اجازه میدهد سرور را پیکربندی کرده، دادهی جمعآوری شده را مشاهده کنید و host هایی که قصد مانیتورینگ آنها را دارید را اضافه کنید.
قبل از شروع استفاده از رابط شبکه باید آن را نصب کنیم.
مرورگر مورد استفادهی خود را باز کنید و نام domain یا public IP address آن را با /zabbix
در ادامه دستور تایپ کنید:
http(s)://your_domain_or_ip_address/zabbix
در صفحهی اول با یک پیغام خوشآمدگویی مواجه میشوید. روی Next step کلیک کرده و ادامه دهید.
سپس اطلاعات زیر را میبینید که تمام پیش نیازهای PHP برای اجرای frontend زبیکس لازم است را لیست میکند.
تمام مقادیر این جدول باید OK شوند، پایین بروید تا تنظیم بودن همه چیز را تایید کنید. پس از تایید برای ادامه روی Next step کلیک کنید.
در صفحهی بعد setup wizard از شما خواستار وارد کردن اطلاعات اتصال پایگاهداده خود میباشد. اطلاعات پایگاهداده و کاربر MySQL را که قبلا ایجاد کردید را وارد کنید.
انتخاب نام برای سرور انتخابی است. اگر بیش از یک سرور مانیتورینگ زبیکس دارید نام سرور زبیکس مورد نظر را انتخاب کنید. در صورت تعیین در نوار منو و عناوین صفحهها نمایش داده میشود.
برای ادامه روی Next step بزنید .
در صفحهی بعد خلاصه اطلاعات پیش-نصب به شما نمایش داده میشود.
روی Next step را کلیک کرده پس از تکمیل نصب به صفحهای که به شما اطلاع میدهد رابط شبکهی زبیکس نصب شده برده می شوید. برای اینکه به صفحهی login زبیکس خود دسترسی پیدا کنید روی گزینهی Finish کلیک کنید.
کاربر
به طور پیش فرض “Admin” و پسورد “zabbix”است.username و password را وارد کنید و Sign in
را بزنید.
هنگامی که وارد سیستم میشوید به داشبورد مدیریت میروید.
از اینجا میتوانید شروع کنید به شخصی سازی نصب زبیکس و افزودنhost های جدید. اولین اقدام شما باید تغییر رمز عبور فعلی باشد. برای این کار با کلیک روی آیکون پروفایل در بالای صفحه، به صفحهی پروفایل کاربر بروید.
افزودن host جدید به سرور زبیکس
پروسهی افزودن host جدید برای نظارت به سرور زبیکس شامل دو مرحله است.
نخست شما باید agent زبیکس را روی host از راهدور نصب کنید و سپس host را از طریق رابط شبکه وارد سرور زبیکس کنید.
نصب agent زبیکس
$ wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
$ sudo apt install ./zabbix-release_4.0-2+bionic_all.deb
پکیج را update کنید و agent زبیکس را نصب کنید.
$ sudo apt update
$ sudo apt install zabbix-agent
همانند نصب سرور زبیکس، دستورهای زیر را برای فعال کردن Zabbix repository اجرا کنید :
زبیکس دو روش را برای رمزگذاری ارتباط server-client پشتیبانی میکند، Preshared Key (PSK) و certificate-based encryption.
در این راهنما ما از Preshared Key (PSK) برای امنیت ارتباط بین سرور و agentاستفاده میکنیم.
از دستور زیر برای ایجاد یک Preshared Key استفاده کنید و آن را در فایلی ذخیره کنید:
$ openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk
کلید PSK چیزی همانند زیر خواهد بود:
output
fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6
فایل پیکربندی agent زبیکس را باز کنید:
$ sudo nano /etc/zabbix/zabbix_agentd.conf
آدرس آی پی سرور را بیابید و از مقدار پیش فرض به آی پی سرور زبیکس خود تغییر دهید:
/etc/zabbix/zabbix_agentd.conf
...
### Option: Server
# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
# and '::/0' will allow any IPv4 or IPv6 address.
# '0.0.0.0/0' can be used to allow any IPv4 address.
# Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=
Server=127.0.0.1
...
سپس گزینهی TSLConnect
را پیدا کنید،
آن راuncomment کنید و روی psk تنظیم کنید:
/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSConnect
# How the agent should connect to server or proxy. Used for active checks.
# Only one value can be specified:
# unencrypted - connect without encryption
# psk - connect using TLS and a pre-shared key
# cert - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSConnect=psk
...
گزینهی TLSAccept
را پیدا کنید،uncomment کنید و آن را روی psk
تنظیم کنید:
/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSAccept
# What incoming connections to accept.
# Multiple values can be specified, separated by comma:
# unencrypted - accept connections without encryption
# psk - accept connections secured with TLS and a pre-shared key
# cert - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSAccept=psk
...
حال گزینهی TLSPSKIdentity را پیدا کرده،uncomment کنید و روی PSK 001
تنظیم کنید. مقدار آن باید string
منحصر به فردی باشد:
/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSPSKIdentity
# Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...
در نهایت، گزینهی TLSPSKFile را بیابید، uncomment کنید و آن را بر فایل pre-shared key که در مراحل قبل ایجاد کردید، تنظیم کنید:
/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSPSKFile
# Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...
سپس فایل را ذخیره کرده و ببندید.
سرویس agent زبیکس را start کنید و تنظیم کنید که در زمان boot آغاز شود:
$ sudo systemctl start zabbix-agent
$ sudo systemctl enable zabbix-agent
سپس باید قانون فایروالی تعیین کنید که ترافیک را از سرور زبیکس شما بر روی پورت10050 TCP فعال کند.
با فرض اینکه ازUFW
برای مدیریت فایروال خود استفاده میکنید و میخواهید اجازهی
دسترسی از آدرس IP 192.168.121.70 را بدهید باید دستور
زیر را اجرا کنید:
$ sudo ufw allow proto tcp from 192.168.121.70 to any port 10050
ثبت host جدید
حال که agent بر روی host از راهدور که قصد مانیتورینگ آن را دارید نصب و پیکربندی شده، مرحلهی بعدی ثبت host در سرور زبیکس است.
در رابط شبکهی سرور زبیکس به عنوان کاربر admin وارد سیستم شوید:
http(s)://your_domain_or_ip_address/zabbix
پس از ورود، در نوار منوی بالایی روی Configuration و سپس Hosts کلیک کنید.
سپس روی گزینهی Create host آبی رنگ در گوشه بالا سمت راست کلیک کنید تا صفحهی راهاندازی host باز شود:
نام host و آدرس IP ماشین HOST راه دوری که قرار است مانیتور کنید را وارد کنید. host را در یک یا چند گروه با انتخاب آن گروهها از لیست اضافه کنید، و یا یک گروه جدید با وارد کردن یک نام ایجاد کنید. گروه Linux Servers انتخاب خوبی است.
پس از انجام این کار، روی نوار Templatesکلیک کنید. Template OS Linux را انتخاب کنید و روی Add کلیک کنید تا template را به host اضافه کنید
سپس روی نوار Encryption کلیک کنید. برای Connections to host و Connections from host PSK را انتخاب کنید.
مقدارPSK identity را به PSK 001 تنظیم کنید، مقدار گزینهی TLSPSKIdentity agent زبیکس که در مرحلهی قبل راهاندازی کردید..
در PSK value ثبت شده کلید ساخته شده برای agent زبیکس که در فایل /etc/zabbix/zabbix_agentd.psk دخیره شده را وارد کنید.
در نهایت برای افزودن host روی گزینهی آبی رنگ Add کلیک کنید.
نتیجه گیری
شما با موفقیت آخرین نسخهی زبیکس را روی سیستم اوبونتو خود نصب کردهاید و یادگرفتهاید چگونه host های جدید که قصد مانیتورینگ آنها را دارید اضافه کنید.
حال باید Zabbix Documentation را چک کنید و دربارهی پیکربندی و استفاده از زبیکس بیشتر بیاموزید.
در این مقاله سعی بر آن شد تا نحوه نصب و راه اندازی Zabbix بر روی Ubuntu18.04 را به طور کامل مورد بررسی قرار دهیم. شما میتوانید در قسمت مقالات سایت سدیدآفرین از آخرین مقالات دنیای مانیتورینگ و زبیکس مطلع شوید.