zabbix监控MySQL服务状态
Mysql模板使用
在zabbix_agent配置文件中加入监控配置
vim etc/zabbix_agentd.conf
...
UserParameter=mysql.version,mysqladmin -P3366 -hlocalhost version | grep mysqladmin
UserParameter=mysql.ping,mysqladmin -P3366 -hlocalhost ping | grep -c alive
UserParameter=mysql.status[*],/usr/local/zabbix/sh/chk_mysql.sh $1
在zabbix-web界面可以看到键值的设置 mysql.status[Com_begin]
因为在脚本中出现数据库密码会有警告,所以我们直接将参数写入mysql配置文件my.cnf中
[mysqladmin]
user=zabbix
password=zabbix
chk_mysql.sh脚本如下:
#!/bin/bash
MYSQL_HOST='localhost'
MYSQL_PORT='3366'
MYSQL_CONN="/usr/local/mysql/bin/mysqladmin -h${MYSQL_HOST} -P${MYSQL_PORT}"
if [ $# -ne "1" ];then
echo "error error!"
fi
case $1 in
Uptime)
result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"` #mysql启动时间累加,mysql工作时间
echo $result
;;
Com_update)
result=`${MYSQL_CONN} extended-status |grep -w "Com_update"|cut -d"|" -f3` #执行update 操作的次数
echo $result
;;
Slow_queries)
result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"` #慢查询的次数
echo $result
;;
Com_select)
result=`${MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3` #执行select 操作的次数,一次查询只累加1
echo $result
;;
Com_rollback)
result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3` #事务回滚情况,对于回滚操作非常频繁的数据库,可能意味着应用编写存在问题
echo $result
;;
Questions)
result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"` #初始的查询操作的总数
echo $result
;;
Com_insert)
result=`${MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3` #执行insert 操作的次数,对于批量插入的insert 操作,只累加一次;
echo $result
;;
Com_delete)
result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3` #执行delete 操作的次数
echo $result
;;
Com_commit)
result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3` #事务提交次数
echo $result
;;
Bytes_sent)
result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3` #请求流量带宽,发送
echo $result
;;
Bytes_received)
result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3` #响应流量带宽,接收
echo $result
;;
Com_begin)
result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3`
echo $result
;;
Innodb_rows_read)
result=`${MYSQL_CONN} extended-status |grep -w "Innodb_rows_read"|cut -d"|" -f3` #Innodb中select 查询返回的行数
echo $result
;;
Innodb_rows_inserted)
result=`${MYSQL_CONN} extended-status |grep -w "Innodb_rows_inserted"|cut -d"|" -f3` #执行Insert 操作插入的行数
echo $result
;;
Innodb_rows_updated)
result=`${MYSQL_CONN} extended-status |grep -w "Innodb_rows_updated"|cut -d"|" -f3` #执行update 操作更新的行数
echo $result
;;
Innodb_rows_deleted)
result=`${MYSQL_CONN} extended-status |grep -w "Innodb_rows_deleted"|cut -d"|" -f3` #执行update 操作更新的行数
echo $result
;;
Qcache_free_memory)
result=`${MYSQL_CONN} extended-status |grep -w "Qcache_free_memory"|cut -d"|" -f3` #缓存中的空闲内存
echo $result
;;
Qcache_hits)
result=`${MYSQL_CONN} extended-status |grep -w "Qcache_hits"|cut -d"|" -f3` #每次查询在缓存中命中时就增大
echo $result
;;
Qcache_inserts)
result=`${MYSQL_CONN} extended-status |grep -w "Qcache_inserts"|cut -d"|" -f3` #每次插入一个查询时就增大。命中次数除以插入次数就是不中比率
echo $result
;;
Threads_connected)
result=`${MYSQL_CONN} extended-status |grep -w "Threads_connected"|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||Innodb_rows_read|Innodb_rows_inserted|Innodb_rows_updated|Innodb_rows_deleted|Qcache_free_memory|Qcache_hits|Qcache_inserts|Threads_connected)"
;;
esac
zabbix监控MySQL服务状态的更多相关文章
- ZABBIX监控mysql主从状态
模板如下 <zabbix_export> <version>3.4</version> <date>2018-11-30T08:28:28Z</d ...
- Zabbix监控mysql主从复制状态
原理 mysql slave show slave status\G 在输出信息中查看I/O线程和SQL线程的状态值(YES为正常,NO为错误) Slave_IO_Running: Yes Slave ...
- Zabbix监控mysql主从状态并实现报警
一.环境需求 主机A: zabbix-server 主机B: zabbix-agent/mysql从 二.主机B操作 1.添加监控脚本 vim /data/zabbix/mysql_slave_che ...
- zabbix监控nginx服务状态
nginx需要安装--with-http_stub_status_module模块 $ nginx -V nginx version: nginx/1.12.2 built by gcc 4.8.5 ...
- zabbix监控mysql主从同步和延迟
https://blog.csdn.net/natmazz/article/details/90581490 https://www.cnblogs.com/01-single/p/10602610. ...
- Zabbix 监控 Mysql 状态
简介: 如何使用 Zabbix 来监控 Mysql 状态 ? Zabbix 有自带监控 Mysql 的模板,但是却不能直接使用.. 需要我们根据模板提供的 Key 自己写脚本获取数据 1.查看都有哪些 ...
- Zabbix监控mysql配置及故障告警配置
本文主要介绍zabbix监控mysql的配置,包含使用zabbix自带模板监控mysql相关信息及自定义key监控mysql同步情况.同时介绍了触发器的创建及zabbix通过邮件方式告警配置. 一.配 ...
- zabbix监控mysql性能
使用zabbix监控mysql的三种方式 1.只是安装agent 2.启用模板监控 3.启用自定义脚本的模板监控 zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中. ...
- Zabbix 监控MySQL、Apache、Nginx应用监控
zabbix对第三方应用软件的监控,主要有两个工作难点,一个是编写自定义监控脚本,另一个是在编写模板并导入zabbix web中,编写脚本这个要根据 监控需求定制即可,而编写模板文件有些难度,不过网上 ...
随机推荐
- python 日期排序
转自:http://www.cnblogs.com/lkprof/p/3179850.html,感谢分享~ 问题1:如果日期中有千年以前的情况(没法用格式化函数),如('2010-11-23','19 ...
- gamemakerstudio:room_speed和image_speed
room_speed是游戏步数,每秒多少步(步事件)image_speed是动画帧率room_speed变则整个游戏变慢image_speed变只是该object动画变慢 除了游戏全局加速减速,一般不 ...
- java面试题之----转发(forward)和重定向(redirect)的区别
阅读目录 一:间接请求转发(Redirect) 二:直接请求转发(Forward) 用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相 ...
- Dynamics CRM 批量新建域用户
好久没写了,今天大牛教了我偷懒的批量新建域用户的方法 是不是觉得 控制面板 =>管理工具=>用户和计算机=>Users=>新建用户,一个个建,很烦是不是,而且耗时,我上个项目 ...
- Android下最小化程序到后台代码
procedure TForm1.Button4Click(Sender: TObject); var Intent: JIntent; begin Intent := TJIntent. ...
- 2017软件测试_HW1_最近遇到的编程问题
最近遇到的错误:我对着网页源代码编写了一段爬虫语句,运行没有提示有错误,而且 可以抓取到全部的数据,但是不能按照要求将这些数据分到制定的位置. 发现问题原因:我把抓取到的字段对着网页源码看了一下,发 ...
- KMP算法的工作流程介绍
最近又想起了KMP算法,原来一直没搞明白工作原理,现在总算是开点窍了,推荐大家看这篇文章,写的很简单易懂 推荐理由:简单明了,是我看过介绍KMP算法流程的所有文章中,最易懂的一篇(这篇文章仅仅是介绍了 ...
- Ural State University Internal Contest October'2000 Junior Session
POJ 上的一套水题,哈哈~~~,最后一题很恶心,不想写了~~~ Rope Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7 ...
- 小草的Trouble学生信息管理系统
小草最近上课学C++,在图书馆纠结了好久,决定做这个小东西,没想到遇到了好多困难,好吧,功夫不负有心人,小草也在敲代码中提高了不少. 小草硬是学了好几天,才搞完这个东西,也算是了结了小草的一个心结. ...
- 牛客国庆集训派对Day2 F、平衡二叉树 【构造+记忆化搜索】
任意门:https://www.nowcoder.com/acm/contest/202/F 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 1048576K,其他语言2097152K6 ...