zabbix客户端自动注册

1. 概述

上一篇内容《zabbix自动发现配置》,大概内容是zabbix server去扫描一个网段,把在线的主机添加到Host列表中。我们本篇内容与上篇相反,这次是Active agent主动联系zabbix server,最后由zabbix server将这些agent加到host里。对于需要部署特别多服务器的人来说,这功能相当给力。所有服务器批量装好zabbix agent,server配置好trigger,所有的服务器都配置好了,非常快速。

2. 配置

2.1配置文件修改

指定server ip

修改Hostname

关于主机名:如果zabbix_agentd.conf配置有定义Hostname,那么zabbix会使用这个Hostname命名,否则agent的主机名(hostname得来的)

修改metadataitem

2.2 配置action

步骤:configuration>>action>>Event source(选择Auto registration)>>Create Action,我们按如下步骤来定义个action

2.2.1 action选项卡

hostmetadata

定义Action名称,以及发送消息的主题和内容,使用默认的就行了

2.2.2 Conditions选项卡

hostmetadata

Host metadata包含Linux字符的主机将会触发 2.2.3的操作,什么是metadata,文章的下半段会专门讲解。

2.2.3 operations选项卡

hostmetadata

满足条件的active host发起请求,server会完成三个动作:

  • 把agent加到host列表
  • 把agent加入linux servers组
  • agent主机link模板Template OS linux

3. 查看结果

查看/tmp/zabbix_server.log我们能看到如下内容:

看到如上内容,表明host增加成功,此时此刻的host列表如下:

hostmetadata

4. HostMetadataItem与HostMetadata

作用:用于标示主机,通过该符号能够把主机区别开来。比如我们经常用它来区分linux与windows系统,这样才能分别给他们设置组与template等等

4.1 HostMetadataItem用法

它的值来之key

4.2 HostMetadata用法

他的值是直接定义的

通过使用各式各样的metadata我们可以用于区分各个主机,来达到我们各种需求。

###############################################################################################

host metadata是zabbix2.2新增加的功能,该功能在zabbix-agent端可以自定义条件,在选择自动注册的时候,zabbix-server端可以根据host metadata来选择条件,从而实现更多的条件筛选。

在zabbix_agentd.conf中需配置一下两个参数:

  •HostMetadata=字符串:长度范围为0~255

  •HostMetadataItem=item:用于Item获取数据。这里的Item可以设置为system.uname,或者是其他获取到的字符串,长度限制为0~255

1、配置HostMetadataItem和HostMetadata参数

1 [root@AY1405191727556 ~]# vim /etc/zabbix/zabbix_agentd.conf
2 HostMetadataItem=system.uname
3 HostMetadata=worldjoy worljdoy_host

2、在web端设置规则

3、查看结果

添加完成

##################################################################################################

zabbix的网络自动发现是一个非常强大的功能,该功能可以完成以下工作

  •快速发现并添加主机。

  •简单的管理。

  •随着环境的改变而快速搭建监控系统。

网络发现基于以下信息

  •ip地址段

  •基于服务的FTP、SSH、WEB、POP3、IMAP、TCP等。

  •从zabbix-agent接收到的信息。

  •从snmp agent接收到的信息。

网络发现功能不能做到的事情是网络拓扑图的发现。

网络自动发现的两个工作流程是:Discovery(发现、探索)和Actions(动作)。

下面以一个例子来介绍如何配置网络发现。

进入web前段,单机Configuration->Discovery-Creata discovery rule

创建自动添加到相应模板的规则

选择Discovery

注意discovery rule是添加前面定义的discovery rule项目

添加完后当主机发现的时候,zabbix就会启动网络发现进程,并按照设定的扫描规则去发现设备,如下图(在monitoring-》discovery)

 可以看到,zabbix的网络自动发现功能的确很强大。在很短的时间内就可以自动添加成百上千台机器的监控,其实自动添加模板和自动分组的功能更是自动发运维中的利器。

#############################################################################################

Zabbix 自动发现(Discovery)功能使用

随着监控主机不断增多,有的时候需要添加一批机器,特别是刚用zabbix的运维人员需要将公司的所有服务器添加到zabbix,如果使用传统办法去单个添加设备、分组、项目、图像…..结果应该是让人吐的结果。

鉴于这个问题我们可以好好利用下Zabbix的一个发现(Discovery)模块,进而来实现自动刚发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(item)、自动创建图像,下面我们来看看这个模块如何使用。

一、Zabbix 创建发现规则创建发现规则Configuration ---- discovery ---- Create discovery rule

clip_image002

clip_image004

配置基本信息 配置Checks  添加完checks之后 点击最下面的add添加保存即可

OK 规则已经创建完毕了

下面开始让他自动加入到组自动创建图形吧

二、主机自动加入主机组并关联模板

上面我们了解了如何自动发现主机,那么发现主机之后我们要做什么呢?

将主机加入主机组、并关联相应的模板!这样一整个流程就完善了,那么如何做呢?我们上面已经发现了主机接下来要对主机做操作

所以需要一个action (动作)来执行一些列的操作,下面我们来看具体操作。

2.1、为discovery(发现)创建action(动作)Configuration ---- Actions ---- Event source(选择Discovery) ---- Create action

clip_image006

2.1.1、输入 Action 名字

clip_image008

2.1.2、添加触发Action的条件 这里添加了三个条件 分别是 “ip地址范围”、“服务类型” 和 “Discovery 状态” 

clip_image010

2.2、创建操作  2.2.1、“Add host ”添加主机

“Add to host group” 将主机添加到主机组、选择要添加到的主机组

“Link to template” 链接到模板、选择相应的模板 这里我定义了 发现主机就 “添加主机(Add host)”并 “添加到主机组(Add to host groups)”、“链接到相应的模板(Link to template)” 

clip_image012

点击“Add” 添加 添加完成之后效果如下  Ok 至此发现主机、添加主机并将主机添加到主机组 链接模板 全部完毕看看效果吧Monitoring ---- Discovery ----选择 自定义的发现规则下面是我定义的一个发现规则的效果 如图是发现的主机 查看主机以及主机相关的图像

clip_image014

自动发现规则还可以针对网段:

clip_image016

clip_image018

zabbix-agent主动注册服务端的

简述:

当主机分布在不同的城市,比如不同的云环境中时,使用主动发现就不好处理了,使用自动注册的方式非常适合在云环境中的部署。

1.配置客户端:

vim /etc/zabbix/zabbix_agentd.conf

配置以下三项:

# 主动模式下的zabbix服务端

ServerActive=zbx.chinasoft.com

# 主机名(这个会自动加入到zabbix-server断的主机显示中)

Hostname=auto_register_agent01

# 作为server端的判断条件入口

HostMetadataItem=system.uname

clip_image020

重启生效

service zabbix-agent restart

2.配置服务端

Configuration --> Action --> Auto registion --> Create action

clip_image022

Action

Name: action_for_auto_register

Default subject: Auto registration: {HOST.HOST}

Host name: {HOST.HOST}

Host IP: {HOST.IP}

Agent port: {HOST.PORT}

clip_image024

Conditon:

Host metadata like Linux

clip_image026

Opertions:

Send message to users: Admin (Zabbix Administrator) via weixin

Add to host groups: Linux servers

Link to templates: Template OS Linux

clip_image028

可以通过在服务端定位日志排错:

grep auto_register_agent01 /var/log/zabbix/zabbix_server.log

可以看到微信收到注册成功的通知

clip_image030

原文地址:https://www.cnblogs.com/wuhg/p/10431109.html