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服务状态的更多相关文章

  1. ZABBIX监控mysql主从状态

    模板如下 <zabbix_export> <version>3.4</version> <date>2018-11-30T08:28:28Z</d ...

  2. Zabbix监控mysql主从复制状态

    原理 mysql slave show slave status\G 在输出信息中查看I/O线程和SQL线程的状态值(YES为正常,NO为错误) Slave_IO_Running: Yes Slave ...

  3. Zabbix监控mysql主从状态并实现报警

    一.环境需求 主机A: zabbix-server 主机B: zabbix-agent/mysql从 二.主机B操作 1.添加监控脚本 vim /data/zabbix/mysql_slave_che ...

  4. zabbix监控nginx服务状态

    nginx需要安装--with-http_stub_status_module模块 $ nginx -V nginx version: nginx/1.12.2 built by gcc 4.8.5 ...

  5. zabbix监控mysql主从同步和延迟

    https://blog.csdn.net/natmazz/article/details/90581490 https://www.cnblogs.com/01-single/p/10602610. ...

  6. Zabbix 监控 Mysql 状态

    简介: 如何使用 Zabbix 来监控 Mysql 状态 ? Zabbix 有自带监控 Mysql 的模板,但是却不能直接使用.. 需要我们根据模板提供的 Key 自己写脚本获取数据 1.查看都有哪些 ...

  7. Zabbix监控mysql配置及故障告警配置

    本文主要介绍zabbix监控mysql的配置,包含使用zabbix自带模板监控mysql相关信息及自定义key监控mysql同步情况.同时介绍了触发器的创建及zabbix通过邮件方式告警配置. 一.配 ...

  8. zabbix监控mysql性能

    使用zabbix监控mysql的三种方式 1.只是安装agent 2.启用模板监控 3.启用自定义脚本的模板监控 zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中. ...

  9. Zabbix 监控MySQL、Apache、Nginx应用监控

    zabbix对第三方应用软件的监控,主要有两个工作难点,一个是编写自定义监控脚本,另一个是在编写模板并导入zabbix web中,编写脚本这个要根据 监控需求定制即可,而编写模板文件有些难度,不过网上 ...

随机推荐

  1. html 表格的一些属性设置

    第一种:单元格跨行 第二种:单元格间距 第三种:带有标题的表格 第四种:带标题的表格

  2. Web测试中定位bug方法

    在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,没错,确实是BUG.进一步了解这个BUG的问题出在那里,是测试人员需要掌握的,可以简单的使用浏览器自带开发者工具 ...

  3. SpringMVC方法接收参数可以为空、默认值设置

  4. .NET部分知识点整理

    .Net学习 Visual Studio2018 企业版:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF 专业版:KBJFW-NXHK6-W4WJM-CRMQB-G3CDH 开发工具常用V ...

  5. Asterisk 对wav格式的支持

    经过测试wav格式文件仅支持PCM 8000kHz 16bit 单声道,非常蛋疼的一个原因,排查了好久! 关于C#支持的一些格式(Mono 单声道 .Stereo 立体声道) // Standard ...

  6. Linux下Vue项目搭建karma测试框架

    前提:vue项目已创建,node.js.npm已安装 1.全局安装karma脚手架 karma-cli  [貌似可以不安装] #npm i -g karma-cli 2.转到Vue项目目录,项目下安装 ...

  7. 716. Max Stack (follow up questions for min stack)

    Design a max stack that supports push, pop, top, peekMax and popMax. push(x) -- Push element x onto ...

  8. [转]JetBrains IntelliJ IDEA 13 Keygen (Java Source Code)

    转载:http://www.rover12421.com/2013/12/09/jetbrains-intellij-idea-13-keygen-java-source-code.html JetB ...

  9. Hive创建外部表以及分区

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/sheismylife/article/details/27874943 创建带分区的外部表 创建外部 ...

  10. Python的免费在线学习课程

    网上资源不是本人的,所以,只是转发.其它的不负责 http://www.imooc.com/learn/177