中间件

zabbix监控mysql

2019-11-29  本文已影响0人  夜醉梦紅尘

这里的环境是centos镜像的docker中安装mysql然后启动,mysql如何在docker中启动,自行解决
1、修改配置文件

vi /etc/my.cnf
[client]
host=localhost
user=zabbix    #设置用户为zabbix用户 代理默认是zabbix用户
password='密码'    # zabbix用户登录密码
default-character-set=utf8
[mysql]
default-character-set=utf8

[mysqld]
user=mysql
bind-address=0.0.0.0
character-set-server = utf8

2、进入mysql中给zabbix用户授权

grant all on *.* to zabbix@'localhost' identified by '密码'
`设置成功后 使用这个用户登录一下查看是否能登录成功`

3、现在你可以使用agent客户端自带的mysql键值来进行测试了

vi /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 SUM(DATA_LENGTH + INDEX_LENGTH) 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"

mysqladmin -h localhost -P 3306 ping 
`会提示输入密码 输入刚才zabbix用户的密码即可`
`结果返回    mysqld is alive 就说明成功了`

zabbix_get  -s 172.17.0.3 -p 10050 -k mysql.ping[localhost,3306]
`结果返回    mysqld is alive 就说明成功了`

4 接下来就可以在zabbix_web端去执行监控
配置模板 DB MySQL

image image image

5、自定义键值创建redis.stus

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

UserParameter=redis.status[*], redis-cli -p "$1" ping |grep -c PONG

可以现在agent端进行测试一下

redis-cli -p 6379 ping |grep -c PONG
返回值为 1 

在server端进行测试

zabbix_get -s 172.17.0.3  -p 10050 -k redis.stus[6379]
 `返回值为1就好了`

在web端进行配置

image

注意这里不需要有进程中的配置 因为每秒更改 是 (value-per_vlaue)/(time-per_time) 的值 所以是1-1 永远是0 看不到结果

看到下面这个图说明你已经能够检测到数据了

image image
上一篇下一篇

猜你喜欢

热点阅读