【zabbix】MySQL模板创建与监控

5 篇文章 0 订阅
4 篇文章 0 订阅

本篇基于我的上一篇文章环境续写:【zabbix】docker安装zabbix、yum安装zabbix-agent_山水不相逢的博客-CSDN博客

准备工作:

一、服务器向配置,Zabbix监控mysq准备

1、MySQL创建测试用户zabbix并设置密码

create user zabbix identified by 'zabbix';

grant all privileges on *.* to 'zabbix'@'%';

flush privileges;

2、判断链接存活

[root@k8s-node2 zabbix]# mysqladmin -uzabbix -pzabbix -h172.34.111.147 ping
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
mysqld is alive

出现mysqld is alive表示正常

3、在/etc/zabbix/目录手动创建.my.cnf文件并配置如下,

查看ls -a .my.cnf隐藏的文件命令

[mysql]
host=172.34.111.147
user=zabbix
password=zabbix
socket=/usr/local/src/mysql/mysql.sock
[mysqladmin]
host=172.34.111.147
user=zabbix
password=zabbix
socket=/usr/local/src/mysql/mysql.sock

4、接下来判断连接存活的方式会变成以下方式

HOME=/etc/zabbix/ mysqladmin ping

 

5、创建自定义键mysql.ping

在/etc/zabbix/zabbix_agentd.d目录创建测试文件vim mysqlinfo.conf,加入测试内容

UserParameter=mysql.ping, HOME=/etc/zabbix/ mysqladmin ping | grep -c alive

测试成功如下:

[root@k8s-node2 zabbix_agentd.d]# vim mysqlinfo.conf
[root@k8s-node2 zabbix_agentd.d]# zabbix_agentd -c mysqlinfo.conf -t mysql.ping
mysql.ping                                    [t|1]

 重启客户端systemctl restart zabbix_agent,并在服务端获取值

[root@k8s-node2 zabbix_agentd.d]# zabbix_get -s 172.34.111.147 -p 10050 -k mysql.ping
1
[root@k8s-node2 zabbix_agentd.d]# 

6、测试完毕,准备上脚本

创建并编辑文件的自定义 zabbix key,userparameter_mysql.conf内的这行配置很重要,关系到后面web页面的监控项

UserParameter=mysql.status[*], HOME=/etc/zabbix/ sh /etc/zabbix/zabbix_agentd.d/check_mysql.sh $1

7、脚本内容,这里面的内容后期看需求再扩展添加:

#!/bin/bash

# 用户名
MYSQL_USER='zabbix'

# 密码
MYSQL_PWD='zabbix'

# 主机地址/IP
MYSQL_HOST='172.34.111.147'
 
# 端口
MYSQL_PORT='3306'

# 数据连接
MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"

# 参数是否正确

if [ $# -ne "1" ];then
echo "arg error!"
fi

# 获取数据
case $1 in
Uptime)
result=`${MYSQL_CONN} status 2>/dev/null |cut -f2 -d":"|cut -f1 -d"T"`
echo $result
;;

Com_update)
result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_update"|cut -d"|" -f3`
echo $result
;;

Slow_queries)
result=`${MYSQL_CONN} status  2>/dev/null  |cut -f5 -d":"|cut -f1 -d"O"`
echo $result
;;

Com_select)
result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Com_select"|cut -d"|" -f3`
echo $result
;;

Com_rollback)
result=`${MYSQL_CONN} extended-status  2>/dev/null   |grep -w "Com_rollback"|cut -d"|" -f3`
echo $result
;;

Questions)
result=`${MYSQL_CONN} status   2>/dev/null |cut -f4 -d":"|cut -f1 -d"S"`
echo $result
;;

Com_insert)
result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_insert"|cut -d"|" -f3`
echo $result
;;

Com_delete)
result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_delete"|cut -d"|" -f3`
echo $result
;;

Com_commit)
result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_commit"|cut -d"|" -f3`
echo $result
;;

Bytes_sent)
result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Bytes_sent" |cut -d"|" -f3`
echo $result
;;

Bytes_received)
result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Bytes_received" |cut -d"|" -f3`
echo $result
;;

Com_begin)
result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Com_begin"|cut -d"|" -f3`
echo $result
;;

*)

echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"
;;

esac

二、WEB向配置,配置模板(监控项、图形)

1、创建模板

 2、创建应用集

3、创建监控项 

4、创建图形

 5、查看图形是否有数据

5、剩下的看自己想配什么,配置上就行了 

 6、这里说一下,监控项的键值,可以回头看上面的脚本,也就是中括号中的值对应脚本中的选项

补充:

Com_update:mysql执行的更新个数

Com_select:mysql执行的查询个数

Com_insert:mysql执行插入的个数

Com_delete:执行删除的个数

Com_rollback:执行回滚的操作个数

Bytes_received:接受的字节数

Bytes_sent:发送的字节数

Slow_queries:慢查询语句的个数

本篇结束,有需求可以移步我的下一篇文章

【zabbix】企业微信告警_山水不相逢的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值