你的位置:首页 > 操作系统

[操作系统]Zabbix Agent 自动、主动注册



简述:

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

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

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

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

一、安装 Agent

shell > cd /scripts ; vim auto_install_zabbix_agent.sh#!/bin/bashcd /usr/local/src# download zabbix agentwget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.1/zabbix-3.0.1.tar.gz# install zabbix agenttar zxf zabbix-3.0.1.tar.gzcd zabbix-3.0.1./configure --prefix=/usr/local/zabbix_agent --enable-agent ; make install# configcp 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_agentdecho 'Zabbix Agent is Install sucessed .'# End

二、配置 Agent auto-Registration

shell > grep -vP '^#|^$' /usr/local/zabbix_agent/etc/zabbix_agentd.confLogFile=/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 startshell > netstat -lnpt | grep zabbix_agenttcp 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 即可