共计 3576 个字符,预计需要花费 9 分钟才能阅读完成。
简介:
如何使用 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 $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 监控页面中文乱码
问题描述:
如题,我相信大多数人都遇到过这个问题,Zabbix 监控图 中文乱码。
解决这个问题也很简单:(Zabbix 网页目录中缺少字体)
1、打开 Windows 的 C:\Windows\Fonts 字体存放目录,选一款你喜欢的字体 (建议选清爽一点的,太花的放上去看不清楚)
2、我选择的是 楷体常规,文件名为 simkai.ttf,把这个文件传到服务器的 Zabbix 网页目录中 ../html/zabbix/fonts (如果原文件名是 .TTF 的,记得改成 .ttf)
3、编辑 ../zabbix/include/defines.inc.php 文件,找到 define(‘ZBX_GRAPH_FONT_NAME’, ‘DejaVuSans’); 行,将 DejaVuSans 修改为 simkai 即可。
4、刷新页面就能看到效果。
一些 Zabbix 相关教程集合:
Ubuntu 14.04 下 Zabbix2.4.5 源码编译安装 http://www.linuxidc.com/Linux/2015-05/117657.htm
安装部署分布式监控系统 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/2016-04/130436.htm