linux系統(tǒng):centos 7.2
zabbix版本:4.0
php版本:7.2.14
httpd版本:2.4.6
Mysql版本:5.7.25
安裝zabbix之前需要LAMP環(huán)境,這里才用了yum安裝LAMP,為了解析zabbix代碼
1.mysql安裝
#!/usr/bin/env bash
#mysql安裝 by chy
#mysql密碼
mysql_passwd='your passwd'
#配置yum源
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
yum -y localinstall mysql57-community-release-el7-8.noarch.rpm
rm -rf mysql57-community-release-el7-8.noarch.rpm
##檢查mysql源是否正確
#yumsource=`yum repolist enabled | grep "mysql.*-community.*"`
#安裝mysql,默認(rèn)源為5.7
yum -y install mysql-community-server
#啟動(dòng)mysql以及開(kāi)機(jī)自啟動(dòng)
systemctl start mysqld && systemctl enable mysqld && systemctl daemon-reload
#定義mysql是否正確安裝
status=`systemctl status mysqld|grep running|wc -l`
passwd=`grep 'temporary password' /var/log/mysqld.log|awk -F: '{print $4}'|sed 's/^[ \t]*//g'`
##mysql正常啟動(dòng)后修改密碼,mysql5.7默認(rèn)安裝了密碼安全檢查插件(validate_password),默認(rèn)密碼檢查策略要求密碼必須包含:大小寫(xiě)字母、數(shù)字和特殊符號(hào),并且長(zhǎng)度不能少于8位。否則會(huì)提示ERROR 1819 (HY000):
if [ $status -eq 0 ];then
echo "mysql未正常安裝啟動(dòng),請(qǐng)查看"
else
#修改密碼
mysql -uroot -p$passwd --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$mysql_passwd';"
##my.cnf追加編碼配置
cat << EOF >> /etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
EOF
#重啟mysql
systemctl restart mysqld
fi
2.Apache安裝
##apache安裝
yum -y install httpd
#啟動(dòng)apache以及自啟動(dòng)
systemctl start httpd && systemctl enable httpd && systemctl daemon-reload
#查看php安裝是否正常, 打開(kāi)IP后是php頁(yè)面說(shuō)明php安裝正常
cat >> /var/www/html/index.php <<EOF
<?php
phpinfo();
?>
EOF
3.zabbix安裝
#!/usr/bin/env bash
#zabbix安裝配置 by chy
#安裝zabbix源
mysql_passwd='your passwd'
zabbix_passwd='your passwd'
ip=`curl ip.cip.cc`
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum clean all
#安裝zabbix-server 前端 agent
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
#創(chuàng)建初始數(shù)據(jù)庫(kù),密碼為安裝mysql時(shí)修改的密碼,Wupao++2019,zabbix密碼此例中為1qaz@WSX
echo "create database zabbix character set utf8 collate utf8_bin;" | mysql -uroot -p$mysql_passwd
echo "grant all privileges on zabbix.* to zabbix@'localhost' identified by '1qaz@WSX';" | mysql -uroot -p$mysql_passwd
echo "flush privileges;" | mysql -uroot -p$mysql_passwd
#導(dǎo)入初始架構(gòu)和數(shù)據(jù)
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p$zabbix_passwd zabbix
#為zabbix前端配置php,安裝php時(shí)我們已經(jīng)對(duì)/etc/php.ini文件進(jìn)行了修改
#修改zabbix-server的配置文件
cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak
sed -i '/# DBPassword=/a\DBPassword=$zabbix_passwd' /etc/zabbix/zabbix_server.conf
sed -i '/# DBSocket/a\DBSocket=/tmp/mysql.sock' /etc/zabbix/zabbix_server.conf
sed -i '/# DBPort=/a\DBPort=3306' /etc/zabbix/zabbix_server.conf
#修改zabbix-agent的配置文件,本機(jī)的配置文件可以不用修改
#/etc/zabbix/zabbix_agentd.conf
#啟動(dòng)zabbix server和agent進(jìn)程
systemctl restart zabbix-server zabbix-agent
#abbix server和agent httpd自啟動(dòng)
systemctl enable zabbix-server zabbix-agent
#配置zabbix的web訪問(wèn)并啟動(dòng)
cp -R /usr/share/zabbix /var/www/html/
chown apache:apache -R /var/www/html/zabbix
systemctl restart httpd
echo "zabbix web 用戶名:Admin、密碼:zabbix"
echo "打開(kāi)http://$ip/zabbix,進(jìn)行下一步安裝"
4.php配置
#!/usr/bin/env bash
#php源下載
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
#安裝zabbix需要的php依賴包
安裝zabbix時(shí)會(huì)自動(dòng)安裝上相應(yīng)的zabbix
#修改php配置文件,zabbix web安裝時(shí)的參數(shù)要求
#sed -i ‘/FTP/a\ 456′ /etc/passwd 在含有FTP的行后面新插入一行
cp /etc/php.ini /etc/php.ini.bak
#sed -i 's/old/new/g' /etc/php.ini
sed -i '/;date.timezone =/a\date.timezone = Asia/Shanghai' /etc/php.ini
sed -i '656s/8/16/g' /etc/php.ini
sed -i '368s/30/300/g' /etc/php.ini
sed -i '378s/60/300/g' /etc/php.ini
5.圖形化安裝
打開(kāi)頁(yè)面是http://$ip/zabbix,默認(rèn)賬號(hào)是Admin/zabbix,進(jìn)入系統(tǒng)后機(jī)器修改密碼

image.png
注意修改完后重啟apache

image.png

image.png

image.png

image.png

