Zabbix 设置自动添加主机两种方法(自动注册、自动发现)
在实际生产环境中,我们可能需要将很多台主机添加到 Zabbix Server 里,我们进行手动添加的话,会比较麻烦、费时,而且还容易出错。所以一般我们会设置主机自动注册。这样就比较方便。
官方文档链接 : 点我
针对zabbix agent 设置参数做下特别说明
Server指定可以连接本 agent 的
Zabbix Server或者Zabbix Proxy的 IP 。ServerActive参数是用于在 自动注册和 主动监控(监控项)用的参数,设置为
zabbix server或者是zabbix proxy的 IP。Hostname我们需要设置 Hostname ,因为我们将在 动作中的触发条件中使用,如果你没有在
zabbix_agentd.conf中特别定义Hostname, 则服务器将使用agent的系统主机名命名主机。Linux中的系统主机名可以通过运行hostname命令获取。最后成功添加的主机名称也是该选项设置的值。
一、 通过 agent 自动注册到 zabbix server (官方)
划重点:发起点就是: zabbix-agent
涉及配置:配置---》动作--》自动注册
主机自动注册配置涉及两块:
- agent 配置
- 动作-自动注册
一、 agent 配置
需要配置的参数
Server: 配置为Zabbix Server或者Zabbix Proxy的 IP。ServerActive:配置为Zabbix Server或者Zabbix Proxy的 IP。如果端口改变了,需要在后面加上端口。Hostname:设置主机的名称。
我们也可以使用其它参数值进行设置然后在触发条件中,例如 HostMetadata 和 HostMetadataItem
二、动作-自动注册
配置 ---》 动作 ----》 自动注册 ---》 创建动作。

动作需要设置触发条件,我们可能只需要将自动发现的符合某个条件主机添加到某个主机群组。所以我们这里需要设置触发条件。可以通过 主机名称、主机元数据、zabbix proxy 来设置触发条件。

操作:也就是自动发现的主机符合前面设置条件后需要设置的操作,比如添加到某个群组,链接到某个模板等等。

注意事项
- 如果我们设置好了,上面的配置后,但是发现没有主机注册,我们可以看看是不是我们
zabbix server或者zabbix proxy的监听的端口在防火墙(或者是安全组)有没有开放。默认监听端口是 10051。 - 如果我们可以看到主机注册成功了,但是 agent 的状态一直不是活跃的,那么我们可以看看我们
zabbix agent的监听的端口在防火墙(或者是安全组)没有开放。默认监听端口是 10050。
二、通过 zabbix server 自动发现来添加主机
划重点:发起点就是: zabbix server
涉及配置:配置---》动作--》自动发现,配置---》自动发现
zabbix agent 配置
由于发起点是 zabbix server,所以我们在配置参数时,只需要配置 Server和 Hostname,然后将 ServerActive参数注释。如果我们没有注释该参数,则又会进行自动注册了。如果我们没有设置自动注册项的话,该参数不注释也可以的。
Zabbix server 配置
设置自动发现规则

设置动作-自动发现-创建动作

设置动作的触发条件,就是匹配我们自动发现出来的主机,当自动发现的主机符合触发条件,就添加到 指定的主机组和链接到指定的模板。

设置操作,链接模板,添加到主机群组。

我们可以在
监测---》自动发现查看到我们自动发现到的主机。
三 脑洞大开
脑洞大开一
在思考这个场景的过程中,我想过当 zabbix agent 没有固定ip(公司内部服务器),我们该如何监控,我想可以通过让该主机自动注册到 zabbix server,然后使用 主动发送模式,也就是由 zabbix-agent 自动发送监控数据到 zabbix server,记住我们这里需要设置所有的监控项类型为 zabbix agent(主动式)。 问题点在于: 当客户端IP 变了,zabbix server 是重新添加一个新的 host,还是会自动识别 ,经过测试,发现 zabbix server 不会添加新的主机,也不会更改 之前主机的IP,但是数据是正常采集的,zabbix agent 是会有一个报错。

