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

zabbix监控mysql


在zabbix中自带对mysql监控的模板(Template App MySQL),他对于mysql的监控内容包括CRUD操作以及状态监控等信息(监控的内容相对比较有限),如下图所示:
6.zabbix学习笔记:zabbix监控mysql(一)_第1张图片

包括:
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

流程图如下所示:

6.zabbix学习笔记:zabbix监控mysql(一)_第2张图片

采集数据

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状态:
6.zabbix学习笔记:zabbix监控mysql(一)_第3张图片

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

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

得到mysql当前服务的状态:
6.zabbix学习笔记:zabbix监控mysql(一)_第4张图片

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

//get_mysql_status.sh脚本

#初始化设定
MYSQL_USER=root
MYSQL_PASSWORD=redhat
ARGS=1
MYSQL_COMMAND="show status"

#参数检测
if [ $# -ne "${ARGS}" ];then
    echo "please input the argument..."
fi

result=$(mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "${MYSQL_COMMAND}" | grep -w $1 | awk -F " " '{print $2}')
echo ${result}

运行脚本,例如我们采集mysql当前运行了多长时间:
6.zabbix学习笔记:zabbix监控mysql(一)_第5张图片


配置agent

/etc/zabbix/zabbix-agentd.conf文件中添加下列三个内容:
6.zabbix学习笔记:zabbix监控mysql(一)_第6张图片

修改完该文件后需要重启zabbix-agent服务:
6.zabbix学习笔记:zabbix监控mysql(一)_第7张图片


zabbix-server测试

在zabbix的服务端可以采用zabbix_get进行测试,查看数据获取是否正常:
6.zabbix学习笔记:zabbix监控mysql(一)_第8张图片


添加到web

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

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

创建items:

单击“Configuration”—>“Host”—>“agent1.example.com”—>“Create item”:
6.zabbix学习笔记:zabbix监控mysql(一)_第9张图片

设置对应的key:
6.zabbix学习笔记:zabbix监控mysql(一)_第10张图片

创建Graphs:
6.zabbix学习笔记:zabbix监控mysql(一)_第11张图片

绑定对应的items:
6.zabbix学习笔记:zabbix监控mysql(一)_第12张图片

查看Graphs的监控效果:
6.zabbix学习笔记:zabbix监控mysql(一)_第13张图片


小结:

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

你可能感兴趣的:(zabbix,mysql)