6.zabbix学习笔记:zabbix监控mysql(一)

来源:互联网 发布:java idea maven 打包 编辑:程序博客网 时间:2024/05/16 04:52

zabbix监控mysql


在zabbix中自带对mysql监控的模板(Template App MySQL),他对于mysql的监控内容包括CRUD操作以及状态监控等信息(监控的内容相对比较有限),如下图所示:
这里写图片描述

包括:
msyql.ping
mysql.version
mysql.status[*]

今天我们来介绍下如何能够使用shell采集mysql的相关信息,并且生成key和对应的items,然后将数据采用图形的界面进行显示(Graphs),并且介绍下第三方的工具来监控mysql。


自定义方式监控MYSQL

首先我们要了解监控指定服务的指定内容是需要以下几个过程的:

1.首先要能够采集到数据(包括权限的允许、服务的状态以及合适的命令);
2.采集数据的命令可以后,需要在/etc/zabbix/zabbix-agentd.conf文件内写入相关的UserParameter;
3.然后在zabbix-server服务端使用zabbix_get命令进行相关键值的测试
4.在web控制界面创建相关的items和graphs

流程图如下所示:

这里写图片描述

采集数据

1.首先我们采集mysql的版本信息和ping状态:

(1)版本信息:
[root@server5 mnt]# mysql -V
mysql Ver 14.14 Distrib 5.1.71, for redhat-linux-gnu (x86_64) using readline 5.1

(2)ping状态:
这里写图片描述

如果是得到结果1说明mysql是开启的

2.然后查询mysql的命令执行情况

得到mysql当前服务的状态:
这里写图片描述

在这些状态中可以根据需要监控的项目使用grep进行截取,非常的方便,所以我们可以编写如下的脚本:

//get_mysql_status.sh脚本#初始化设定MYSQL_USER=rootMYSQL_PASSWORD=redhatARGS=1MYSQL_COMMAND="show status"#参数检测if [ $# -ne "${ARGS}" ];then    echo "please input the argument..."firesult=$(mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "${MYSQL_COMMAND}" | grep -w $1 | awk -F " " '{print $2}')echo ${result}

运行脚本,例如我们采集mysql当前运行了多长时间:
这里写图片描述


配置agent

/etc/zabbix/zabbix-agentd.conf文件中添加下列三个内容:
这里写图片描述

修改完该文件后需要重启zabbix-agent服务:
这里写图片描述


zabbix-server测试

在zabbix的服务端可以采用zabbix_get进行测试,查看数据获取是否正常:
这里写图片描述


添加到web

在zabbix的web监控见面我们可以添加相关的item和graphs进行显示:

我以mysql的Uptime为例,其他的项目类似:

创建items:

单击“Configuration”—>“Host”—>“agent1.example.com”—>“Create item”:
这里写图片描述

设置对应的key:
这里写图片描述

创建Graphs:
这里写图片描述

绑定对应的items:
这里写图片描述

查看Graphs的监控效果:
这里写图片描述


小结:

上述情况我们介绍了mysql监控的一般流程,如果需要个性化的设置可以在此基础上对数据进行再次的加工,下一个章节将会介绍更多样的监控mysql的方法。

1 0
原创粉丝点击