1.给zabbix-server添加自带的mysql监控项
配置–主机–zabbix server
配置–模版–右上角群组选择Templates/Databases
然后发现自带的监控项很少 只有一个模版Template DB MySQL
步骤:
配置–主机–选择zabbix server–模版–链接指示器(选择)—群组选择Templates/Databases ----选择唯一的模版Template DB MySQL—更新
(1)网页添加 zabbix自带的mysql 监控模板
2.导入自己的mysql服务的监控模版
进入agent目录下,查看配置文件
(此是去部署数据库)
[root@server1 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@server1 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server1 zabbix_agentd.d]# cat userparameter_mysql.conf
查看 userparameter_mysql.conf 文件,看到类似 HOME=/var/lib/zabbix 的路径设置
也就是上面的.my.cnf文件所在的目录路径。 在zabbix_agent服务目录下创建.my.cnf 连接文件
UserParameter=mysql.ping,HOME=/usr/local/zabbix/ mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
通过上面这个文件可以看到,我们新建的配置文件写两部分 mysql 和mysqladmin
因为本机默认server是localhost,所以两部分的这个都不用写
mysql 默认使用 mysqladmin
检测 mysql 是否存活
mysqladmin -uzabbix -predhat -h127.0.0.1 ping | grep -c alive
####### 得到结果为 1,表示 mysql 正常,为 0 表示 mysql 挂了
[root@server1 zabbix_agentd.d]# mkdir /var/lib/zabbix #上面的目录没有,我们需要手动建立
[root@server1 zabbix_agentd.d]# cd /var/lib/zabbix/
[root@server1 zabbix]# ll /etc/my.cnf
-rw-r--r--. 1 root root 570 Sep 21 2016 /etc/my.cnf
[root@server1 zabbix]# vim .my.cnf #为了保证数据库配置的安全性,我们将该文件设置为隐藏文件
#以下选项会被MySQL客户端应用读取。注意只有MySQL附带的客户端应用程序保证可以读取这段内容。
如果你想你自己的MySQL应用程序获取这些值。需要在MySQL客户端库初始化的时候指定这些选项。
[mysql]
user = zabbix #ps ax 看到的zabbix_server 的用户就是zabbix,所以不用root,太大
password = westos
socket = /var/lib/mysql/mysql.sock #用于本地连接的socket套接字
[mysqladmin]
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock
[root@server1 zabbix]# systemctl restart zabbix-agent
cat /var/log/zabbix/zabbix_agent.log
started..
started..
(3)mysql 默认使用 mysqladmin 检测 mysql 是否存活
mysqladmin -uzabbix -predhat -h127.0.0.1 ping | grep -c alive
####### 得到结果为 1,表示 mysql 正常,为 0 表示 mysql 挂了
因为该文件中的目录不存在,所以mkdir /var/lib/zabbix
(4)由于 mysql 帐号密码写在命令行对以后维护不好,也不安全,所以写在配置文件里
vim .my.cnf ##建立为隐藏文件更安全**
[mysql]
host = localhost
user = root
password = redhat
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
host = localhost
user = root
password = redhat
socket = /var/lib/mysql/mysql.sock
systemctl restart zabbix-agent
查看隐藏文件:ls -a
然后在 web 端可以看到 mysql 相关的两个图形有数据, 如果没数据就进入 mysql 随便敲几条,mysql -p 进去之后show databases; use zabbix;等操作
在浏览器查看 图形选择MYSQL operations 也就是数据库操作 自带的图形 ---预览 可以看到图形哦
##以上是使用 zabbix 自带的 mysql 监控模板
等待一段时间
【2】使用 percona 模板来监控 mysql
##对应着手册写配置
##因为 zabbix 自带的 mysql 监控的监控项太少,只有一些基础的监控,并且没有可以直
接使用的 key,不能满足生产环境需求,需要扩展,所以使用 percona 插件。Percona 为
MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版
本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工
具;另外有更多的参数和命令来控制服务器行为 。
获取模版,percona是开源的mysql分析工具,安装
增加mysql模块 向zabbix监控中导入模块 监控mysql的模版percona(开源的mysql分析工具)
(1)解压percona包
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
复制percona的监控模版到被监控的服务器也就是server1上的zabbix-agent的相应目录下
复制 percona 配置文件
percona的脚本是由php编写的需要准备好php的运行环境,将zabbix的数据库和密码都写入php脚本中
(也可以修改文件ss_get_mysql_stats.php )
cd /var/lib/zabbix/percona/templates ##模板
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@server1 templates]# wc -l userparameter_percona_mysql.conf #监控项的个数 共190
190 userparameter_percona_mysql.conf
#网页可以看到此模板中有 190 个监控项
(2)配置 mysql 的用户名和密码,新建一个文件,不用修改原脚本
vim /var/lib/zabbix/percona/scrips/ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';
systemctl restart zabbix-agent
测试percona的监控脚本get_mysql_stats_wrapper.sh并且过滤监控项
#执行脚本读取/tmp/localhost-mysql_cacti_stats.txt 文件中gk对应的值。
[root@server1 zabbix_agentd.d]# vim userparameter_percona_mysql.conf ##模版
里面就有value值为get_mysql_stats_wrapper.sh
##也就是说执行这个监控脚本get_mysql_stats_wrapper.sh 可以获取到/tmp/localhost-mysql_cacti_stats.txt里面的gK(也可以是其他)对应的值哦
##运行脚本获取数据,能获取到数据说明配置正常
cd /var/lib/zabbix/percona/scripts/
./get_mysql_stats_wrapper.sh gk
#查看所有 key 值
cat /tmp/localhost-mysql_cacti_stats.txt
这是一个缓存文件,里面记录了所有 key 对应的值
cd /tmp
删除监控项文件localhost-mysql_cacti_stats.txt,让系统自动生成,删除文件是因为要服务自己生成
(3)导入模板
向zabbix监控的web界面中导入监控mysql的模版percona
选择导入
配置–模版–导入(右上角)->Browse->选中zbx_percona_mysql_template.xml(这是供zabbix监控同一台服务器上的多个mysql实例使用的模版)-> 点击聚合图形的两个(不选聚合图形不会显示在同一界面中,不方便))->导入-> 删除原来的模板,添加 percona 模板
##添加后可以看到监控项多了很多,打开一个监控项查看图形,例如打开第一个CPU预览图形
删除之前的链接的系统自带的mysql模版
更新完成,查看zabbix server的监控项,可以看到导入percona模版后的监控项数量变为297个,监控项,图形,触发器数量大大增加
更有利于我们在生产环境中对数据库进行全面监控