在实际生产环境中,我们可能需要将很多台主机添加到 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:设置主机的名称。

我们也可以使用其它参数值进行设置然后在触发条件中,例如 HostMetadataHostMetadataItem

二、动作-自动注册

配置 ---》 动作 ----》 自动注册 ---》 创建动作。

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

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

注意事项

  • 如果我们设置好了,上面的配置后,但是发现没有主机注册,我们可以看看是不是我们 zabbix server 或者 zabbix proxy的监听的端口在防火墙(或者是安全组)有没有开放。默认监听端口是 10051。
  • 如果我们可以看到主机注册成功了,但是 agent 的状态一直不是活跃的,那么我们可以看看我们 zabbix agent 的监听的端口在防火墙(或者是安全组)没有开放。默认监听端口是 10050。

二、通过 zabbix server 自动发现来添加主机

划重点:发起点就是: zabbix server

涉及配置:配置---》动作--》自动发现,配置---》自动发现

zabbix agent 配置

由于发起点是 zabbix server,所以我们在配置参数时,只需要配置 ServerHostname,然后将 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 设置自动添加主机两种方法(自动注册、自动发现)的更多相关文章

  1. 代码操作Word时,目录自动更新的两种方法

    最近的项目中有一个功能点为:根据分析数据库并生成报告.不过不是大数据.数据挖掘之类,报告的内容.组织方式都是事先固定下来的.实现的方式为,在普通word文档中插入书签制成模板,然后程序使用OpenXM ...

  2. C# web api返回类型设置为json的两种方法

    web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢,下面就介绍两种方法: 方法一:(改配置法) 找到Global.asax文件,在Applic ...

  3. ZBrush中设置背面遮罩的两种方法

    背面遮罩是ZBrush软件实时遮罩的一种,它的出现能够解决我们在模型雕刻时的一些问题.我们在 ZBrush®中雕刻一个比较薄的物体时,经常会不经意的雕刻到背面的物体.那么遇到此类状况该如何设置ZBru ...

  4. C# web api 返回类型设置为json的两种方法

    每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...

  5. qt 自动重启(两种方法)

    所谓自动重启就是程序自动关闭后在重新打开: 一般一个qt程序main函数如下: int main(int argc, char* argv[]) { QApplication app(argc, ar ...

  6. Android Studio自动排版的两种方法

    Android Studio这样的集成开发环境虽然代码自动化程度很高,但是自动化程度高导致人的自主性就下降了,而且总是依赖编辑器的功能也会搞得代码排版很别扭. 最难受的是你在Android Studi ...

  7. ios 设置屏幕方向的两种方法

    第一种:通过人为的办法改变view.transform的属性. 具体办法: view.transform一般是View的旋转,拉伸移动等属性,类似view.layer.transform,区别在于Vi ...

  8. 设置cell高度的两种方法(label高度的可变引起cell高度可变的情况)

    第一种:(iOS8以后可用) 在Xib或stroyboard中(代码也可以) 利用AutoLayout设置好label的约束(比如可以设置四个边都距离屏幕50等方式,必须四个边都要固定好). 在代码部 ...

  9. Vue-详解设置路由导航的两种方法: <router-link :to="..."> 和router.push(...)

    一.<router-link :to="..."> to里的值可以是一个字符串路径,或者一个描述地址的对象.例如: // 字符串 <router-link to= ...

随机推荐

  1. AspNet Katana中Authentication有关的业务逻辑

    我将从CookieAuthenticationMiddleware中间件的使用,来讲述cookie认证是如何实现的 1.系统是如何调用CookieAuthenticationMiddleware的 在 ...

  2. JAVA 基础篇

    一.数组 1. 什么是数组? 数组和变量差不多,也是可以存放数据的,但是数组可以存放多个数据,而且多个数据的数据类型统一 格式 数据类型 [] 数组名称; 还有一种等效的写法,不推荐 数据类型 数组名 ...

  3. SQLi-LABS Page-3 (Stacked injections) Less-38-Less-45

    Less-38 堆叠注入原理简介堆叠注入简介 Stacked injections: 堆叠注入.从名词的含义就可以看到应该是一堆 sql 语句(多条)一起执行.而在真实的运用中也是这样的, 我们知道在 ...

  4. ucoreOS_lab8 实验报告

    所有的实验报告将会在 Github 同步更新,更多内容请移步至Github:https://github.com/AngelKitty/review_the_national_post-graduat ...

  5. 【JavaWeb】实现二级联动菜单

    实现效果 频道信息 package demo; public class Channel { private String code; //频道编码 private String name; //频道 ...

  6. 高并发高可、O2O、微服务架构用学习网站

    高并发高可.O2O.微服务架构用学习网站 https://www.itkc8.com 非常感谢http://www.cnblogs.com/skyblog/p/5044486.html 关于架构,笔者 ...

  7. sleep() 和 wait() 有什么区别:

      ①原理不同. ​ sleep()方法是Thread类的静态方法,是线程用来控制自身流程的,它会使此线程暂停执行一段时间,而把执行机会让给其他线程,等到计时时间一到,此线程会自动苏醒.而wait() ...

  8. 渗透测试学习 十七、 XSS跨站脚本漏洞详解

      一般用途:拿cookie进后台,将后台地址一起发送过来 特点:挖掘困难,绕过困难  大纲: XSS漏洞基础讲解 XSS漏洞发掘与绕过 XSS漏洞的综合利用 XSS漏洞基础讲解 XSS介绍: 跨站脚 ...

  9. Weblogic的三种部署方式

    Weblogic的三种部署方式     在weblogic中部署项目通常有三种方式:第一,在控制台中安装部署:第二,将部署包放在domain域中autodeploy目录下部署:第三,使用域中配置文件c ...

  10. python的pip安装时,使用国内Pypi源

    有时,国外的网速确实不理想. 想安装python库,还是国内快点. 参考URL: http://www.mamicode.com/info-detail-2248964.html 阿里云 http:/ ...