更新时间:2022-06-12 07:49:46
Zabbix agentd添加自定义key;
自定义key调用的是获取监控数据源脚本等;
添加Zabbix主机数据源模板,主机链接模板;
vim /usr/local/zabbix/shell/check_mysql_slave.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#!/usr/bin/env bash #Create by zijin 2014.09.28 ##Need "grant REPLICATION CLIENT on *.* to zabbix_select@localhost identified by 'zabbix'" #Mysql5.6 # mysql_config_editor set --login-path=local --host=localhost --user=zabbix_select -p MYSQL_SOCK= "/tmp/mysql.sock" MYSQL_PWD= "zabbix"
MYSQL= "/usr/local/mysql/bin/mysql"
MYSQL_ADMIN= "${MYSQL}admin"
ARGS=1 if [ $ # -ne "$ARGS" ];then
echo "Please input one arguement:" fi case $1 in Slave_Running)
slave_is=($( sudo ${MYSQL} --login-path= local -S $MYSQL_SOCK -e "show slave status\G" | egrep "\bSlave_.*_Running\b" | awk '{print $2}' ))
if [ "${slave_is[0]}" = "Yes" -a "${slave_is[1]}" = "Yes" ]; then
result= "1"
else
result= "0"
fi
echo $result
;;
Seconds_Behind)
result=$( sudo ${MYSQL} --login-path= local -S $MYSQL_SOCK -e "show slave status\G" | egrep "\bSeconds_Behind_Master\b" | awk '{print $2}' )
echo $result
;;
*)
echo "Usage:$0(Slave_Running|Seconds_Behind)" ;;
esac |
grant REPLICATION CLIENT on *.* to zabbix_select@localhost identified by 'zabbix';
1
2
3
4
5
6
|
[root@mysql64 shell] # chmod a+x check_mysql_slave.sh
[root@mysql64 shell] # sh check_mysql_slave.sh Slave_Running
1 [root@mysql64 shell] # sh check_mysql_slave.sh Slave_Seconds
0 [root@mysql64 shell] #
|
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/check_mysql_slave_key
1
|
UserParameter=mysql.slave[*], /usr/local/zabbix/shell/check_mysql_slave .sh $1 $2
|
从Zabbix页面导入模板Template App MySQL Slave.xml,如下链接为模板地址:
https://github.com/ygqygq2/zabbix/blob/master/%E6%A8%A1%E6%9D%BF/Template%20App%20MySQL%20Slave.xml
在Zabbi Server端查看:
1
2
3
4
|
[root@zabbix-server ~] # /usr/local/zabbix/bin/zabbix_get -s mysql-slave-IP -k "mysql.slave[Seconds_Behind]"
0 [root@zabbix-server ~] # /usr/local/zabbix/bin/zabbix_get -s mysql-slave-IP -k "mysql.slave[Slave_Running]"
1 |
在页面上查看: