zabbix监控mysql

198 阅读2分钟

架构

image.png

实验环境介绍

测试的环境如下:

作用IP 地址主机名操作系统版本
Zabbix Server192.168.1.1157-5CentOS 7zabbix-server-mysql-5.0
MySQL 机器(Zabbix Agent)192.168.91.1157-5CentOS 75.5.68-MariaDB
MySQL 机器(Zabbix Agent2)192.168.91.1167-6CentOS 75.5.68-MariaDB

zabbix-agent监控本地mysql

安装zabbix-agent并启动(略)

zabbix agent 安装mysql

yum install -y mariadb-server mariadb  ​  
systemctl enable --now mariadb    #将数据库设置为开机自启,并立即启动  ​  mysql_secure_installation         #初始化数据库,并设置密码,如 abc123  ​ 


##添加数据库用户,以及 zabbix 所需的数据库信息 
mysql -u root -p123123      #登录数据库  ​ 

在 Agent mysql中创建 Zabbix 监控用户

CREATE DATABASE zabbix character set utf8 collate utf8_bin;    #设置utf8字符集  
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';  #创建并授权用户,使得zabbix可以访问数据库  
flush privileges;   #刷新权限

配置zabbix监控账号密码

在/etc/my.cnf下加入上面创建的zabbix监控用户,登录数据库没有指定用户名密码时会优先默认使用以下身份登录

vim /etc/my.cnf
[client]
user='zabbix'
password='zabbix'

编写key值配置文件

git.zabbix.com/projects/ZB… 官方文档

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


UserParameter=mysql.ping[*], mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], mysql -h"$1" -P"$2" -sN -e "SELECT COALESCE(SUM(DATA_LENGTH + INDEX_LENGTH),0) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"

在agent配置文件把key文件include进来

vim /etc/zabbix/zabbix_agentd.conf

Include=/etc/zabbix/zabbix_agentd.d/*.conf #268行已经有就跳过

重启动zabbix_agentd

选择模板

image.png

查看最新数据

image.png

利用zabbix-agent2监控本地mysql

首先安装zabbix-agent2,并启动服务

image.png

zabbix-agent2安装mysql(略)

在agent2 mysql中创建 Zabbix 监控用户并赋予权限(略)

连接模板

image.png

查看监控项

筛选出模板下的mysql应用集

image.png

有几个监控项的键值用到3个变量,分别是mysql客户端ip,mysql登录的账号和密码,需要赋值 image.png

在主机宏中对变量赋值

image.png

查看最新监控数据

image.png