简介:

如何使用 Zabbix 来监控 Mysql 状态 ?

Zabbix 有自带监控 Mysql 的模板,但是却不能直接使用.. 需要我们根据模板提供的 Key 自己写脚本获取数据

1、查看都有哪些 Key

> Configuration -> Templates

## 在此模板页中,可以看到 Template App MySQL 模板中有 14 个 Items ,我们需要自己写脚本获取这 14 个值

## 分别是:Com_select、Com_insert 、Com_update 、Com_delete 、Com_begin 、Com_commit 、Com_rollback
                 Questions 、Slow_queries 、Bytes_received 、Bytes_sent 、Ping 、Uptime 、Version

2、根据 Key 编写 Shell 脚本

shell > mysql -uroot -p -e "grant usage on *.* to zabbix@localhost identified by 'zabbix_password';" # 建立监控用户

shell > vim /script/mysql_status.sh

#!/bin/bash

User='you_user'
Password='you_password' Mysql='/usr/local/mysql/bin/mysql'
Mysqladmin='/usr/local/mysql/bin/mysqladmin' command(){
$Mysql -u $User -p$Password -e "show global status" | awk '$1 ~ /'"$1"'$/ {print $2}'
} case $ in
Com_select)
command $ ;;
Com_insert)
command $ ;;
Com_update)
command $ ;;
Com_delete)
command $ ;;
Com_begin)
command $ ;;
Com_commit)
command $ ;;
Com_rollback)
command $ ;;
Questions)
command $ ;;
Slow_queries)
command $ ;;
Bytes_received)
command $ ;;
Bytes_sent)
command $ ;;
Uptime)
command $ ;;
Version)
$Mysql -V | awk -F '[ ,]' '{print $6}' ;;
Ping)
$Mysqladmin -u$User -p$Password ping | wc -l ;;
*)
echo "Usage: $0 { Com_select|Com_insert|Com_update|Com_delete|Com_begin|Com_commit|Com_rollback|Questions|Slow_queries|Bytes_received|Bytes_sent|Ping|Uptime|Version }" ;;
esac

## 关于两个命令路径,我使用 `which mysql` 这样的操作没有成功
## 写完先测试一下,能不能获取各 Key 的值

shell > chmod a+x /script/mysql_status.sh

3、添加自定义 key 配置文件

shell > vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql_status.conf
# Mysql_status
UserParameter=mysql.status[*],/script/mysql_status.sh $
UserParameter=mysql.ping,/script/mysql_status.sh Ping
UserParameter=mysql.version,/script/mysql_status.sh Version

## 注意模板里 Key 的取值方式
## 也可以直接加到 /usr/local/zabbix/etc/zabbix_agentd.conf 末尾

shell > vim /usr/local/zabbix/etc/zabbix_agentd.conf

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

UnsafeUserParameters=1 # 允许自定义 Key

## 添加上面配置

4、重启 Zabbix_agentd

shell > service zabbix_agentd restart

## 注意,上面全部操作都是在被监控端

5、Zabbix 服务端测试能否拿到 Key

shell > /usr/local/zabbix/bin/zabbix_get -s 14.25.97.14 -k mysql.ping

## 可以获取到 key 的值,说明配置没有问题了
## 被监控端记得要开启 10050 端口

6、Zabbix 监控 Mysql 状态

## 接下来把 Zabbix 自带的监控模板链接到主机即可
## 过上一小会,就能看到效果了,version 可能比较时间长点,因为模板里设的时间范围是 3600 秒,ping 会误报一次 Mysql Down ,因为只前是没有值的。

7、为这些监控项添加 Graph

## 自带的模板已经做好了两张图,所以直接使用即可,我这里是空载,所以啥也看不出来..

8、测试 Trigger 告警

## 很遗憾,自带的模板中也已经定义好了 Trigger 告警条件,来瞅瞅

> Configuration -> Templates -> Trigger

Severity :   ## 事件告警级别

Not classified 未知安装等级,灰色

Information 一般信息,亮绿

Warning 警告信息,黄色

Average 一般故障,橙色

High 高级别故障,红色

Disaster 致命故障,亮红

Name :   ## Trigger 名称

Expression :   ## 对触发器状态计算的逻辑正则表达式

Status :        ## 触发器开关

## 怎么设置触发告警条件下次写 ^_^

