Zabbix监控Server端数据库

监控 zabbix server 上的 mysql 服务
其实zabbix监控agent端的mysql数据库原理上很简单,就是你需要在zabbix客户端新建一个用户,这个用户的账号密码存放到

隐藏的文件中,(也是考虑安全性嘛~),服务端通过读取这个配置文件的用户密码去登陆数据库,然后把采集的结果反馈给客户端,

切记我们这里不要给root的权限用户哟~
1.配置mysql

在/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 文件中指定了 zabbix agent 如何获取 mysql服务的各种信息,并在/var/lib/zabbix 目录中新建“.my.cnf”文件,用以指定 zabbix agent 如何登陆数据库,默认使用的是 zabbix 用户,可以在 zabbix_server.conf 文件中找到密码。

[root@zabbix_server ~]# cd /etc/zabbix/zabbix_agentd.d
[root@zabbix_server zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@zabbix_server zabbix_agentd.d]# cat userparameter_mysql.conf | grep mysql

# Flexible parameter to grab global variables. On the frontend side, use keys like mysql.status[Com_insert].
# Key syntax is mysql.status[variable].
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'
# Flexible parameter to determine database or table size. On the frontend side, use keys like mysql.size[zabbix,history,data].
# Key syntax is mysql.size[<database>,<table>,<type>].
UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/var/lib/zabbix mysql -N'
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V

[root@zabbix_server zabbix_agentd.d]# mkdir -p /var/lib/zabbix

[root@zabbix_server ~]# mysql_secure_installation      ##添加秘码
[root@zabbix_server ~]# mysql -ppasswd     ##测试登陆
MariaDB [(none)]> 
[root@zabbix_server ~]# mysqladmin -uroot -ppasswd ping | grep -c alive        ##测试获取 mysql服务的信息
1
[root@zabbix_server zabbix]# cd /var/lib/zabbix/
[root@zabbix_server zabbix]# vim .my.cnf

[mysql]
host=localhost
user=root
password=passwd                     ##这个密码是root用户的登陆密码
socket=/var/lib/mysql/mysql.sock

[mysqladmin]
host=localhost
user=root
password=passwd
socket=/var/lib/mysql/mysql.sock

[root@zabbix_server zabbix]# systemctl restart zabbix-agent.service
[root@zabbix_server el7]# yum install -y zabbix-get-3.2.6-1.el7.x86_64.rpm
[root@zabbix_server ~]# zabbix_get -s 127.0.0.1 -k mysql.version
mysql  Ver 15.1 Distrib 5.5.44-MariaDB, for Linux (x86_64) using readline 5.1

[root@zabbix_server ~]# zabbix_get -s 127.0.0.1 -k mysql.ping      ##测试获取 mysql服务的信息

如果是监控远程主机的 mysql 服务需要创建 zabbix 用户并授权
MariaDB [(none)]> GRANT USAGE ON . TO ‘zabbix’@’localhost’ IDENTIFIED BY ‘passwd’;
MariaDB [(none)]> FLUSH PRIVILEGES;

点击 配置->主机-> Zabbix server ->模版 ->选择 -> Template App MySQL
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述
点击 配置->主机->Zabbix server 图形 可以看到两个新的监控图形
这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值