zabbix利用自带模板-监控mysql性能
环境:
zabbix3.4.4
mariadb 5.5.56
要求: 利用zabbix 自带的模板 监控mariadb 上的 并发连接数,慢查询数量,增删改查、请求流量带宽,mysql响应流量带宽等
(1)创建监控用户
grant all on *.* to zabbix@'localhost' identified by 'zabbix';
(2)编写check_mysql.sh脚本
用于获取mariadb 上的性能指标数据, 脚本如下
vim /usr/local/bin/chk_mysql.sh
#!/bin/bash #!/bin/bash #----------------------------------------------------------------------------------- #FileName: check_mysql.sh #Revision: 1.0 #Date: 2019/08/23 #Author: fxkj #Email: root@fxkjnj.com #website: www.fxkjnj.com #Description: #License: GPL #--------------------------------------------------------------------------------- # 用户名 Mysql_user='zabbix' # 密码 Mysql_password='zabbix' # 主机地址/IP Mysql_host='127.0.0.1' # 端口 Mysql_port='3306' #数据库连接 Mysql_comm="/usr/bin/mysqladmin -u$Mysql_user -p$Mysql_password -h$Mysql_host -P$Mysql_port" #参数是否正确 if [ $# -ne "1" ];then echo "arg error!" fi #获取数据 case $1 in Com_begin) $Mysql_comm extended-status | grep -w "Com_begin" | awk -F"|" '{print $3}';; Bytes_received) $Mysql_comm extended-status | grep -w "Bytes_received" | awk -F"|" '{print $3}';; Bytes_sent) $Mysql_comm extended-status | grep -w "Bytes_sent" | awk -F"|" '{print $3}';; Com_commit) $Mysql_comm extended-status | grep -w "Com_commit" | awk -F"|" '{print $3}';; Com_delete) $Mysql_comm extended-status | grep -w "Com_delete" | awk -F"|" '{print $3}';; Com_insert) $Mysql_comm extended-status | grep -w "Com_insert" | awk -F"|" '{print $3}';; Questions) $Mysql_comm extended-status | grep -w "Questions" | awk -F"|" '{print $3}';; Com_rollback) $Mysql_comm extended-status | grep -w "Com_rollback" | awk -F"|" '{print $3}';; Slow_queries) $Mysql_comm extended-status | grep -w "Slow_queries" | awk -F"|" '{print $3}';; Com_select) $Mysql_comm extended-status | grep -w "Com_select" | awk -F"|" '{print $3}';; Com_update) $Mysql_comm extended-status | grep -w "Com_update" | awk -F"|" '{print $3}';; Uptime) $Mysql_comm extended-status | grep -w "Uptime" | awk -F"|" '{print $3}';; esac
chmod +x /usr/local/bin/chk_mysql.sh #添加可执行权限
(3)修改agent配置文件
备注: 创建自定义key ,需要修改被监控端agent 的配置文件
vim /usr/local/zabbix_agentd.conf
把 UnsafeUserParameters=0 修改为 UnsafeUserParameters=1 (是否允许自定义KEY)
把 #Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf 修改为 Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf (加载配置文件路径)
(4)创建自定义KEY
vim /usr/local/etc/zabbix_agentd.conf.d/mysql_status.conf
#获取mairadb性能指标,对应上面的check_mysql.sh脚本
UserParameter=mysql.status[*],/usr/local/bin/chk_mysql.sh $1
#获取mariadb版本
UserParameter=mysql.version,mysql -V
#获取mariadb运行状态 UserParameter=mysql.ping,mysqladmin -uzabbix -pzabbix -P3306 -h127.0.0.1 ping | grep -c alive
备注:请注意修改你的数据库信息,以及zabbix路径信息
(5)重启zabbix_agentd
killall zabbix_agentd
zabbix_agentd
(6)测试自定义key是否生效
[root@mysql ~]# zabbix_get -s 127.0.0.1 -k mysql.status[Bytes_received] (任选一个 Template APP Mysql 中key 值测试 )
209
(7)给被监控主机 关联 Mysql 模板
模板是zabbix系统提供的,进入zabbix web后台,configuration–>hosts–>点击你的主机name–>选择template选项卡,选择模板“Template App MySQL”,最后点击update即可
(8) 查看数据
如果配置没有异常,那么可以在graph中查看到2张监控图,分别为请求流量带宽、响应流量带宽、ops,点击monitoring–>graphs–>选择你的主机
分别选择Graph“MySQL bandwidth”、“MySQL operations”,监控图分别如下(图片双击放大查看)