zabbix-agent2安装,并监控MYSQL和docker容器

本文详细介绍如何在CentOS 6及CentOS 7上卸载旧版并安装Zabbix Agent2,包括配置更改及MySQL用户授权步骤。此外,还介绍了如何设置Zabbix服务器上的监控模板。
#先卸载旧版zabbix-agent
rpm -qa | grep zabbix
rpm -e XXXXXX

#更新 agent 为 zabbix-agent2
#Centos6:
rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/6/x86_64/zabbix-release-5.4-1.el6.noarch.rpm
yum clean all
yum install zabbix-agent2 -y
service zabbix-agent2 restart
chkconfig --level 35 zabbix-agent2 on

#Centos7:
rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm
yum clean all
yum install zabbix-agent2 -y
systemctl restart zabbix-agent2
systemctl enable zabbix-agent2


#修改文件:
vim /etc/zabbix/zabbix_agent2.conf
Server=zabbix主机IP
ServerActive=zabbix主机IP
Hostname=监控主机IP或随便写个英文hostname

#重启agent2,使配置生效
systemctl restart zabbix-agent2


#mysql新建监控用户 @'localhost' 表示只限本机访问,@'%'表示任何机都可访问
mysql -u root -p
#mysql 5.7 授权Zabbix用户,用于发送数据 
grant all on *.*  to 'zabbixmonitor'@'localhost' identified by '密码请改成英文';
#使其生效
flush privileges;

#mysql 8.0
#创建账户
create user 'zabbixmonitor'@'%' identified by '密码请改成英文';
#赋予权限,with grant option这个选项表示该用户可以将自己拥有的权限授权给别人
grant all privileges on *.* to 'zabbixmonitor'@'%' with grant option;
#使其生效
flush privileges;


#验正测试使用授权的zabbix用户登录数据库
mysql -uzabbixmonitor -p -h 127.0.0.1
#输入密码

#在zabbix服务器设置:
#添加 MySQL by Zabbix agent 2 模板,在 主机->宏->继承以及主机 宏->修改以下3个值
{$MYSQL.DSN} = tcp://127.0.0.1:3306
{$MYSQL.PASSWORD} = 密码
{$MYSQL.USER} = zabbixmonitor

#监测->最新数据,看一下是否成功

关于监控Docker,需要添加 Docker 模板即可

zabbix-agent2的确是一个很好的agent,比第一代强大非常多

### 部署与配置 Zabbix Agent监控运行在 Docker 中的 MySQL 实例 为了实现对运行在 Docker 容器中的 MySQL 实例进行监控,需要在宿主机上部署 Zabbix Agent通过特定的配置来获取容器内的监控数据。以下是详细的部署与配置步骤。 #### 1. 安装 Zabbix Agent 首先,在宿主机上安装 Zabbix Agent。可以使用系统的包管理工具进行安装: ```bash $ yum install -y zabbix-agent ``` 安装完成后,编辑 Zabbix Agent 的配置文件 `/etc/zabbix/zabbix_agentd.conf`,根据环境进行以下配置: - 如果宿主机上运行了 Zabbix Server 的 Docker 实例,配置 Server ServerActive 为 Docker 的 IP 地址: ```bash Server=172.20.240.3 ServerActive=172.20.240.3 ``` - 如果宿主机仅作为被监控节点,配置 Server ServerActive 为 Zabbix Server 的宿主机地址: ```bash Server=192.168.1.1 ServerActive=192.168.1.1 ``` - 注释掉 Hostname 配置,让 Agent 自动解析: ```bash # Hostname=**** ``` - 如果操作系统不允许创建 `zabbix` 用户,需使用 `root` 运行 Agent: ```bash AllowRoot=1 ``` #### 2. 配置自定义监控项 为了监控运行在 Docker 容器中的 MySQL 实例,需要编写自定义脚本通过 Zabbix Agent 暴露这些监控项。 创建自定义配置文件 `/etc/zabbix/zabbix_agentd.d/mysql_docker.conf`,添加以下内容: ```bash UserParameter=mysql.status,/etc/zabbix/scripts/mysql_status.sh ``` 创建脚本文件 `/etc/zabbix/scripts/mysql_status.sh`,用于获取 MySQL 容器的状态信息: ```bash #!/bin/bash # 获取 MySQL 容器名称 CONTAINER_NAME="mysql_container" # 使用 docker exec 在容器内执行命令 docker exec $CONTAINER_NAME mysql -u root -p"your_password" -e "SHOW GLOBAL STATUS;" | awk '/Threads_connected/{print $2}' ``` 确保脚本具有可执行权限: ```bash $ chmod +x /etc/zabbix/scripts/mysql_status.sh ``` #### 3. 重启 Zabbix Agent 完成配置后,重启 Zabbix Agent 以应用更改: ```bash $ systemctl restart zabbix-agent ``` #### 4. 在 Zabbix Web 界面中配置监控项 登录到 Zabbix Web 界面,按照以下步骤操作: 1. **添加主机**:在主机列表中添加宿主机作为被监控节点,指定 Hostname 与 Agent 配置中的一致。 2. **创建监控项**:在主机的监控项页面中,添加新的监控项,选择 `Zabbix agent` 类型,输入键值 `mysql.status`。 3. **设置触发器**:为监控项创建触发器,以便在 MySQL 的连接数异常时生成告警。 #### 5. 验证监控数据 在 Zabbix Web 界面中查看监控项的历史数据,确认是否能够成功获取 MySQL 容器的运行状态。如果数据未更新,检查 Zabbix Agent 日志 `/var/log/zabbix/zabbix_agentd.log` 以排查问题。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

davidzzc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值