实现Zabbix监控mysql服务

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个,监控项,图形,触发器数量大大增加
更有利于我们在生产环境中对数据库进行全面监控

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值