image.png
6.agent主動(dòng)模式安裝
#!/usr/bin/env bash
#zabbix-agent安裝腳本
# hostname=your hostname
#hostname配置為本機(jī)IP,在web端添加的時(shí)候直接IP添加就可以就不會(huì)出現(xiàn)無(wú)法對(duì)應(yīng)為問(wèn)題
# hostname=`ip address |grep inet |grep -v inet6 |grep -v 127.0.0.1 |awk '{print $2}' |awk -F "/" '{print $1}'`
hostname='192.168.1.202'
ip='192.168.1.201'
# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
# yum -y install zabbix-agent
#修改zabbix-agent配置文件
# sed -i 's/old/new/g' /etc/zabbix/zabbix_agentd.conf
# sed -i ‘/FTP/a\ 456′ /etc/passwd 在含有FTP的行后面新插入一行
#sed用法:注意sed飲用shell變量時(shí)要使用雙引號(hào),雙引號(hào)為若轉(zhuǎn)義不會(huì)去除¥的變量表達(dá)功能
#-----------------更改-------------------
#Server=127.0.0.1更改為#Server=127.0.0.1表示被動(dòng)模式
#Hostname=Zabbix server更改為Hostname=192.168.1.202(本機(jī)IP)
#在# StartAgents=3后面添加StartAgents=0
#ServerActive=127.0.0.1更改為ServerActive=192.168.1.201(zabbix server IP)
# #RefreshActiveChecks=120更改為RefreshActiveChecks=120
# # BufferSize=100更改為BufferSize=300
# # Timeout=3更改為# Timeout=3
cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak
sed -i "s/Server=127.0.0.1/# Server=127.0.0.1/g" /etc/zabbix/zabbix_agentd.conf
sed -i "/# StartAgents=3/a\StartAgents=0" /etc/zabbix/zabbix_agentd.conf
sed -i "s/ServerActive=127.0.0.1/ServerActive=$ip/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/Hostname=Zabbix server/Hostname=$hostname/g" /etc/zabbix/zabbix_agentd.conf
sed -i "/# RefreshActiveChecks=120/a\RefreshActiveChecks=120" /etc/zabbix/zabbix_agentd.conf
sed -i "/# BufferSize=100/a\BufferSize=300" /etc/zabbix/zabbix_agentd.conf
sed -i "/# Timeout=3/a\Timeout=5" /etc/zabbix/zabbix_agentd.conf
#啟動(dòng)zabbix-agent服務(wù),被動(dòng)模式ss看不到相應(yīng)的agent端口
systemctl start zabbix-agent
注意:
ServerActive=... #主動(dòng)模式的server IP地址
Hostname=test_host #重要:客戶端的hostname,不配置則使用主機(jī)名
RefreshActiveChecks=120 #被監(jiān)控端到服務(wù)器獲取監(jiān)控項(xiàng)的周期,默認(rèn)120s即可
BufferSize=200 #被監(jiān)控端存儲(chǔ)監(jiān)控信息的空間大小
Timeout=10 #超時(shí)時(shí)間
- Zabbix agent默認(rèn)為被動(dòng)模式,修改為主動(dòng)模式需要修改/etc/zabbix/zabbix_agentd.conf配置文件
- zabbix server端和zabbix agent端的時(shí)間要一致
- zabbix agent更改為被動(dòng)模式時(shí)界面上的zbx不會(huì)亮,而且ps的時(shí)候zbabix agent不會(huì)占用10050端口,Server=127.0.0.1更改為#Server=127.0.0.1表示被動(dòng)模式
- 主機(jī)端添加主機(jī)監(jiān)控時(shí)注意主機(jī)名稱要和配置文件中的Hostname對(duì)應(yīng),否則會(huì)導(dǎo)致它們找不到對(duì)應(yīng)關(guān)系而不能收集數(shù)據(jù)
主動(dòng)模式配置
①開(kāi)啟:/選項(xiàng),填寫(xiě)值為0,開(kāi)啟主動(dòng)模式
②配置ServerActive項(xiàng)填寫(xiě)Zabbix Server地址
③配置Hostname(最好填寫(xiě)本機(jī)的IP地址),與Zabbix Server監(jiān)控主機(jī)名稱保持一致
被動(dòng)模式配置
①配置Server項(xiàng)填寫(xiě)Zabbix Server地址
②配置Hostname項(xiàng)填寫(xiě)自定義主機(jī)名稱
grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0 #①開(kāi)啟StartAgents選項(xiàng),填寫(xiě)值為0,開(kāi)啟主動(dòng)模式,0表示關(guān)閉被動(dòng)模式,zabbix-agentd不監(jiān)控本地端口,所以看不到zabbix-agentd進(jìn)程
ServerActive=192.168.1.201 #②配置ServerActive項(xiàng)填寫(xiě)Zabbix Server地址
Hostname=zabbix #③配置Hostname(最好填寫(xiě)本機(jī)的IP地址),與Zabbix Server監(jiān)控主機(jī)名稱保持一致
RefreshActiveChecks=60
BufferSize=200
Timeout=10
Include=/etc/zabbix/zabbix_agentd.d/*.conf
6.mysql操作
注意mysql遠(yuǎn)程賦權(quán)
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'your passwd' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
systemctl restart mysqld
修改mysql密碼
mysql> select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
mysql> select User,Host,Password FROM mysql.user;
ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
mysql> select User,Host FROM mysql.user;
+---------------+-----------+
| User | Host |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
| zabbix | localhost |
+---------------+-----------+
4 rows in set (0.00 sec)
mysql> alter user 'zabbix'@'localhost' identified by 'XXXXXX';
Query OK, 0 rows affected (0.00 sec)
mysql>
https://blog.51cto.com/12476193/2309233
https://www.zabbix.com/cn/download?zabbix=4.0&os_distribution=centos&os_version=7&db=mysql
https://www.zhouzhifei.com/?p=153