系列文章
Zabbix(一)Zabbix 5.0 LTS 版本搭建
Zabbix(二)添加 Agent 主机
自动发现与动作
自动发现
假设我现在需要添加监控 100 台主机,这个工作量有点大。所以我可以把这 100 台连好网络,配置并启动好 zabbix-agent 服务。然后在 zabbix server 上配置一个自动发现规则,自动发现这 100 台主机。
自动发现是由服务端主动发起,Zabbix Server 开启发现进程,定时扫描网络中符合条件的主机。
动作
自动发现了这 100 台主机,但是还要添加监控主机和链接模板。这时可以通过动作来达到此目的。
现有服务器环境
角色 | 系统 | IP | 主机名 |
---|---|---|---|
server | CentOS 7.9 | 192.168.1.7 | zabbix.server |
agent | CentOS 7.9 | 192.168.1.8 | backend.server |
agent | CentOS 7.9 | 192.168.1.9 | frontend.server |
这里我们通过自动发现的方式,再添加两台 agent 主机
!!!防火墙、时间同步、主机名等初始化设置这里不在赘述!!!
角色 | 系统 | IP | 主机名 |
---|---|---|---|
agent | CentOS 7.9 | 192.168.1.3 | mysql.server |
agent | CentOS 7.9 | 192.168.1.4 | redis.server |
主机安装 zabbix-agent
这一步骤建议通过 ansible 操作,对所有主机进行批量安装。
创建 agent 安装脚本
vim /root/install_agent.sh
脚本内容
zabbix_server_ip=192.168.1.7
hostname=`hostname`
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum clean all
yum install -y zabbix-agent
sed -i "s/Server=127.0.0.1/Server=${zabbix_server_ip}/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/ServerActive=127.0.0.1/ServerActive=${zabbix_server_ip}/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/Hostname=Zabbix server/Hostname=${hostname}/g" /etc/zabbix/zabbix_agentd.conf
systemctl start zabbix-agent.service && systemctl enable zabbix-agent.service
ansible 执行
ansible all -m script -a '/root/install_agent.sh'
在管理页面配置自动发现
1、创建发现规则
配置 → 自动发现 → 创建发现规则
配置完成
监测 → 自动发现,查看已发现的主机
2、创建动作
自动发现主机后,要配置动作,将 agent 主机添加进主机列表,并配置模版
选择 Discovery actions 创建动作
添加匹配条件
添加动作
添加成功