这里的环境是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键值来进行测试了
- 3.1 先看看自带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"
- 3.2、我们使用ping的这个键值对来进行实验 在agent端执行下面的命令
mysqladmin -h localhost -P 3306 ping
`会提示输入密码 输入刚才zabbix用户的密码即可`
`结果返回 mysqld is alive 就说明成功了`
- 3.3 在zabbix_server端执行命令
zabbix_get -s 172.17.0.3 -p 10050 -k mysql.ping[localhost,3306]
`结果返回 mysqld is alive 就说明成功了`
4 接下来就可以在zabbix_web端去执行监控
配置模板 DB MySQL
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端进行配置
注意这里不需要有进程中的配置 因为每秒更改 是 (value-per_vlaue)/(time-per_time) 的值 所以是1-1 永远是0 看不到结果
看到下面这个图说明你已经能够检测到数据了