本实验是在Zabbix分布式监控(3)——Zabbix监控httpd服务和nginx服务实验基础上进行的,已经配置好了zabbix-server和zabbix-agent主机,并在zabbix-web界面上配置好了图案的汉字化。
主机名 | 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监控模版
步骤二:查看mysql的key监控目录
cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
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 #重启服务
步骤五:查看agent日志,确定配置是否成功
注意:此时如果报如下错误
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
修改我的配置文件 /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 自带的 mysql 监控的监控项太少,只有一些基础的监控,并且没有可以直接使用的 key,不能满足生产环境需求,需要扩展,所以使用 percona 插件。Percona 为MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为 。
在server1上:
步骤一:在网上下载percona-zabbix-templates,并安装
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
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
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gk
步骤五:查看所有 key 值
cat /tmp/localhost-mysql_cacti_stats.txt #这是一个缓存文件,里面记录了所有 key 对应的值
步骤六:在web界面导入模板
配置 —>模版 —> 群组 —> Templates/Operabing systems —> 导入 —> Brwose选择模板存放的位置 —> 勾选聚合图形 —>导入
在网上下载模板文件zbx_percona_mysql_template.xml,下载方法:
wget http://jaminzhang.github.io/soft-conf/Zabbix/zbx_percona_mysql_template.xml
下载好之后导入,并选择聚合图形
步骤七:删除之前的链接的系统自带的mysql模版
配置—>主机 —>zabbix server—>模板—>Template DB MySQL取消链接—>选择—>Template Percona MySQL Server—>添加—>更新
随便打开一个查看: