一、 環境
二、安裝配置mariadb主從(192.168.1.23-24)
見上篇文檔:
https://blog.csdn.net/oToyix/article/details/106511065
三、安裝Lnmp+zabbix_server(192.168.1.11)
參考:
https://blog.csdn.net/oToyix/article/details/106853849
四、安裝zabbix_proxy(192.168.1.22)
安裝阿里zabbix源
[root@localhost ~]# yum install http://repo.zabbix.com/zabbix/4.5/rhel/7/x86_64/zabbix-release-4.5-2.el7.noarch.rpm
安裝zabbix_proxy
[root@localhost ~]# yum install zabbix40-proxy zabbix40-proxy-mysql zabbix40-dbfiles-mysql -y
[root@localhost ~]# rpm -qa|grep zabbix
zabbix40-dbfiles-mysql-4.0.17-1.el7.noarch
zabbix40-proxy-4.0.17-1.el7.noarch
zabbix40-proxy-mysql-4.0.17-1.el7.x86_64
zabbix40-4.0.17-1.el7.x86_64
安裝數據庫,並導入數據文件,這裏就使用yum來安裝mariadb
[root@localhost ~]# yum install mariadb mariadb-server mariadb-devel –y
[root@localhost ~]# rpm -qa|grep mariadb
mariadb-5.5.65-1.el7.x86_64
mariadb-server-5.5.65-1.el7.x86_64
mariadb-libs-5.5.65-1.el7.x86_64
mariadb-devel-5.5.65-1.el7.x86_64
啓動、創建數據庫,授權並導庫
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# ps -ef|grep mariadb
mysql 18043 17881 7 13:33 ? 00:00:01 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
root 18085 2482 0 13:33 pts/1 00:00:00 grep --color=auto mariadb
[root@localhost ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.65-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create atabases zabbix-proxy charset utf8;
MariaDB [(none)]> grant all on zabbix_proxy.* to "zabbix"@"localhost" identified by "123456";
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>exit
導庫
[root@localhost ~]# mysql -uzabbix -p123456 zabbix_proxy </usr/share/zabbix-mysql/schema.sql
配置zabbix_proxy.conf
[root@localhost ~]# egrep -v '^#|^$' /etc/zabbix_proxy.conf
ProxyMode=0
Server=192.168.1.11
Hostname=proxy22
ListenPort=10051
LogFile=/var/log/zabbixsrv/zabbix_proxy.log
LogFileSize=0
PidFile=/run/zabbixsrv/zabbix_proxy.pid
SocketDir=/var/lib/zabbixsrv/tmp
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=123456
HeartbeatFrequency=60
ConfigFrequency=60
DataSenderFrequency=3
Timeout=4
ExternalScripts=/var/lib/zabbixsrv/externalscripts
LogSlowQueries=3000
TmpDir=/var/lib/zabbixsrv/tmp
SSLCertLocation=/var/lib/zabbixsrv/ssl/certs
SSLKeyLocation=/var/lib/zabbixsrv/ssl/keys
配置agent.conf
[root@localhost ~]# vim /etc/zabbix_agentd.conf
[root@localhost ~]# egrep -v '^#|^$' /etc/zabbix_agentd.conf
PidFile=/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.1.22
ServerActive=192.168.1.22
Hostname=192.168.1.24
UserParameter=autocheck.Repliofmysql,bash /data/sh/autocheckRepliofmysql.sh
啓用代理服務
[root@localhost ~]# systemctl restart zabbix-agent
[root@localhost ~]# systemctl start zabbix-proxy
開啓防火牆端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=10051/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1393/sendmail: acce
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 2406/zabbix_proxy
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2318/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1378/sshd
tcp6 0 0 :::10051 :::* LISTEN 2406/zabbix_proxy
tcp6 0 0 :::22 :::* LISTEN 1378/sshd
添加代理程序
管理-agent代理程序-創建代理
五、自動註冊並監控mysql主從狀態
1、從庫192.168.1.24中安裝zabbix_agent
安裝zabbix源
[root@localhost ~]# yum install http://repo.zabbix.com/zabbix/4.5/rhel/7/x86_64/zabbix-release-4.5-2.el7.noarch.rpm
安裝zabbix-agent
[root@localhost ~]# yum install zabbix40 zabbix40-agent -y
[root@localhost ~]# rpm -qa|grep zabbix
zabbix40-agent-4.0.17-1.el7.x86_64
zabbix40-4.0.17-1.el7.x86_64
zabbix-release-4.5-2.el7.noarch
開啓主動模式
[root@localhost ~]# sed -i "s/ServerActive=127.0.0.1/ServerActive=192.168.1.22/g" /etc/zabbix_agentd.conf
[root@localhost ~]# sed -i "s/Hostname=Zabbix server/Hostname=192.168.1.24/" /etc/zabbix_agentd.conf
[root@localhost ~]# sed -i "s/Server=127.0.0.1/Server=192.168.1.22/g" /etc/zabbix_agentd.conf
[root@localhost ~]# egrep -v '^#|^$' /etc/zabbix_agentd.conf
PidFile=/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.1.22
ServerActive=192.168.1.22
Hostname=192.168.1.24
2、192.168.1.24上編寫主從狀態檢測腳本並添加至agent.conf中
[root@localhost ~]# mkdir -p /data/sh/
[root@localhost ~]# cd /data/sh/
[root@localhost sh]# vim autocheckRepliofmysql.sh
#!/bin/bash
#by toyix
#############
mysql -e "show slave status\G"|grep -c "Yes"
[root@localhost sh]# chmod +x autocheckRepliofmysql.sh
[root@localhost sh]# chmod u=s /usr/bin/mysql
[root@localhost sh]# ./autocheckRepliofmysql.sh
2
[root@localhost sh]# vim /etc/zabbix_agentd.conf
292 UserParameter=autocheckRepliofmysql,bash /data/sh/autocheckRepliofmysql.sh
重啓
[root@localhost sh]# systemctl restart zabbix-agent
3、zabbix自動發現添加從主機並監控主從狀態
創建自動註冊
配置-動作 -選擇自動註冊-創建動作
在這裏插入圖片描述
4、添加mysql主從狀態監控項
已有數據
六、企業微信告警
1、創建企業微信
注:個人也可以申請,只要不進行認證即可
https://work.weixin.qq.com/?from=qyh_redirect
2、創建企業微信應用
應用管理中創建應用
3、設置微信調試接口
https://work.weixin.qq.com/api/devtools/devtool.php
4、配置微信腳本
[root@localhost src]# wget -c wget http://download.zhsir.org/Zabbix/weixin_linux_amd64
[root@localhost src]# mkdir -p /var/lib/zabbixsrv/alertscripts
[root@localhost src]# mv weixin_linux_amd64 /var/lib/zabbixsrv/alertscripts/wechat
[root@localhost src]# chmod +x /var/lib/zabbixsrv/alertscripts/wechat
測試微信腳本
[root@localhost ~]# /var/lib/zabbixsrv/alertscripts/wechat --corpid=ww0205752181b96170 --corpsecret=NlVARVr6H5-xXFnDwGAiaEPZSsvx6AC_hrVm --msg="告警測試" --user=YueJianYu --agentid=1000002
注:我這裏信息有刪減,不要照搬
--corpid= 企業裏面的id(點擊我的企業,最下面可以看到)
--corpsecret= 企業應用Secret(點擊報警應用可以看到)
-msg= 內容
-user=應用可見用戶的賬號(是唯一標識賬號,不是姓名)
--agentid=應用id(點擊報警應用可以看到)
5、web端添加報警媒介
新建用戶
然後在用戶中設置 微信報警收件人
6、設置觸發器
創建動作
查看效果
關閉mariadb服務
[root@localhost ~]# systemctl stop mariadb
查看鍵值信息
[root@localhost ~]# zabbix_get -s 192.168.1.24 -k "autocheck.Repliofmysql"
1
---------------------end