Zabbix分佈式監控mariadb主從,實現企業微信報警

一、 環境

在這裏插入圖片描述

二、安裝配置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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章