![](https://i-blog.csdnimg.cn/blog_migrate/109a637a5dd96bde83ba660f52d26a33.png)
当我用zabbix监控mysql时,在服务端进行zabbix_get数据测试时,报错,无法识别自定义键,我个人经验所得一下几点:
(1)先检查
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf中写对没
UserParameter=mysql[*],/etc/zabbix/scipts/mysql.sh $1
(2)
mysql.sh脚本写对没
#!/bin/bash
host='客户端IP'
#master_host='192.168.42.28'
#slave_host='192.168.42.29'
#master_mysql="mysql -h${master_host} "
#slave_mysql="mysql -h${slave_host} "
case $1 in
# mysql主从状态
#slave_status)
#$slave_mysql -e "show slave status\G" |grep "Yes" |wc -l
#;;
# mysql流量 接受
Bytes_received)
mysqladmin extended-status |grep "Bytes_received" |awk '{print$4}'
;;
# mysql流量 发送
Bytes_sent)
mysqladmin extended-status |grep "Bytes_sent" |awk '{print $4}'
;;
# mysql常规操作 增
Com_insert)
mysqladmin extended-status |grep -w "Com_insert" |awk '{print$4}'
;;
# mysql常规操作 删
Com_delete)
mysqladmin extended-status |grep -w "Com_delete" |awk '{print
$4}'
;;
#自定义键值key 重启zabbix-agent
# mysql常规操作 改
Com_update)
mysqladmin extended-status |grep -w "Com_update" |awk '{print
Com_update)
mysqladmin extended-status |grep -w "Com_update" |awk '{print
$4}'
;;
# mysql常规操作 查
Com_select)
mysqladmin extended-status |grep -w "Com_select" |awk '{print
$4}'
;;
# mysql tps
tps)
mysqladmin status |awk '{print $6/$2}'
;;
# mysql qps=(rollback+commit)/uptime
qps)
rollback=$(mysqladmin extended-status |grep -w "Com_rollback"
|awk '{print $4}')
commit=$(mysqladmin extended-status |grep -w "Com_commit" |awk
'{print $4}')
uptime=$(mysqladmin status |awk '{print $2}')
count=$[$rollback+$commit]
echo "$count $uptime" > /tmp/a.txt
cat /tmp/a.txt |awk '{print $1/$2}'
;;
# 库大小 我们这里拿mysql库举例
db)
mysql -e "select sum(data_length) from
information_schema.tables where table_schema='mysql'" |sed -n
'2p'
;;
# 表大小 我们这里拿mysql下面的user表举例
tb)
mysql -e "select sum(data_length) from
information_schema.tables where table_schema='mysql' and
table_name='user'" |sed -n '2p'
;;
esac
(3)/etc/my.cnf配置文件里尾部加以下代码
[mysql]
user='zabbix'
password='Zabbix@123'
[mysqladmin]
user=zabbix
host=localhost
password='Zabbix@123'
(4)/etc/zabbix/zabbix_agentd.conf检查配置
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
DenyKey=system.run[*]
Server=客户端ip
ListenPort=10050
Hostname=client
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UserParameter=login.user,who | wc -l