低级自动发现

监控mysql多实例

[root@m01 ~]# cat /etc/my3307.cnf
[mysqld]
datadir=/data/3307/
socket=/data/3307/mysql.sock
port=3307
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/data/3307/mysqld.log
pid-file=/data/3307/mysqld.pid
############################################

cp /etc/my3307.cnf /etc/my3308.cnf
sed -i ‘s#3307#3308#g’ /etc/my3308.cnf
mkdir /data/{3307,3308}
chown -R mysql:mysql /data/330*
mysql_install_db --user=mysql --defaults-file=/etc/my3307.cnf
mysql_install_db --user=mysql --defaults-file=/etc/my3308.cnf
mysqld_safe --defaults-file=/etc/my3307.cnf &
mysqld_safe --defaults-file=/etc/my3308.cnf &
chmod +s /usr/bin/netstat
netstat -lntup|grep mysql

2.编写zabbix发现多实例脚本
[root@m01 zabbix_agentd.d]# cat /server/scripts/mysql_discovery.sh

#!/bin/bash 
#mysql low-level discovery 
res=$(netstat -lntp|awk -F "[ :\t]+" '/mysqld/{print$5}')
port=($res) 
printf '{' 
printf '"data":[' 
for key in ${!port[@]} 
do 
        if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then 
                printf '{' 
                printf "\"{#MYSQLPORT}\":\"${port[${key}]}\"}," 
        else [[ "${key}" -eq "((${#port[@]}-1))" ]] 
                printf '{' 
                printf "\"{#MYSQLPORT}\":\"${port[${key}]}\"}" 
        fi 
done 
printf ']' 
printf '}\n'

3.编写zabbix自定义监控项配置文件
[root@m01 ~]# cat /etc/zabbix/zabbix_agentd.d/mysql_discovery.conf
UserParameter=mysql.discovery,/bin/bash /server/scripts/mysql_discovery.sh

4.重启zabbix客户端并测试键
systemctl restart zabbix-agent.service
root@m01 ~]# zabbix_get -s 10.0.0.61 -k mysql.discovery
{“data”:[{"{#MYSQLPORT}":“3306”},{"{#MYSQLPORT}":“3307”},{"{#MYSQLPORT}":“3308”}]}

5.编写自定义监控多实例的监控项的配置文件
[root@m01 ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=mysql.status[*],echo “show global status where Variable_name=’$1’;” | HOME=/var/lib/zabbix mysql -uroot -p123456 -P $2 -N | awk ‘{print $$2}’

6.测试key是否能获取

[root@m01 zabbix_agentd.d]# zabbix_get -s 192.168.2.50 -k mysql.status[Uptime,3306]
6828
[root@m01 zabbix_agentd.d]# zabbix_get -s 192.168.2.50 -k mysql.status[Uptime,3307]
6829
[root@m01 zabbix_agentd.d]# zabbix_get -s 192.168.2.50 -k mysql.status[Uptime,3308]
6831

7.web页面操作-创建模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/bjgaocp/article/details/111171462