زبیکس (Zabbix) یک نرم افزارopen source برای مانیتورینگ شبکه میباشد و برای monitor کردن تجهیزات IT و زیر ساخت شبکه مورد استفاده قرار می گیرد. در این مقاله ما قصد داریم آموزش نصب Zabbix 3.2 در CentOS 7 / RedHat 7 را به شما آموزش دهیم. برای راه اندازی زبیکس ما به یک وب سرور Apache به همراه یک Database Server (همانند MySQL, MariaDB, PostgreSQL و ...) و همچنین PHP نیاز داریم.
همچنین توصیه میشود مطالعه کنید :
آموزش نصب آخرین ورژن مانیتورینگ زبیکس
آموزش نصب Zabbix Server 3.2 بر روی اوبونتو 16.04
ارسال آلارم ها و خطاهای زبیکس به کانال تلگرام (Information, Warning, Avarage, High, Disaster)
آموزش نصب و کانفیگ Agent زبیکس در ویندوز
آموزش نصب و راه اندازی Agent زبیکس در لینوکس
ارسال ایمیل های هشدار زبیکس به اکانت Gmail
Zabbix چیست و چه قابلیت هایی دارد؟
تجهیزات مورد نیاز :
قبل از شروع ما نیاز داریم که LAMP Stack را روی سرورمان نصب کنیم :
سرور Apache و mysql را فعال و start میکنیم :
دستور mysql_secure_installation برای شما امکان امن کردن MySQL تان را با انجام تنظیمات مهمی مانند تعریف پسورد root - حذف کاربران ناشناخته (anonymous users) و حذف Login یوزر root و غیره ممکن میسازد.
مرحله اول : نصب Zabbix Server به همراه MySQL
قبل از شروع نصب احتیاج هست که ما ریپازیتوری زبیکس را با استفاده از دستور زیر فعال کنیم.
اکنون سیستم آماده برای نصب زبیکس می باشد. از دستور زیر برای نصب Zabbix و پکیج های مورد نیاز استفاده کنید :
مرحله دوم : ویرایش Timezone فایل PHP
فایل zabbix.conf را از مسیر زیر و با استفاده از ادیتور مورد علاقه خود باز کنید :
بعد از باز کردن فایل بالا قسمت "date.timezone" را uncomment کنید و بعد از آن timezone مربوط به منطقه زمانی خود را وارد کنید. (در اینجا با توجه به اینکه ما در آسیا و تهران هستیم منطقه زمانی روی Asia/Tehran تنظیم شده است)
بعد از ویرایش :
تغییرات را ذخیره کرده و فراموش نکنید که سرویس httpd را با استفاده از دستور زیر reload کنید.
مرحله سوم : انجام تنظیمات اولیه دیتابیس Zabbix و ایجاد دیتابیس مورد نیاز
در ابتدا ما نیاز داریم یک دیتابیس (zabbixdb) و یک یوزر (zabbixuser) برای زبیکس ایجاد کنیم.
در دستور بالا پسورد واقعی root خود را بجای <root_password> جایگزین کنید (بطور مثال : mysql -uroot -p12345678) و همچنین به جای <password> در خط آخر ، پسورد جدید یوزر zabbix روی دیتابیس را جایگزین نمایید. دقت کنید پسورد را در آپوستروف '' قرار دهید:
سپس ساختار و دیتای اولیه را باید import کنیم. از وارد کردن ورژن درست در دستور زیر مطمین شوید. ( در اینجا 3.2.4)
اینجا سیستم از شما میخواهد پسوردی که جدیدا برای یوزر zabbix در بالا ایجاد کردید را وارد کنید. (در اینجا 123456)
بمنظور بررسی کردن ورژن پکیج از دستور زیر استفاده کنید:
تنظیمات database در سرور zabbix
اکنون ما نیاز داریم که تنظیمات دیتابیس را از طریق فایل zabbix_server.conf و از مسیر زیر انجام دهیم.
همانند زیرhost name ،user و password را در فایل zabbix_server.conf ویرایش کنید. دقت کنید برای <password> از پسوردی که در مرحله ی ایجاد دیتابیس ساختید استفاده کنید. (در اینجا 123456)
نکته : دقت کنید که DBHost و DBPassword بصورت پیش فرض کامنت هستند و شما باید آنها را از کامنت خارج کنید و همانند بالا تعریف نمایید.
مرحله چهارم : تنظیم SELinux و Firewall
در صورتی که به selinux و Firewall رو سیستمتان نیاز ندارید می توانید به سادگی و با استفاده از دستورات زیر آنها را غیر فعال کنید:
غیر فعال کردن selinux :
و در فایل بالا SELINUX=enforcing را به SELINUX=disabled تغییر داده و تغییرات را ذخیره می کنیم :
نکته : دقت کنید بعد از غیر فعال کردن selinux برای اعمال تغییرات باید سرور را یکبار reboot کنید.
غیر فعال کردن firewall :
برای غیر فعال کردن فایروال از دستورات زیر استفاده کنید.
تنظیمات فایروال در صورتی که فعال باشد :
در غیر اینصورت باید تنظیمات زیر را به منظور امکان دسترسی به زبیکس ، در فایروال و .. انجام دهید :
بعد از تنظیم کردن Selinux و تنظیمات firewall ما احتیاج داریم سرویس Zabbix را فعال و Start کنیم. برای این کار از دستورات زیر استفاده کنید.
نکته : اگر به هنگام start کردن سرور زبیکس به Error زیر برخوردین دقت کنید که تنظیمات selinux و فایروال را به درستی انجام داده باشید و یا با استفاده از دستوراتی که مطرح شد selinux و فایروال را غیرفعال کنید. (فراموش نکنید بعد از غیرفعال کردن selinux سیستم را reboot کنید) :
مرحله پنجم : تنظیمات zabbix از طریق کنسول وب
در مرورگر خود آدرس http://<server_ip_or_name>/zabbix را وارد کنید. شما باید صفحه اول نصب کنسول وب زبیکس را مشاهده کنید.
روی دکمه Next step کلیک کنید.
در این مرحله مطمئن شوید تمام نرم افزارها و پیش نیازها OK باشد:
پیش نیازهای اختیاری هم ممکن است در لیست موجود باشد. اگر مشکلی در پیش نیازهای اختیاری باشد به رنگ نارنجی و به همراه یک وضعیت هشدار نمایش داده میشود. شما میتوانید ادامه نصب را بدون پیش نیازهای اختیاری هم انجام دهید.
در مرحله ی بعد اطلاعات و توضیحات مربوط به دیتابیس را در این بخش وارد کنید. دقت کنید که دیتابیس زبیکس موجود و ساخته شده باشد :
در بخش بعد اطلاعات و جزئیات سرور زبیکس را وارد کنید و یک نام برای سرورتان انتخاب کنید :
خلاصه تنظیمات را در این صفحه مشاهده کنید :
و اکنون شما کنسول وب zabbix را با موفقیت نصب کردید :
اکنون با استفاده از یوزر (Admin) و پسورد (zabbix) پیش فرض زبیکس به آن لاگین میکنیم :
شما با موفقیت لاگین شدید و داشبورد کاربری Zabbix را مشاهده میکنید :
اولین کاری که باید انجام دهید فعال کردن مانیتورینگ برای خود Zabbix Server میباشد. برای این کار از منوی Configuration وارد تب Hosts شده و روی دکمه "Disabled" در هاست zabbix server کلیک کنید :
بعد از تایید مشاهده می کنید که هاست enabled خواهد شد :
نصب و راه اندازی مانیتورینگ زبیکس به پایان رسید.
همچنین توصیه میشود مطالعه کنید :
آموزش نصب آخرین ورژن مانیتورینگ زبیکس
آموزش نصب Zabbix Server 3.2 بر روی اوبونتو 16.04
ارسال آلارم ها و خطاهای زبیکس به کانال تلگرام (Information, Warning, Avarage, High, Disaster)
آموزش نصب و کانفیگ Agent زبیکس در ویندوز
آموزش نصب و راه اندازی Agent زبیکس در لینوکس
ارسال ایمیل های هشدار زبیکس به اکانت Gmail
Zabbix چیست و چه قابلیت هایی دارد؟
تجهیزات مورد نیاز :
کد:
[COLOR=#ff0000][FONT=Yekan][B]Hostname :[/B][/FONT][/COLOR][COLOR=#222222][FONT=Yekan] localhost[/FONT][/COLOR] [COLOR=#ff0000][FONT=Yekan][B]IP Adress :[/B][/FONT][/COLOR][COLOR=#222222][FONT=Yekan] 192.168.10.250[/FONT][/COLOR] [COLOR=#ff0000][FONT=Yekan][B]OS : [/B][/FONT][/COLOR][COLOR=#222222][FONT=Yekan]CentOS 7 / RHEL 7[/FONT][/COLOR]
قبل از شروع ما نیاز داریم که LAMP Stack را روی سرورمان نصب کنیم :
کد PHP:
[root@localhost ~]# yum update
[root@localhost~]# yum install httpd -y
[root@localhost ~]# yum install php php-cli php-common php-devel php-pear php-gd php-mbstring php-mysql php-xml -y
[root@localhost ~]# yum install mariadb-server -y
سرور Apache و mysql را فعال و start میکنیم :
کد PHP:
[root@localhost ~]# systemctl enable httpd && systemctl start httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@localhost ~]# systemctl enable mariadb && systemctl start mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
دستور mysql_secure_installation برای شما امکان امن کردن MySQL تان را با انجام تنظیمات مهمی مانند تعریف پسورد root - حذف کاربران ناشناخته (anonymous users) و حذف Login یوزر root و غیره ممکن میسازد.
کد PHP:
[root@localhost ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN
PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the currentpassword for the root user. If you've just installed
MariaDB, andyou haven't set the root password yet, the password will be blank,so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] Y
New password: Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
مرحله اول : نصب Zabbix Server به همراه MySQL
قبل از شروع نصب احتیاج هست که ما ریپازیتوری زبیکس را با استفاده از دستور زیر فعال کنیم.
کد PHP:
# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
کد PHP:
Retrieving http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.vI8K07: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing... ################################# [100%]
Updating / installing... 1:zabbix-release-3.2-1.el7 ################################# [100%]
اکنون سیستم آماده برای نصب زبیکس می باشد. از دستور زیر برای نصب Zabbix و پکیج های مورد نیاز استفاده کنید :
کد PHP:
[root@localhost ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get zabbix-sender zabbix-java-gateway -y
مرحله دوم : ویرایش Timezone فایل PHP
فایل zabbix.conf را از مسیر زیر و با استفاده از ادیتور مورد علاقه خود باز کنید :
کد PHP:
[root@localhost ~]# vi /etc/httpd/conf.d/zabbix.conf
بعد از باز کردن فایل بالا قسمت "date.timezone" را uncomment کنید و بعد از آن timezone مربوط به منطقه زمانی خود را وارد کنید. (در اینجا با توجه به اینکه ما در آسیا و تهران هستیم منطقه زمانی روی Asia/Tehran تنظیم شده است)
کد PHP:
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 always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga
بعد از ویرایش :
کد PHP:
php_value date.timezone Asia/Tehran
تغییرات را ذخیره کرده و فراموش نکنید که سرویس httpd را با استفاده از دستور زیر reload کنید.
کد PHP:
[root@localhost ~]# systemctl reload httpd
مرحله سوم : انجام تنظیمات اولیه دیتابیس Zabbix و ایجاد دیتابیس مورد نیاز
در ابتدا ما نیاز داریم یک دیتابیس (zabbixdb) و یک یوزر (zabbixuser) برای زبیکس ایجاد کنیم.
کد PHP:
shell> mysql -uroot -p<root_password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
mysql> quit
کد PHP:
[root@localhost ~]# mysql -uroot -p12345678
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.52-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
Bye
در دستور بالا پسورد واقعی root خود را بجای <root_password> جایگزین کنید (بطور مثال : mysql -uroot -p12345678) و همچنین به جای <password> در خط آخر ، پسورد جدید یوزر zabbix روی دیتابیس را جایگزین نمایید. دقت کنید پسورد را در آپوستروف '' قرار دهید:
کد PHP:
....identified by '123456';
سپس ساختار و دیتای اولیه را باید import کنیم. از وارد کردن ورژن درست در دستور زیر مطمین شوید. ( در اینجا 3.2.4)
اینجا سیستم از شما میخواهد پسوردی که جدیدا برای یوزر zabbix در بالا ایجاد کردید را وارد کنید. (در اینجا 123456)
کد PHP:
[root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql-3.2.4/create.sql.gz | mysql -uzabbix -p zabbix
بمنظور بررسی کردن ورژن پکیج از دستور زیر استفاده کنید:
کد PHP:
[root@localhost ~]# rpm -q zabbix-server-mysql
zabbix-server-mysql-3.2.4-2.el7.x86_64
تنظیمات database در سرور zabbix
اکنون ما نیاز داریم که تنظیمات دیتابیس را از طریق فایل zabbix_server.conf و از مسیر زیر انجام دهیم.
کد PHP:
[root@localhost ~]# vi /etc/zabbix/zabbix_server.conf
همانند زیرhost name ،user و password را در فایل zabbix_server.conf ویرایش کنید. دقت کنید برای <password> از پسوردی که در مرحله ی ایجاد دیتابیس ساختید استفاده کنید. (در اینجا 123456)
کد PHP:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>
نکته : دقت کنید که DBHost و DBPassword بصورت پیش فرض کامنت هستند و شما باید آنها را از کامنت خارج کنید و همانند بالا تعریف نمایید.
مرحله چهارم : تنظیم SELinux و Firewall
در صورتی که به selinux و Firewall رو سیستمتان نیاز ندارید می توانید به سادگی و با استفاده از دستورات زیر آنها را غیر فعال کنید:
غیر فعال کردن selinux :
کد PHP:
vi /etc/selinux/config
کد PHP:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
غیر فعال کردن firewall :
برای غیر فعال کردن فایروال از دستورات زیر استفاده کنید.
کد PHP:
systemctl disable firewalld
systemctl stop firewalld
در غیر اینصورت باید تنظیمات زیر را به منظور امکان دسترسی به زبیکس ، در فایروال و .. انجام دهید :
کد PHP:
[root@zabbix ~]# setsebool -P httpd_can_network_connect=1
[root@zabbix ~]# setsebool -P httpd_can_connect_zabbix=1
[root@zabbix ~]# setsebool -P zabbix_can_network=1
کد PHP:
[root@zabbix ~]# firewall-cmd --permanent --add-service=http
success
[root@zabbix ~]# firewall-cmd --permanent --zone=public --add-port=10051/tcp
success
[root@zabbix ~]# firewall-cmd --permanent --zone=public --add-port=10050/tcp
success
[root@zabbix ~]# firewall-cmd --reload
success
بعد از تنظیم کردن Selinux و تنظیمات firewall ما احتیاج داریم سرویس Zabbix را فعال و Start کنیم. برای این کار از دستورات زیر استفاده کنید.
کد PHP:
[root@zabbix ~]# systemctl enable zabbix-server && systemctl start zabbix-server
[root@zabbix ~]# systemctl enable zabbix-agent && systemctl start zabbix-agent
نکته : اگر به هنگام start کردن سرور زبیکس به Error زیر برخوردین دقت کنید که تنظیمات selinux و فایروال را به درستی انجام داده باشید و یا با استفاده از دستوراتی که مطرح شد selinux و فایروال را غیرفعال کنید. (فراموش نکنید بعد از غیرفعال کردن selinux سیستم را reboot کنید) :
کد PHP:
[root@localhost ~]# systemctl start zabbix-serverJob for zabbix-server.service failed because a configured resource limit was exceeded. See "systemctl status zabbix-server.service" and "journalctl -xe" for details.
مرحله پنجم : تنظیمات zabbix از طریق کنسول وب
در مرورگر خود آدرس http://<server_ip_or_name>/zabbix را وارد کنید. شما باید صفحه اول نصب کنسول وب زبیکس را مشاهده کنید.
کد PHP:
http://192.168.10.250/zabbix
روی دکمه Next step کلیک کنید.
در این مرحله مطمئن شوید تمام نرم افزارها و پیش نیازها OK باشد:
پیش نیازهای اختیاری هم ممکن است در لیست موجود باشد. اگر مشکلی در پیش نیازهای اختیاری باشد به رنگ نارنجی و به همراه یک وضعیت هشدار نمایش داده میشود. شما میتوانید ادامه نصب را بدون پیش نیازهای اختیاری هم انجام دهید.
در مرحله ی بعد اطلاعات و توضیحات مربوط به دیتابیس را در این بخش وارد کنید. دقت کنید که دیتابیس زبیکس موجود و ساخته شده باشد :
در بخش بعد اطلاعات و جزئیات سرور زبیکس را وارد کنید و یک نام برای سرورتان انتخاب کنید :
خلاصه تنظیمات را در این صفحه مشاهده کنید :
و اکنون شما کنسول وب zabbix را با موفقیت نصب کردید :
اکنون با استفاده از یوزر (Admin) و پسورد (zabbix) پیش فرض زبیکس به آن لاگین میکنیم :
شما با موفقیت لاگین شدید و داشبورد کاربری Zabbix را مشاهده میکنید :
اولین کاری که باید انجام دهید فعال کردن مانیتورینگ برای خود Zabbix Server میباشد. برای این کار از منوی Configuration وارد تب Hosts شده و روی دکمه "Disabled" در هاست zabbix server کلیک کنید :
بعد از تایید مشاهده می کنید که هاست enabled خواهد شد :
نصب و راه اندازی مانیتورینگ زبیکس به پایان رسید.
کامنت