阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Zabbix监控MySQL数据库状态

173次阅读
没有评论

共计 3796 个字符,预计需要花费 10 分钟才能阅读完成。

Zabbix 自己提供的模板可以监控 MySQL slow queries,mysqlversion,uptime,alive 等。
1.Zabbix 官方提供的监控 mysql 的模板 Template AppMySQL, 可以看到相关的 Items 和 key。

2. 把该模板 Template App MySQL Link 到相关的主机上面, 发现 Item 的 Status 是不可用的,因为 key 的值是通过 Mysql 用户查看 ”showglobal status” 信息或者用 mysqladmin 命令查看 status 或 extended-status 的信息而取的值。

1.  mysql> show global status;
2.  mysql> show status;
3. 结合官方提供的 key 编写 Shell 脚本,从数据库中取出 Items 的 key 的值。
1.    #!/bin/sh
2.  #Create by huxianglin 2015.04.14
3.  MYSQL_SOCK=”/tmp/mysql.sock”
4.  MYSQL_PWD=xxxxxx
5.  ARGS=1
6.  if [$# -ne “$ARGS”];then
7.      echo “Please input onearguement:”
8.  fi
9.  case $1 in
10.    Uptime)
11.        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f2 -d”:”|cut -f1-d”T”`
12.            echo $result
13.            ;;
14.        Com_update)
15.            result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w”Com_update”|cut -d”|” -f3`
16.            echo $result
17.            ;;
18.        Slow_queries)
19.        result=`mysqladmin -uroot -p${MYSQL_PWD}-S $MYSQL_SOCK status |cut -f5 -d”:”|cut -f1 -d”O”`
20.                echo $result
21.                ;;
22.    Com_select)
23.        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w”Com_select”|cut -d”|” -f3`
24.                echo $result
25.                ;;
26.    Com_rollback)
27.        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w”Com_rollback”|cut -d”|” -f3`
28.                echo $result
29.                ;;
30.    Questions)
31.        result=`mysqladmin -uroot -p${MYSQL_PWD}-S $MYSQL_SOCK status|cut -f4 -d”:”|cut -f1 -d”S”`
32.                echo $result
33.                ;;
34.    Com_insert)
35.        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w”Com_insert”|cut -d”|” -f3`
36.                echo $result
37.                ;;
38.    Com_delete)
39.        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w”Com_delete”|cut -d”|” -f3`
40.                echo $result
41.                ;;
42.    Com_commit)
43.        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w”Com_commit”|cut -d”|” -f3`
44.                echo $result
45.                ;;
46.    Bytes_sent)
47.        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w “Bytes_sent”|cut -d”|” -f3`
48.                echo $result
49.                ;;
50.    Bytes_received)
51.        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w”Bytes_received” |cut -d”|” -f3`
52.                echo $result
53.                ;;
54.    Com_begin)
55.        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w”Com_begin”|cut -d”|” -f3`
56.                echo $result
57.                ;;
58.                       
59.        *)
60.        echo”Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)”
61.        ;;
62.esac
修改权限 chmod 755 /etc/zabbix-2.4.4/scripts/checkmysqlperformance.sh
4. 在 Zabbix_agentd.conf 里面添加 UserParameter,格式如下,对于 Zabbix 来说,脚本其实就是一个插件。
1.  UserParameter=mysql.version,mysql -V
2.  UserParameter=mysql.ping,mysqladmin -uroot -pxxxxxx -S /tmp/mysql.sock ping | grep -c alive
3.  UserParameter=mysql.status[*],/etc/zabbix-2.4.4/scripts/checkmysqlperformance.sh $1 $2
5. 重启 agentd 服务器,然后在 zabbix server 中添加模板 Template AppMySQL。
6. 在 zabbix 前端可以实时查看 SQL 语句每秒钟的操作次数。

Zabbix 监控 MySQL 数据库状态

7. 在 zabbix 前端可以实时查看 mysql 发送接收的字节数。其中 bytes received 表示从所有客户端接收到的字节数,bytes sent 表示发送给所有客户端的字节数。

Zabbix 监控 MySQL 数据库状态

总结
把该脚本放到要监控的服务器上面(Modifymysql user and password),修改 UserParameter 的参数并重启 agentd,Link 官方提供的 Template App MySQL 模板即可。
我这里是测试环境用 root 账号,线上服务器安全期间可以给 mysql 用户授权 readonly 权限。
根据实际的需求,除了监控上述监控项之外,还可以监控 mysqlprocesslist,Innodb 等。

一些 Zabbix 相关教程集合

安装部署分布式监控系统 Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm

《安装部署分布式监控系统 Zabbix 2.06》http://www.linuxidc.com/Linux/2013-07/86942.htm

CentOS 6.3 下 Zabbix 安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm

Zabbix 分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm

CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm

CentOS 6.3 下 Zabbix 监控 MySQL 数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm

64 位 CentOS 6.2 下安装 Zabbix 2.0.6   http://www.linuxidc.com/Linux/2014-11/109541.htm

ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-04/116304.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3796字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中