设为首页 加入收藏

TOP

Zabbix 的 MySQL 监控客户端配置
2015-08-31 19:59:31 来源: 作者: 【 】 浏览:26
Tags:Zabbix MySQL 监控 客户端 配置

Zabbix监控的方式有四个大方向:


1,Zabbix Agent类型
2,SNMP类型
3,JMX类型
4,IMPI类型?


用的多的基本上就两种,Agent类型 和 SNMP类型。


Agent类型的item是使用部署在服务端的Agent来获取数据,可以分为主动和被动模式。


SNMP是监控服务器以外设备的非常好的方式,比如可以监控网络设备,打印机等,只要是有SNMP功能的,zabbix都可以监控。


今天我们要说的MySQL监控是基于Agent类型的监控。


我们来看看服务端的默认模板:


Zabbix 的 MySQL 监控客户端配置


item 有14个,根据这14个item生成有2个图形类型。


Zabbix 的 MySQL 监控客户端配置


Zabbix 的 MySQL 监控客户端配置


第一个item的信息如图,监控类型为zabbix agent,key为mysql.version ,输出类型为字符串,更新周期默认为 3600秒。值的保存日期为7天。。。。


被监控端安装好zabbix agent后,添加好MySQL监控模板,然后在Zabbix_server端查看日志的后你会发现


Zabbix 的 MySQL 监控客户端配置


提示监控可以值在被监控端不受支持。


所以我们还需要修改被监控端的 zabbix_agentd.conf 手动添加对应key所执行的数据采集语句(多用SHELL语句编写)。


客户端添加自定义监控项的方法为:在配置文件后面添加语句为 UserParameter=app.key,/some/shell/output


比如:监控mysql.version的话 语句为


mysql.version,mysqladmin -u -p version | grep 'Server version' | awk '{printf "MySQL Server Version: "$3}'


输出的值为 MySQL Server Version: 5.1.73


所以添加到配置文件最后就添加好一条监控项了。


根据上图所示,mysql的值有许多,这些值一般都在 mysqladmin status | mysqladmin extended-status 里面。所以只需要写一个shell脚本就可以吧剩下的全部监控起来。


我这里提供一个shell脚本示例


#!/bin/bash


case $1 in


Uptime)


? ? ? ? mysqladmin -u -p status | awk '{print$2}'


? ? ? ? ;;


Com_update)


? ? ? ? mysqladmin -u -p extended-status | grep 'Com_update '? | awk 'BEGIN{FS="|"}{print $3}'


? ? ? ? ;;


Slow_queries)


? ? ? ? mysqladmin -u -p extended-status | grep 'Slow_queries'? | awk 'BEGIN{FS="|"}{print $3}'


? ? ? ? ;;


Com_select)


? ? ? ? mysqladmin -u -p extended-status | grep 'Com_select'? | awk 'BEGIN{FS="|"}{print $3}'


? ? ? ? ;;


Com_rollback)


? ? ? ? mysqladmin -u -p extended-status | grep 'Com_rollback '? | awk 'BEGIN{FS="|"}{print $3}'


? ? ? ? ;;


Questions)


? ? ? ? mysqladmin -u -p extended-status | grep 'Questions'? | awk 'BEGIN{FS="|"}{print $3}'


? ? ? ? ;;


Com_insert)


? ? ? ? mysqladmin -u -p extended-status | grep 'Com_insert '? | awk 'BEGIN{FS="|"}{print $3}'


? ? ? ? ;;


Com_delete)


? ? ? ? mysqladmin -u -p extended-status | grep 'Com_delete '? | awk 'BEGIN{FS="|"}{print $3}'


? ? ? ? ;;


Com_commit)


? ? ? ? mysqladmin -u -p extended-status | grep 'Com_commit'? | awk 'BEGIN{FS="|"}{print $3}'


? ? ? ? ;;


Bytes_sent)


? ? ? ? mysqladmin -u -p extended-status | grep 'Bytes_sent'? | awk 'BEGIN{FS="|"}{print $3}'


? ? ? ? ;;


Bytes_received)


? ? ? ? mysqladmin -u -p extended-status | grep 'Bytes_received'? | awk 'BEGIN{FS="|"}{print $3}'


? ? ? ? ;;


Com_begin)


? ? ? ? mysqladmin -u -p extended-status | grep 'Com_begin'? | awk 'BEGIN{FS="|"}{print $3}'


? ? ? ? ;;


*)


? ? ? ? echo "Please choise one optinon ( Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_co


mmit|Bytes_sent|Bytes_received|Com_begin )"


? ? ? ? ;;


esac


zabbix_agentd.conf里面的监控项为↓


UserParameter=mysql.version,mysqladmin -u -p version | grep 'Server version' | awk '{printf "MySQL Server Version: "$3}'


UserParameter=mysql.status[*],bash /usr/local/zabbix/etc/check_mysql_status_per.sh $1


UserParameter=mysql.ping,mysqladmin -u -p status > /dev/null 2>&1? && echo 1 || echo 0


添加好后我们可以到zabbix上点开 Monitoring→Latest data 选择主机


Zabbix 的 MySQL 监控客户端配置


已经陆续获取到响应的值了。


稍等就可以完整监控了。


Zabbix 的 MySQL 监控客户端配置


相关文件下载


------------------------------------------分割线------------------------------------------


具体下载目录在 /2015年资料/8月/17日/Zabbix 的 MySQL 监控客户端配置/


------------------------------------------分割线------------------------------------------


一些Zabbix相关教程集合


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Ubuntu 12.04 安装Redis并设置主.. 下一篇利用XtraBackupp实现不停master服..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: