前言
因為一個運維項目關(guān)注了一下開源監(jiān)控軟件键俱,比較了Nagios王凑、Zabbix搪柑、Zenoss、Cacti索烹、Ganglia等工碾,最終選擇了Zabbix,主要是因為Zabbix流行(研究討論的人多百姓,文檔多)渊额、功能齊全(涵蓋了監(jiān)控數(shù)據(jù)收集和可視化、異常報警瓣戚、與其他系統(tǒng)協(xié)同工作等功能)端圈。
計劃采用的學習方法
1焦读、讀書
2子库、看視頻教程
3、實踐矗晃,邊學邊干
4仑嗅、產(chǎn)生問題,尋求幫助,解決問題
學習筆記
實踐筆記
1仓技、安裝Zabbix
這個實驗是2018年2月1日開始的鸵贬,官方網(wǎng)站的版本是3.4,如下圖所示:
CentOS 7 最小化安裝脖捻,禁用Firewall和SeLinux阔逼,安裝Apache、MySQL地沮、PHP嗜浮。
CentOS官方網(wǎng)站下載的“CentOS-7-x86_64-Everything-1708.iso”安裝鏡像文件。
更新系統(tǒng)到最新版本
root@zabbix# yum update
查看系統(tǒng)版本(2018年2月1日)
root@zabbix# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
查看內(nèi)核版本(2018年2月1日)
root@zabbix# cat /proc/version
Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017
總是記不住vi編輯器的那些命令摩疑,所以先安裝一個nano編輯器備用
root@zabbix# yum install nano
安裝Apache服務(wù)器危融,開啟Web訪問服務(wù),設(shè)置Apache開機啟動雷袋。
root@zabbix# yum install httpd
root@zabbix# systemctl start httpd
root@zabbix# systemctl enable httpd.service
添加防火墻規(guī)則吉殃,允許HTTP和HTTPS協(xié)議,重新載入防火墻規(guī)則楷怒。
root@zabbix# firewall-cmd --permanent --zone=public --add-service=http
success
root@zabbix# firewall-cmd --permanent --zone=public --add-service=https
success
root@zabbix# firewall-cmd --reload
success
關(guān)閉SeLinux(修改完/etc/selinux/config文件蛋勺,記得重新啟動一次CentOS)
root@zabbix# nano /etc/selinux/config
# 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=enforcing
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
root@zabbix# reboot -h now
首先檢查 MySQL 是否已安裝
root@zabbix# yum list installed | grep mysql
安裝 MySQL 并開放防火墻端口。
root@zabbix# rpm -Uvh 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
root@zabbix# yum repolist all | grep mysql
root@zabbix# yum install mysql-community-server
root@zabbix# systemctl start mysqld
root@zabbix# systemctl status mysqld
root@zabbix# firewall-cmd --permanent --zone=public --add-port=3306/tcp
root@zabbix# firewall-cmd --permanent --zone=public --add-port=3306/udp
root@zabbix# firewall-cmd --reload
為了加強安全性鸠删,MySQL 5.7為root用戶隨機生成了一個密碼迫卢,在”error_log“文件中,默認是在 /var/log/mysqld.log冶共。使用隨機生成密碼登錄乾蛤,然后更改密碼。
(MySQL 5.7版本默認的密碼策略是:密碼要包含數(shù)字捅僵、小寫字母家卖、大寫字母、特殊字符且長度至少8位)
root@zabbix# cat /var/log/mysqld.log | grep password
2018-02-02T01:22:10.814000Z 1 [Note] A temporary password is generated for root@localhost: cnofwNLxj8.m
root@zabbix# mysql -u root -p'cnofwNLxj8.m'
mysql> SET PASSWORD = PASSWORD('XXXXXXXX');
Query OK, 0 rows affected, 1 warning (0.00 sec)
安裝PHP的5.6版本庙楚,因為Zabbix集成的是5.X版本(安裝過7.2版的PHP上荡,結(jié)果在Zabbix frontend的檢查時,很多模塊都是off馒闷,搞了好久也沒解決酪捡,繞路躲過)
root@zabbix# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
root@zabbix# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
root@zabbix# yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64
安裝php-fpm
root@zabbix# yum install php56w-fpm
確認一下PHP的版本,重啟Apache
root@zabbix# php -v
PHP 5.6.33 (cli) (built: Jan 14 2018 08:07:11)
root@zabbix# systemctl restart httpd.service
編輯“/var/www/html/index.php”纳账,寫入內(nèi)容逛薇,瀏覽器打開PHP信息頁面,驗證安裝是否正確
root@zabbix# nano /var/www/html/index.php
<?php
phpinfo();
?>
下載安裝Zabbix的包信息文件疏虫,安裝Zabbix server永罚,Zabbix frontend啤呼,Zabbix agent。
root@zabbix# rpm -Uvh 'http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm'
root@zabbix# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
以root角色登錄MySQL呢袱,創(chuàng)建zabbix數(shù)據(jù)庫官扣,用戶名是”zabbix“,密碼還是要包含數(shù)字羞福、小寫字母惕蹄、大寫字母、特殊字符且長度至少8位治专。
root@zabbix# mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'XXXXXXXX';
mysql> quit
根據(jù)提示輸入root用戶的密碼焊唬,將Zabbix服務(wù)器的初始化數(shù)據(jù)導(dǎo)入到zabbix數(shù)據(jù)庫中
root@zabbix# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p zabbix
修改Zabbix server的配置文件”zabbix_server.conf“
root@zabbix# nano /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password
啟動”zabbix-server“和”zabbix-agent“服務(wù)并且將服務(wù)設(shè)為開機自動啟動
root@zabbix# systemctl start zabbix-server zabbix-agent
root@zabbix# systemctl enable zabbix-server zabbix-agent
修改“/etc/httpd/conf.d/zabbix.conf”文件,配置Zabbix frontend的PHP設(shè)置
注意:去掉“php_value date.timezone”字段前面的“#”看靠,將值改為“Asia/Shanghai”
root@zabbix# nano /etc/httpd/conf.d/zabbix.conf
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 Asia/Shanghai
給Zabbix Server和Zabbix Agent開放防火墻端口
root@zabbix# firewall-cmd --permanent --zone=public --add-port=10050/tcp
root@zabbix# firewall-cmd --permanent --zone=public --add-port=10050/udp
root@zabbix# firewall-cmd --permanent --zone=public --add-port=10051/tcp
root@zabbix# firewall-cmd --permanent --zone=public --add-port=10051/udp
root@zabbix# firewall-cmd --reload
好了赶促,Zabbix Server就緒了。下面開始配置Zabbix frontend:在瀏覽器地址欄輸入“http://ip_address/zabbix”
編輯“/etc/php.ini”文件挟炬,修改“date.timezone = Asia/Shanghai”后鸥滨,重啟Apache,問題解決谤祖。
root@zabbix# nano /etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
root@zabbix# systemctl restart httpd
按照頁面中的配置向?qū)鲎遥徊揭徊綀?zhí)行,將要完成粥喜。
Zabbix frontend安裝完成后凸主,系統(tǒng)自動生成“/etc/zabbix/web/zabbix.conf.php”文件。用瀏覽器打開:http://X.X.X.X/zabbix额湘,默認用戶名和密碼:Admin/zabbix卿吐。第一次成功登錄后記得修改密碼。