zabbix实现对mysql数据库的监控

安装、配置zabbix,请点击这里



实验环境:

server1:Zabbix server + zabbix-agent + mariadb【172.25.9.1】
server2:zabbix-agent 【172.25.9.2】
server3:zabbix-agent 【172.25.9.3】
我已经配置好基础的zabbix界面:这里注意将Zabbix server加入到DB mysql模版中。

在这里插入图片描述

数据库安装&配置:

server1:

yum install -y zabbix-server-mysql mariadb-server zabbix-web-mysql
systemctl start mariadb  #开启数据库
mysql_secure_installation  #安全初始化 
mysql -p   #输入密码登录
CREATE USER zabbix@'%' identified by'redhat';    创建zabbix用户
GRANT all privileges ON zabbix.* TO zabbix@'%' identified by'redhat';   #授权
exit   #退出数据库界面
cd /usr/share/doc/zabbix-server-mysql-4.0.5/ 
zcat create.sql.gz | mysql -p zabbix #输入mariadb设置的密码 
mysql -predhat use zabbix show tables #可以查看到zcat导入进来的表【144个】 
cd /etc/zabbix/ vim zabbix_server.conf #更改DBPassword= 密码【我统一都设置为redhat】 
systemctl restart zabbix-server #开启服务

系统自带的基础监控项目:

事实上,在zabbix的模版中,是自带有mysql的模版的,我们可以直接使用其模版来监控:

1.先给有数据库的Zabbix server主机,添加mysql模版
在这里插入图片描述
2.在图形中我们可以看到,有图形显示的mysql数据库信息只有两个,非常得少,并且从需求来讲,这不一定是我们想要的。所以,需要去配置自己的监控模版。

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

配置自己的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]
user = zabbix   #ps ax 看到的zabbix_server 的用户就是zabbix,所以不用root
password = westos
socket = /var/lib/mysql/mysql.sock

[mysqladmin]
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock

[root@server1 zabbix]# systemctl restart zabbix-agent

这里我们需要获取开源的mysql分析工具,percona:
我用的是percona-zabbix-templates-1.1.8-1.noarch.rpm
有需要的话可以去pkgs或者rpms上找一下

percona官网【打开比较慢,海外网】

rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm  #获取后下载

在这里插入图片描述
复制percona的监控模版到被监控的服务器也就是server1上的zabbix-agent的相应目录下。

[root@server1 scripts]# cd /var/lib/zabbix/percona/scripts    #percona安装生成的目录
[root@server1 scripts]# ls 
get_mysql_stats_wrapper.sh  ss_get_mysql_stats.php    #捕获数据脚本,有前端页面监控的数据
#ss_get_mysql_stats.php   #存有数据
#get_mysql_stats_wrapper.sh   #可以捕获php文件中的数据
[root@server1 scripts]# cd /var/lib/zabbix/percona/templates    #模版
[root@server1 templates]# ls 
userparameter_percona_mysql.conf  zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@server1 templates]# wc -l userparameter_percona_mysql.conf      #监控项的个数 共190
190 userparameter_percona_mysql.conf
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/   复制监控项模版文件到zabbix客户端配置目录下
[root@server1 templates]# systemctl restart zabbix-agent   #重启客户端,使被读取
cd /var/lib/zabbix/percona/scripts   
vim ss_get_mysql_stats.php.cnf   #percona脚本是php写的,所以要有php的支持,将zabbix数据库的用户和密码写入文件中
  <?php
  $mysql_user = 'root';
  $mysql_pass = 'westos';

在这里插入图片描述
测试percona的监控脚本并且过滤监控项

在/etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf配置文件中,会有调用时对应的变量指定关系。
/tmp/localhost-mysql_cacti_stats.txt 记录所有监控项

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh 会取得制定变量的值
在这里插入图片描述在这里插入图片描述
现在我们要删除监控项已有的监控项值记录文件,让系统自动去生成。

[root@server1 tmp]# rm -fr localhost-mysql_cacti_stats.txt

在这里插入图片描述
以上就完成基础的配置了,其实配置好原有数据库后,只需要我们下载安装percona包,复制一份模版,并给它和数据库直接的联系,最后删除原有的固定监控项值就好了。

剩下的就是在web页面中,导入配置监控模版:

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

在这里插入图片描述导入模版后,链接模版,对应给server1:
在这里插入图片描述
补充一下,我们导入自定义mysql模版后,就可以删除原有的模版了。这里我没有删除,其实是应该删掉的。


                           大大的小小阳
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Zabbix监控 MySQL 数据库,需要进行以下步骤: 1. 安装 Zabbix Agent 在要监控MySQL 服务器上安装 Zabbix Agent。你可以从 Zabbix 官网下载适合你系统的安装包,或使用包管理器进行安装。 2. 安装 MySQL 监控插件 在 Zabbix Server 上安装 MySQL 监控插件。你可以从 Zabbix 官网下载适合你版本的插件。 3. 配置 MySQL 监控插件 在 Zabbix Server 上编辑插件配置文件(mysql.conf),配置 MySQL 数据库的连接信息和监控项。 例如: ``` UserParameter=mysql.ping, mysqladmin -uroot ping | grep -c alive UserParameter=mysql.version, mysql -V UserParameter=mysql.status[*], mysqladmin -uroot -p$1 status $2 | awk '{print $$NF}' UserParameter=mysql.size[*], mysql -uroot -p$1 -e 'SELECT table_schema "$2", Round(Sum(data_length + index_length) / 1024 / 1024, 2) "Size (MB)" FROM information_schema.tables WHERE table_schema="$2";' | grep -v Size UserParameter=mysql.qps, mysqladmin -uroot -p$1 status | cut -f9 -d':' | awk '{print $$1}' ``` 这些配置项允许 Zabbix Agent 在远程 MySQL 服务器上执行命令并获取数据。 4. 添加 MySQL 监控项 在 Zabbix Server 上添加 MySQL 数据库监控项。你可以通过 Zabbix Web 界面添加监控项,包括: - MySQL 数据库版本 - MySQL 数据库状态 - MySQL 数据库大小 - MySQL 数据库 QPS(每秒查询数) 5. 创建 MySQL 监控模板 在 Zabbix Web 界面上创建 MySQL 监控模板,并将监控项添加到模板中。 6. 将 MySQL 主机关联到监控模板 将要监控MySQL 主机关联到 MySQL 监控模板。 完成以上步骤后,你就可以在 Zabbix Web 界面上查看 MySQL 数据库监控数据了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值