Zabbix Agent 自动、主动注册

今天来研究一下 Zabbix 的主动注册功能。

当你有十台机器需要监控时,你手动去添加是没有问题的。但是当你有五十台、上百台或更多服务器要监控时,你会怎么做 ?

Active Agent Auto-Registration 主要用于 Agent 主动且自动向 Server 注册。很好的解决了 Agent IP、系统、配置不统一等问题。

非常适合现在的云环境中。

一、安装 Agent

shell > cd /scripts ; vim auto_install_zabbix_agent.sh

#!/bin/bash

cd /usr/local/src

# download zabbix agent

wget %20Latest%20Stable/3.0.1/zabbix-3.0.1.tar.gz

# install zabbix agent

tar zxf zabbix-3.0.1.tar.gz

cd zabbix-3.0.1

./configure --prefix=/usr/local/zabbix_agent --enable-agent ; make install

# config

cp misc/init.d/Fedora/core/zabbix_agentd /etc/init.d/

sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix_agent#' /etc/init.d/zabbix_agentd

echo 'Zabbix Agent is Install sucessed .'

# End

二、配置 Agent auto-Registration

shell > grep -vP '^#|^$' /usr/local/zabbix_agent/etc/zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log    # 指定日志路径
Server=121.42.11.220              # 被动模式下的 Zabbix Server 地址
# StartAgents=0                  # 禁止使用被动模式 ( 禁止后 agent 将不监听任何地址、端口 )

ServerActive=121.42.11.220        # 主动模式下的 Zabbix Server 地址

Hostname=Auto RServer 54.64      # 机器标识符 ( Web 界面显示的主机名称 )
HostMetadata=password 123456      # 主动注册条件,很灵活,你可以像我一样做成这种方式,两个字段完全匹配才添加主机

三、启动 Agent

shell > service zabbix_agentd start

shell > netstat -lnpt | grep zabbix_agent
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 7149/zabbix_agentd

四、Web 前端配置

1、模板

> Configuration --> Templates --> 点击 Templates OS Linux --> Full clone ( 完全克隆 )

Template name Template OS Linux Active      # 起一个唯一的名称

Add                                                            # 完成克隆

> Configuration --> Templates --> 点击 Templates OS Linux Active --> Items ( 还要将 item 改为主动模式 ) --> 全选,点击下面的 Mass update

Type                                                            # 勾选,将原来的 Zabbix agent 改为 Zabbix agent(active)

Update                                                        # 完成

## 我们发现跟这个模板关联的还有一个是 Template App Zabbix Agent ,使用同样的方法修改!
## 修改完之后,还需要打开更改后的 OS Linux 模板,Linked template 将原来的被动 Agent 模板,换成更改后的主动 Agent 模板。

2、Auto Registration

> Configuration --> Actions --> ( Event source ) Auto-Registration --> Create action

Name Auto Registration

Default subject Auto registration:{HOST:HOST}

Default message Host name:{HOST.HOST}
 Host IP:{HOST.IP}
 Agent port:{HOST.PORT}

Conditions ( 条件 )

New condition Host metadata like password        # 条件一
Add

New condition Host metadata like 123456          # 条件二
Add

Type of calculation And A and B                        # 关系为 And ,两条件必须同时满足

Operations ( 操作 )

Action operations New # 开始添加操作

Operation details Operation type Add host            # 操作一:添加主机
Add

Operation details Operation type Link to template # 操作二:链接模板
Templates Template OS Linux Action
Add

Operation details Operation type Send message    # 操作三:发送邮件
Send to User groups DevOPS
Send only to My_Email
Default message √
Add

Add                                                                  # 全部完成 !

五、测试

# 保存完成,大约一、两分钟,就会主机自动注册完成,并且会收到邮件!

## 遇到的问题 !

1、如果 Agent 将被动模式完全关闭 ( Server 注释掉,StartAgents 设为 0 ## 前面注释掉,后面必须设为 0 )

Agent 将不监听任何地址、端口!

Zabbix Server Web 会显示无法连接到 Agent。这是因为添加的主机中 Agent interfaces 里写了 Agent 地址、端口。

2、防火墙情况:Zabbix Server TCP 10051 / Zabbix Agent Server TCP 10050

3、主机状态:如果能获取到数据,无报错,就是颜色不变,重启一下 Zabbix Server 即可

一些Zabbix相关教程集合

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6d9b045b0a8c826b56b59d7fccd5b5e0.html