Zabbix分布式监控(4)——Zabbix监控Mysql

本实验是在Zabbix分布式监控(3)——Zabbix监控httpd服务和nginx服务实验基础上进行的,已经配置好了zabbix-server和zabbix-agent主机,并在zabbix-web界面上配置好了图案的汉字化。

一、配置zabbix监控mysql

实验环境

主机名 ip 服务 版本
server1 172.25.1.1 zabbix-server,zabbix-web,mariadb-server rhel7.3
server2 172.25.1.2 zabbix-agent rhel7.3
server3 172.25.1.3 zabbix-agent rhel7.3

实验

在server1上
步骤一:在web界面给Zabbix server主机添加zabbix自带的mysql监控模版
Zabbix分布式监控(4)——Zabbix监控Mysql_第1张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第2张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第3张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第4张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第5张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第6张图片
步骤二:查看mysql的key监控目录

cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

Zabbix分布式监控(4)——Zabbix监控Mysql_第7张图片
mysql 默认使用 mysqladmin 检测 mysql 是否存活

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

在这里插入图片描述
步骤三:根据文件提示,创建zabbix 监控 mysql 的配置目录

mkdir /var/lib/zabbix
cd /var/lib/zabbix/
vim .my.cnf  #建立为隐藏文件更安全
[mysql]
host=localhost
user=zabbix  #ps ax 看到的zabbix_server 的用户就是zabbix,所以不用root,权限太大
password=redhat
socket=/var/lib/mysql/mysql.sock

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

systemctl restart zabbix-agent  #重启服务

在这里插入图片描述
Zabbix分布式监控(4)——Zabbix监控Mysql_第8张图片
步骤五:查看agent日志,确定配置是否成功
Zabbix分布式监控(4)——Zabbix监控Mysql_第9张图片
注意:此时如果报如下错误

6068:20200320:162239.873 no active checks on server [127.0.0.1:10051]: host [Zabbix server] not found
报错原因:
/var/log/zabbix/zabbix_agent.conf配置文件中配置的HostName与zabbix的web界面配置的不同导致的
解决如下:
web界面中设置的hostname为zabbix server
Zabbix分布式监控(4)——Zabbix监控Mysql_第10张图片
修改我的配置文件 /var/log/zabbix/zabbix_agent.conf中的Hostname
在这里插入图片描述
此时,重启zabbix-agent服务即可。
步骤四:在 web 端可以看到 mysql 相关的两个图形有数据
此时,图上可能没数据,进入 mysql 敲几条命令,再次查看就有数据了

[root@server1 zabbix]# mysql -predhat
MariaDB [(none)]> show databases;
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> select * from users;

Zabbix分布式监控(4)——Zabbix监控Mysql_第11张图片刷新web界面:
Zabbix分布式监控(4)——Zabbix监控Mysql_第12张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第13张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第14张图片
Zabbix分布式监控(4)——Zabbix监控Mysql_第15张图片

二、使用 percona 模板来监控 mysql

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

在server1上
步骤一:在网上下载percona-zabbix-templates,并安装

rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm

Zabbix分布式监控(4)——Zabbix监控Mysql_第16张图片
步骤二:复制 percona 配置文件

cd /var/lib/zabbix/percona/templates
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

在这里插入图片描述
步骤三:percona的脚本是由php编写的需要准备好php的运行环境,编写php脚本配置 mysql 的用户名和密码

cd /var/lib/zabbix/percona/scripts
vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';
?>

systemctl restart zabbix-agent

Zabbix分布式监控(4)——Zabbix监控Mysql_第17张图片
步骤四:测试配置,获取key为gk的键值

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gk

在这里插入图片描述
能获取到数据说明配置正常

步骤五:查看所有 key 值

cat /tmp/localhost-mysql_cacti_stats.txt    #这是一个缓存文件,里面记录了所有 key 对应的值

Zabbix分布式监控(4)——Zabbix监控Mysql_第18张图片
步骤六:在web界面导入模板
配置 —>模版 —> 群组 —> Templates/Operabing systems —> 导入 —> Brwose选择模板存放的位置 —> 勾选聚合图形 —>导入
Zabbix分布式监控(4)——Zabbix监控Mysql_第19张图片
在网上下载模板文件zbx_percona_mysql_template.xml,下载方法:

wget http://jaminzhang.github.io/soft-conf/Zabbix/zbx_percona_mysql_template.xml

Zabbix分布式监控(4)——Zabbix监控Mysql_第20张图片
下载好之后导入,并选择聚合图形
Zabbix分布式监控(4)——Zabbix监控Mysql_第21张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第22张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第23张图片
步骤七:删除之前的链接的系统自带的mysql模版
配置—>主机 —>zabbix server—>模板—>Template DB MySQL取消链接—>选择—>Template Percona MySQL Server—>添加—>更新
Zabbix分布式监控(4)——Zabbix监控Mysql_第24张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第25张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第26张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第27张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第28张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第29张图片Zabbix分布式监控(4)——Zabbix监控Mysql_第30张图片
随便打开一个查看:
Zabbix分布式监控(4)——Zabbix监控Mysql_第31张图片

你可能感兴趣的:(Linux企业实战)