使用zabbix自带的模板监控mysql


1.系统环境

  • 软件及其版本
    软件|版本
    ----|----
    OS|Centos6.8-2.6.32-642.el6.x86_64
    zabbix|zabbix-3.2.4.tar.gz
    web|nginx-1.10.3.tar.gz
    mysql|mysql-5.5.53-linux2.6-x86_64.tar.gz
    php|php-5.5.38.tar.gz

  • 软件安装路径
    zabbix安装在/usr/local/zabbix路径下,其相关配置文件及二进制执行程序都放置其中。
    mysql安装在/usr/local/mysql路径下,其相关配置文件及二进制执行程序也都放置其中。

2.mysql服务器上的操作

2.1 提供.my.cnf文件

.my.cnf这个文件是zabbix要求的用于存放连接mysql数据库的账户信息的隐藏文件,需要手动创建,其存放位置可以自定义,一般存放 在zabbix安装路径的etc目录中,操作如下:

vim /usr/local/zabbix/etc/.my.cnf
[mysql]                     #mysql程序要使用的账户信息
host=localhost
user=zabbix
password="zabbix"   #此处的密码强烈建议加上引号
socket=/tmp/mysql.sock  #确认mysql的sock文件路径
[mysqladmin]             #mysqladmin程序要使用的账户信息
host=localhost
user=zabbix
password="zabbix"
socket=/tmp/mysql.sock

2.2 提供mysql的userparameter配置文件

当zabbix server和agentd,web interface都配置完成以后,在zabbix源码包目录中自带的有一个用于mysql监控的userparameter配置文件,建议将它复制到特定目录中,具体操作如下:

cp ~/softwares/zabbix-3.2.4/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/

然后修改复制过来的userparameter_mysql.conf

  • HOME=/var/lib/zabbix改成HOME=/usr/local/zabbix/etc
    之所以这样改,在userparameter_mysql.conf文件的第一行有说明For all the following commands HOME should be set to the directory that has .my.cnf file with password information.
  • 将其中的指令部分mysqlmysqladmin改成绝对路径,文件修改完后最终的样子如下,其它部分涉及到HOMEmysql指令的也可以修改:
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N | awk '{print $$2}'  
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysqladmin ping | grep -c alive
UserParameter=mysql.version,HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -V

2.3 将mysql的userparameter配置文件包含到zabbix_agentd的配置中

修改mysql服务器上的/usr/local/zabbix/etc/zabbix_agentd.conf文件:

 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/   #根据
 # zabbix_agentd.conf.d搜索,然后去掉前面的注释,把路径改成
 #和系统实际情况一致即可

2.4 重启zabbix_agentd服务

service zabbix_agentd restart

3. zabbix server上的操作

3.1 给mysql主机应用mysql监控模板

给相应的主机调用zabbix自带的mysql监控模板,操作过程如下

monitoring_mysql-1
monitoring_mysql-2

monitoring_mysql-3

在主机属性列表Templates处出现Template App MySQL即表示此主机已调用了zabbix这一自带的MySQL监控模板。

3.2 观察mysql监控结果

mysql监控配置完后,可以在Monitoring--->Latest data中根据主机名进行过滤,查看mysql相关状态,包含有mysql慢查询等很多mysql status可以查看的mysql状态数据的监控,具体操作过程如下:

monitoring_mysql-4
monitoring_mysql-5
monitoring_mysql-6

4. 根据业务实际情况配置相应的trigger和action

根据业务实际运行情况,结合监测到的数据,对mysql的监控数据配置相应的trigger和action,默认情况下只有在mysql down的时候会触发一个trigger。具体实现有待后续学习实践。

推荐阅读更多精彩内容