当前位置:Gxlcms > 数据库问题 > Zabbix 监控 Mysql 状态

Zabbix 监控 Mysql 状态

时间:2021-07-01 10:21:17 帮助过:3人阅读

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 $1 in Com_select) command $1 ;; Com_insert) command $1 ;; Com_update) command $1 ;; Com_delete) command $1 ;; Com_begin) command $1 ;; Com_commit) command $1 ;; Com_rollback) command $1 ;; Questions) command $1 ;; Slow_queries) command $1 ;; Bytes_received) command $1 ;; Bytes_sent) command $1 ;; Uptime) command $1 ;; 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 $1
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
1

## 可以获取到 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 状态

标签:

人气教程排行