Zabbix分布式监控(5)——使用Zabbix监控Mysql

本实验是在《Zabbix分布式监控实战(1)——Zabbix简介及Zabbix监控平台的搭建》实验基础上进行的,已经配置好了zabbix-server和zabbix-agent主机,并在zabbix-web界面上配置好了图案的汉字化。

上一篇博客的链接:https://blog.csdn.net/dghfttgv/article/details/105044154

目录

一、配置zabbix监控mysql

  •    步骤一:在web界面给Zabbix server主机添加zabbix自带的mysql监控模版
  •    步骤二:编辑mysql的key监控目录
  •    步骤三:查看agent日志,确定配置是否成功
  •    步骤四:在 web 端可以看到 mysql 相关的两个图形有数据
  •    步骤五:刷新web界面

二、使用 percona 模板来监控 mysql

  •    步骤一:在网上下载percona-zabbix-templates,并安装
  •    步骤二:复制percona的监控模版到被监控的服务器也就是server1上的zabbix-agent的相应目录下
  •    步骤三:percona的脚本是由php编写的需要准备好php的运行环境,将zabbix的数据库和密码都写入php脚本中
  •    步骤四:测试配置,获取key为gk的键值
  •    步骤五:查看所有 key 值
  •    步骤六:在真机上下载 zbx_percona_mysql_template.xml 模板文件
  •    步骤七:向zabbix监控的web界面中导入监控mysql的模版percona

一、配置zabbix监控mysql

实验环境:Zabbix分布式监控实战(1)——Zabbix简介及Zabbix监控平台的搭建

主机名 ip 服务 版本
server1 172.25.6.1 zabbix-server,zabbix-web,mariadb-server, zabbix-agent rhel7.5

实验

在server1上:
步骤一:

在web界面给Zabbix server主机添加zabbix自带的mysql监控模版

添加模板

步骤二:

编辑mysql的key监控目录

[root@server1 ~]# vim  /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf     ##编辑和监控的项目 
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin  ping | grep -c alive
UserParameter=mysql.version,mysql -V

[root@server1 ~]# systemctl restart zabbix-agent.service       ##重启服务

mysql 默认使用 mysqladmin 检测 mysql 是否存活

mysqladmin -uzabbix -pppp -h 127.0.0.1 ping | grep -c alive

[root@server1 ~]# mkdir /var/lib/zabbix/           ##创建目录                                           
[root@server1 ~]# cd /var/lib/zabbix/              
[root@server1 zabbix]# vim .my.cnf                 ##建立为隐藏文件更安全 

[mysql]
host=localhost                                     ##ps ax 看到的zabbix_server 的用户就是zabbix,所以不用root,权限太大
user=zabbix
password=ppp
socket=/var/lib/mysql/mysql.sock

[mysqladmin]
host=localhost
user=zabbix
password=ppp
socket=/var/lib/mysql/mysql.sock  

[root@server1 zabbix]# ll -a                        ##查看隐蔵文件
[root@server1 ~]# systemctl restart zabbix-agent.service        ##重启服务

步骤三:查看agent日志,确定配置是否成功

[root@server1 zabbix]# cat /var/log/zabbix/zabbix_agentd.log

步骤四:在 web 端可以看到 mysql 相关的两个图形有数据
此时,图上可能没数据,进入 mysql 敲几条命令,再次查看就有数据了

[root@server1 ~]# mysql -uroot -pppp        ##登录数据库
MariaDB [(none)]> use zabbix                ##进入到zabbix用户下
MariaDB [zabbix]> select * from users;      ##查看用户的列表

步骤五:

刷新web界面:

查看监控效果

(上述实验的监控的mysql模板太少!!)

二、使用 percona 模板来监控 mysql

因为 zabbix 自带的 mysql 监控的监控项太少,只有一些基础的监控,并且没有可以直接使用的 key,不能满足生产环境需求,需要扩展,所以使用 percona 插件。Percona 为MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为 。

在server1上:
步骤一:

在网上下载percona-zabbix-templates,并安装

获取模版,percona是开源的mysql分析工具

[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm    ##安装 

步骤二:

复制percona的监控模版到被监控的服务器也就是server1上的zabbix-agent的相应目录下

[root@server1 ~]# cd /var/lib/zabbix/percona/templates
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

步骤三:

percona的脚本是由php编写的需要准备好php的运行环境,将zabbix的数据库和密码都写入php脚本中
(也可以修改文件ss_get_mysql_stats.php )

[root@server1 scripts]#vim ss_get_mysql_stats.php.cnf 
<?php
$mysql_user = 'root';
$mysql_pass = 'ppp';
?>

[root@server1 scripts]# systemctl restart zabbix-agent.service 

步骤四:

测试配置,获取key为gk的键值

[root@server1 scripts]# /var/lib/zabbix/percona/script/get_mysql_stats_wrapper.sh gk

(看到有数值就说明成功 !!!)

步骤五:查看所有 key 值

[root@server1 scripts]# cat /tmp/localhost-mysql_cacti_stats.txt 

步骤六:

在真机上下载 zbx_percona_mysql_template.xml 模板文件

[root@foundation6 Downloads]# wget http://jaminzhang.github.io/soft-conf/Zabbix/zbx_percona_mysql_template.xml

步骤七:

向zabbix监控的web界面中导入监控mysql的模版percona
选择导入
配置 —>模版 —> 群组 —> Templates/Operabing systems —> 导入 —> Brwose选择模板存放的位置 —> 勾选聚合图形 —>导入

Zabbix分布式监控实战(1)——Zabbix简介及Zabbix监控平台的搭建

删除之前的链接的系统自带的mysql模版

更新完成,查看zabbix server的监控项,可以看到导入percona模版后的监控项数量变为238个,监控项,图形,触发器数量大大增加
更有利于我们在生产环境中对数据库进行全面监控

查看监控项

发布了93 篇原创文章 · 获赞 1 · 访问量 1900

猜你喜欢

转载自blog.csdn.net/dghfttgv/article/details/105067007