## 好了,如果 Mysql 处于 down 状态时会触发条件,但是,触发之后呢 ?( 当然是要发送事件通知啦,或执行远程命令 )

9、先把这个放一放,去搞别的!( 监控已经完成,后面的部分放别的地方继续 )

Zabbix 监控 Mysql 状态的更多相关文章

  1. zabbix 监控mysql状态 -Windows

    由于公司爬虫mysql数据库在Windows下面,监控一下: 主要命令:mysqladmin -uroot -proot -h127.0.0.1 ping 2>D:\zabbix\waring. ...

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

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

  3. zabbix监控mysql性能

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

  4. zabbix监控mysql以及其他常见

    zabbix监控mysql以及其他常见,监控mysql,也可是使用percona提供的详细的模板,里面的监控项目非常的详细 <template>Template Percona MySQL ...

  5. Zabbix监控,Mysql,Nginx,PHP-FTPM

    一 Zabbix监控Mysql 监控Mysql,Zabbix提供了一个监控模板,所有可以直接使用.或者使用Percona提供的监控模板. 1. 使用自带监控模板 1.1.1 编写监控模板 #!/bin ...

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

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

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

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

  8. 如何用zabbix监控mysql多实例

    agent上起了多了 mysql实例,占用不同的端口,agent 仅在初始状况下,塞入脚本和 键配置,然后重启. 以后维护的时候(mysql端口变动),要做到 不能 动agent,力争 只在 web端 ...

  9. Zabbix监控mysql performance

    介绍 zabbix监控mysql性能,使用zabbix自带的mysql监控模板,可以监控以下内容OPS(增删改查).mysql慢查询数量.mysql请求\响应流量带宽 配置 新建mysql监控用户 G ...

随机推荐

  1. bzoj 5288 游戏

    bzoj 5288 游戏 显然从点 \(x\) 出发,能到达的点是包含 \(x\) 的一段区间.用 \(L,R\) 两个数组记录每个点对应的区间端点. 如果能预处理出 \(L,R\) ,询问显然可以 ...

  2. bzoj 4447 小凸解密码

    bzoj 4447 小凸解密码 先将原始状态的 \(B\) 处理出来,可以发现,若不修改,则每次指定的起始位置不同,对这个环 \(B\) 带来的影响只有 \(B_0\) 不同,即每次 \(B_0=A_ ...

  3. 嵌入式视频采集编程思路(Video 4 Linux)-转

    转自:http://zyg0227.blog.51cto.com/1043164/271954 1.  linux 内核有video for linux简称V4L.V4L是Linux影像系统与嵌入式影 ...

  4. ecmall在linux下的安装注意事项(转)

    今天跟ecshop客服胡娇沟通后知道ecmall基本配置是[LAMP] linux+apache+mysql+php,然后自己开始在linux下安装ecmall并做迁移,整理了一下中间碰到的问题.1. ...

  5. Tomcat(64位)免安装版的环境安装与配置

    本篇博客主要介绍Tomcat(64位)免安装版的环境安装与配置,该篇文章同样适合于32位Tomcat免安装版的环境安装与配置. 该篇博客中的大部分内容同百度经验中的<出现unable to op ...

  6. Codeforces Round #204 (Div. 2) C. Jeff and Rounding——数学规律

    给予N*2个数字,改变其中的N个向上进位,N个向下进位,使最后得到得数与原来数的差的绝对值最小 考虑小数点后面的数字,如果这些数都非零,则就是  abs(原数小数部分相加-1*n), 多一个0 则 m ...

  7. curl post数据

    调用方式: $header = self::getHeader(); $data = self::postUrl($url, $header); /** * 组合Header * @return ty ...

  8. JVM内存管理之GC简介

    为何要了解GC策略与原理?        原因在上一章其实已经有所触及,就是因为在平时的工作和研究当中,不可避免的会遇到内存溢出与内存泄露的问题.如果对GC策略与原理不了解的情况下碰到了前面所说的问题 ...

  9. (转)Inno Setup入门(三)——指定压缩方式

    本文转载自:http://blog.csdn.net/augusdi/article/details/8564796 Setup段中的compression指定了采用的压缩方式,较高的压缩率需要较多的 ...

  10. Java-Runoob-高级教程:Java Applet 基础

    ylbtech-Java-Runoob-高级教程:Java Applet 基础 1.返回顶部 1. Java Applet 基础 Applet 是一种 Java 程序.它一般运行在支持 Java 的 ...