脑洞大开二
当把 zabbix server 放置在内网,没有固定ip,那么是否可以实现监控呢?我思考了下,是发现不可以的,原因有一点,就是 既然 zabbix server 没有固定ip,所以采用的模式是被动,那么在 zabbix -agent 要设置一个 Server 参数,这个参数的意义是允许哪个 ip 连接我的 agent 的。但是我们的 zabbix server 有没有固定 IP。所以方法是行不通的。
Zabbix 设置自动添加主机两种方法(自动注册、自动发现)的更多相关文章
- 代码操作Word时,目录自动更新的两种方法
最近的项目中有一个功能点为:根据分析数据库并生成报告.不过不是大数据.数据挖掘之类,报告的内容.组织方式都是事先固定下来的.实现的方式为,在普通word文档中插入书签制成模板,然后程序使用OpenXM ...
- C# web api返回类型设置为json的两种方法
web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢,下面就介绍两种方法: 方法一:(改配置法) 找到Global.asax文件,在Applic ...
- ZBrush中设置背面遮罩的两种方法
背面遮罩是ZBrush软件实时遮罩的一种,它的出现能够解决我们在模型雕刻时的一些问题.我们在 ZBrush®中雕刻一个比较薄的物体时,经常会不经意的雕刻到背面的物体.那么遇到此类状况该如何设置ZBru ...
- C# web api 返回类型设置为json的两种方法
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...
- qt 自动重启(两种方法)
所谓自动重启就是程序自动关闭后在重新打开: 一般一个qt程序main函数如下: int main(int argc, char* argv[]) { QApplication app(argc, ar ...
- Android Studio自动排版的两种方法
Android Studio这样的集成开发环境虽然代码自动化程度很高,但是自动化程度高导致人的自主性就下降了,而且总是依赖编辑器的功能也会搞得代码排版很别扭. 最难受的是你在Android Studi ...
- ios 设置屏幕方向的两种方法
第一种:通过人为的办法改变view.transform的属性. 具体办法: view.transform一般是View的旋转,拉伸移动等属性,类似view.layer.transform,区别在于Vi ...
- 设置cell高度的两种方法(label高度的可变引起cell高度可变的情况)
第一种:(iOS8以后可用) 在Xib或stroyboard中(代码也可以) 利用AutoLayout设置好label的约束(比如可以设置四个边都距离屏幕50等方式,必须四个边都要固定好). 在代码部 ...
- Vue-详解设置路由导航的两种方法: <router-link :to="..."> 和router.push(...)
一.<router-link :to="..."> to里的值可以是一个字符串路径,或者一个描述地址的对象.例如: // 字符串 <router-link to= ...
随机推荐
- C#简单的枚举及结构
using System; namespace program { enum WeekDays { a, b, c = ,//11 赋值以后就变成11,不赋值就是2 d, e, f, g }//不能输 ...
- 3 JDK并发包
JDK内部提供了大量实用的API和框架.本章主要介绍这些JDK内部功能,主要分为3大部分: 首先,介绍有关同步控制的工具,之前介绍的synchronized就是一种同步控制手段,将介绍更加丰富的多线程 ...
- Z从壹开始前后端分离【 .NET Core2.0/3.0 +Vue2.0 】框架之四 || Swagger的使用 3.2
本文梯子 本文3.0版本文章 前言 一.swagger的一般用法 0.设置swagger页面为首页——开发环境 1.设置默认直接首页访问 —— 生产环境 2.为接口添加注释 3.对 Model 也添加 ...
- 用redis和cookie做单用户登录
因为公司的项目需要用到单用户登录,于是今天用redis和cookie给系统添加了单用户登录功能,再次简单记录一下. 单用户登录是为了防止同一账户在不同电脑和不同浏览器里面同时登录.所以我这边的思路是: ...
- 多个浏览器下应用前端JS实现一键导出excel表
自己试验了几种方法,找到一种较为全面的一种方式一键输出Excel表格,代码如下 <!DOCTYPE html> <html> <head lang="en&qu ...
- [PHP] 新版本PHP7.4与新版本MySQL8认证问题
mysql8的默认密码加密方式是caching_sha2_password,PHP7.4连接mysql的加密方式也为caching_sha2_password,这个地方要注意. 当为了兼容旧版的客户端 ...
- Linux 登录 MySQL 报错, 解决bash: mysql: command not found 的方法
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件. 首先得知道mysql ...
- RDPGuard6.1.7之后的问题
RDPGuard是一款保护远程桌面RDP端口不被暴力猜解的软件,说下在使用RDP Guard中遇到的一些问题: 1.似乎D版RDPGuard 6.1.7或之后的版本,启用IP Cloud会自动将大量I ...
- 免密码登录postgresql
如果在当前shell 下,如果设定 export PGPASSWORD='postgres密码' 环境变量,可以不用每次执行sql 语句或者导入一个sql 文件都输入一次密码的麻烦了.
- 2. Linux文件与目录管理
一.目录与路径 1. 相对路径与绝对路径 绝对路径:路径写法[一定由根目录 / 写起],如:/usr/share/doc 相对路径:路径写法[不由 / 写起], /usr/share/doc 要到 / ...