监控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页面操作-创建模板
低级自动发现(网络发现)缺陷
1 发现太慢
2 是轮训扫描网段
3 如果王端中存在不通的主机,会出现卡顿,造成后续新增的服务器无法加入节点
4 会导致server性能变慢
自动注册
vim /etc/zabbix/zabbix_agentd.conf
98 Server=192.168.2.50
139 ServerActive=192.168.2.50
150 Hostname=web01
agent主动向server上报 (agent端配置ServerActive和Hostname)
1 安装agent
2 推送所有的脚本及.conf配置文件到该服务器
3 在zabbix-server上配置动作(根据不同的主机明恒)