zabbix agent的主动工作模式实战案例

                                     作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.zabbix agent的工作模式概述

  zabbix agent的主动工作模式:
    由zabbix agent向zabbix server请求获取当前主机的监控项,zabbix agent根据从zabbix server获取的监控项配置信息,自动采集本地数据并根据item的配置周期性发送给zabbix server。
    主动模式是由zabbix agent主动采集数据并返回给zabbix server,不再需要zabbix server进行干预,因此主动模式在一定程度上可减轻zabbix server的压力。   zabbix agent的被动工作模式:  
    zabbix server周期性给zabbix agent发送获取数据的请求,zabbix agent在本地采集数据后发送给zabbix server,这是zabbix默认的工作模式,我们称之为"被动模式"。
    被动模式是由zabbix server向zabbix agent发出指令获取数据,即zabbix agent被动的去获取数据并返回给zabbix server,zabbix server周期性的向agent索取数据。
    这种模式的最大问题就是会加大zabbix server的工作量,再数百台服务器的环境下zabbix server不能及时获取到最新数据,但这也是默认的工作方式。   生产环境中我们通常主动模式和被动模式是混用的。

二.zabbix webUI配置zabbix 主动模式的模板(为了试验的便利性,我们基于zabbix默认模块修改其工作模式)

1>.查看"Template OS Linux"模板信息

2>.基于"Template OS Linux"模板进行全克隆

3>.自定义克隆的模板名称

4>.模板克隆成功

5>.查看克隆的链接模板

6>.查看克隆的链接模板对应监控项,建议不要修改其类型

三.修改自定义模板监控项的工作模式

1>.查看zabbix模板的监控项

2>.查看某一个监控项信息

3>.修改单个监控项的工作模式

4>.监控项的工作模式修改成功

5>.批量选中多个监控项

6>.下拉滚动条,点击"批量更新"

7>.批量修改监控项的工作类型

8>.批量修改"更新间隔"的时间,并点击"更新"按钮

9>.批量修改配置成功

10>.修改自动发现规则

11>.如下图所示,还要单独点击"监控项原型"

12>.模板更新成功

四.zabbix agent配置参数

1>.自行安装zabbix agent服务

  博主推荐阅读:
    https://www.cnblogs.com/yinzhengjie2020/p/12309682.html

2>.修改zabbix agent的配置文件 

[root@agent204.yinzhengjie.org.cn ~]#  grep ^Server= /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# sed -r -i 's#(Server=)127.0.0.1#\1172.200.5.203#' /etc/zabbix/zabbix_agentd.conf
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# grep ^Server= /etc/zabbix/zabbix_agentd.conf
Server=172.200.5.203
[root@agent204.yinzhengjie.org.cn ~]#

[root@agent204.yinzhengjie.org.cn ~]# sed -r -i 's#(Server=)127.0.0.1#\1172.200.5.203#' /etc/zabbix/zabbix_agentd.conf          #指定被动默认对应的zabbix server地址

[root@agent204.yinzhengjie.org.cn ~]# grep ^ServerActive= /etc/zabbix/zabbix_agentd.conf
ServerActive=127.0.0.1
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# sed -r -i 's#(ServerActive=)127.0.0.1#\1172.200.5.203#' /etc/zabbix/zabbix_agentd.conf
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# grep ^ServerActive= /etc/zabbix/zabbix_agentd.conf
ServerActive=172.200.5.203
[root@agent204.yinzhengjie.org.cn ~]#

[root@agent204.yinzhengjie.org.cn ~]# sed -r -i 's#(ServerActive=)127.0.0.1#\1172.200.5.203#' /etc/zabbix/zabbix_agentd.conf       #指定主动模式对应的的zabbix server地址

[root@agent204.yinzhengjie.org.cn ~]# grep ^Hostname= /etc/zabbix/zabbix_agentd.conf
Hostname=Zabbix server
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# sed -r -i 's#(Hostname=)Zabbix server#\1agent204.yinzhengjie.org.cn#' /etc/zabbix/zabbix_agentd.conf
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# grep ^Hostname= /etc/zabbix/zabbix_agentd.conf
Hostname=agent204.yinzhengjie.org.cn
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]#

[root@agent204.yinzhengjie.org.cn ~]# sed -r -i 's#(Hostname=)Zabbix server#\1agent204.yinzhengjie.org.cn#' /etc/zabbix/zabbix_agentd.conf      #自定义zabbix agent的主机名称,在zabbix server中需要唯一

[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# systemctl status zabbix-agent.service
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Thu -- :: UTC; 13min ago
Docs: man:zabbix_agentd
Main PID: (zabbix_agentd)
Tasks: (limit: )
CGroup: /system.slice/zabbix-agent.service
├─ /usr/sbin/zabbix_agentd --foreground
├─ /usr/sbin/zabbix_agentd: collector [idle sec]
├─ /usr/sbin/zabbix_agentd: listener # [waiting for connection]
├─ /usr/sbin/zabbix_agentd: listener # [waiting for connection]
├─ /usr/sbin/zabbix_agentd: listener # [waiting for connection]
└─ /usr/sbin/zabbix_agentd: active checks # [idle sec] Feb :: agent204.yinzhengjie.org.cn systemd[]: Started Zabbix Agent.
Feb :: agent204.yinzhengjie.org.cn zabbix_agentd[]: Starting Zabbix Agent [Zabbix server]. Zabbix 3.0. (revision ).
Feb :: agent204.yinzhengjie.org.cn zabbix_agentd[]: Press Ctrl+C to exit.
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# systemctl list-unit-files | grep zabbix-agent.service
zabbix-agent.service enabled
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# systemctl enable zabbix-agent.service
Synchronizing state of zabbix-agent.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zabbix-agent
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# systemctl list-unit-files | grep zabbix-agent.service
zabbix-agent.service enabled
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]#

[root@agent204.yinzhengjie.org.cn ~]# systemctl enable zabbix-agent.service                       #设置zabbix-agent开机自启动

[root@agent204.yinzhengjie.org.cn ~]# grep DebugLevel= /etc/zabbix/zabbix_agentd.conf
# DebugLevel=
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# sed -r -i 's@# (DebugLevel=)3@\14@' /etc/zabbix/zabbix_agentd.conf
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# grep DebugLevel= /etc/zabbix/zabbix_agentd.conf
DebugLevel=
[root@agent204.yinzhengjie.org.cn ~]#

[root@agent204.yinzhengjie.org.cn ~]# sed -r -i 's@# (DebugLevel=)3@\14@' /etc/zabbix/zabbix_agentd.conf      #临时开启DEBUG日志,会显示每一个采集项是否成功,日志非常详细,便与调试排错,生产环境中不推荐开启,比较耗费资源。

3>.重启zabbix agent服务使得修改的配置生效

[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# ps -ef | grep zabbix | grep -v grep
zabbix : ? :: /usr/sbin/zabbix_agentd --foreground
zabbix : ? :: /usr/sbin/zabbix_agentd: collector [idle sec]
zabbix : ? :: /usr/sbin/zabbix_agentd: listener # [waiting for connection]
zabbix : ? :: /usr/sbin/zabbix_agentd: listener # [waiting for connection]
zabbix : ? :: /usr/sbin/zabbix_agentd: listener # [waiting for connection]
zabbix : ? :: /usr/sbin/zabbix_agentd: active checks # [idle sec]
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# systemctl restart zabbix-agent.service
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# ps -ef | grep zabbix | grep -v grep
zabbix : ? :: /usr/sbin/zabbix_agentd --foreground
zabbix : ? :: /usr/sbin/zabbix_agentd: collector [idle sec]
zabbix : ? :: /usr/sbin/zabbix_agentd: listener # [waiting for connection]
zabbix : ? :: /usr/sbin/zabbix_agentd: listener # [waiting for connection]
zabbix : ? :: /usr/sbin/zabbix_agentd: listener # [waiting for connection]
zabbix : ? :: /usr/sbin/zabbix_agentd: active checks # [getting list of active checks]
[root@agent204.yinzhengjie.org.cn ~]#
[root@agent204.yinzhengjie.org.cn ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 127.0.0.53%lo: 0.0.0.0:*
LISTEN 0.0.0.0: 0.0.0.0:*
LISTEN 0.0.0.0: 0.0.0.0:*
LISTEN [::]: [::]:*
LISTEN [::]: [::]:*
[root@agent204.yinzhengjie.org.cn ~]#

[root@agent204.yinzhengjie.org.cn ~]# systemctl restart zabbix-agent.service

五.zabbix webUI配置监控基于主动工作模式zabbix agent主机

1>.点击"创建主机"

2>.配置主机页面

3>.选择自定义的链接模板并点击“添加”

4>.主机添加成功

5>.查看监控主机的图形

zabbix agent的主动工作模式实战案例的更多相关文章

  1. Zabbix Agent active主动模式监控

    zabbix_server端当主机数量过多的时候,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下: 1.当被监控端到达一个量级的时候,Web操作很卡,容易出现502 2.图 ...

  2. zabbix agent(Active)模式 /克隆修改模板

    这个模式主要是用于server端被动接收数据,不发送探测请求 agent端主动发送数据,不接收探测请求 被监控端 zabbix_Agentd.conf 的配置调整 LogFile=/tmp/zabbi ...

  3. 实战Java虚拟机之二“虚拟机的工作模式”

    今天开始实战Java虚拟机之二:“虚拟机的工作模式”. 总计有5个系列 实战Java虚拟机之一“堆溢出处理” 实战Java虚拟机之二“虚拟机的工作模式” 实战Java虚拟机之三“G1的新生代GC” 实 ...

  4. Java多线程编程模式实战指南(三):Two-phase Termination模式

    停止线程是一个目标简单而实现却不那么简单的任务.首先,Java没有提供直接的API用于停止线程.此外,停止线程时还有一些额外的细节需要考虑,如待停止的线程处于阻塞(等待锁)或者等待状态(等待其它线程) ...

  5. Java多线程编程模式实战指南(三):Two-phase Termination模式--转载

    本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-two-phase-t ...

  6. CentOS操作系统部署zabbix agent服务

    CentOS操作系统部署zabbix agent服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看zabbix的官方手册 1>.点击下载 2>.查看Ubunt ...

  7. Java多线程编程模式实战指南:Active Object模式(上)

    Active Object模式简介 Active Object模式是一种异步编程模式.它通过对方法的调用与方法的执行进行解耦来提高并发性.若以任务的概念来说,Active Object模式的核心则是它 ...

  8. Java多线程编程模式实战指南(二):Immutable Object模式

    多线程共享变量的情况下,为了保证数据一致性,往往需要对这些变量的访问进行加锁.而锁本身又会带来一些问题和开销.Immutable Object模式使得我们可以在不使用锁的情况下,既保证共享变量访问的线 ...

  9. Java多线程编程模式实战指南一:Active Object模式(上)

    Active Object模式简介 Active Object模式是一种异步编程模式.它通过对方法的调用与方法的执行进行解耦来提高并发性.若以任务的概念来说,Active Object模式的核心则是它 ...

随机推荐

  1. 洛谷 P5019 铺设道路(差分)

    嗯... 题目链接:https://www.luogu.org/problem/P5019 首先简化一下题意: 给定一个长为N的数组,每次操作可以选择一个区间减去1,问最少多少次操作可以将数组中的数全 ...

  2. mcast_unblock_source函数

    #include <errno.h> #include <sys/socket.h> #define SA struct sockaddr int mcast_unblock_ ...

  3. Ajax案例

      展示页面jsp: <%@ page language="java" contentType="text/html; charset=utf-8" pa ...

  4. Python 爬取 热词并进行分类数据分析-[云图制作+数据导入]

    日期:2020.01.28 博客期:136 星期二 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入](本期博客) ...

  5. 已知空间两点组成的直线求线上某点的Z值

    已知空间两点组成的直线求线上某点的Z值,为什么会有这种看起来比较奇怪的求值需求呢?因为真正三维空间的几何计算是比较麻烦的,很多时候需要投影到二维,再反推到三维空间上去. 复习下空间直线方程:已知空间上 ...

  6. 什么是 SDK?

    通俗而言: 1.其实很简单,SDK 就是 Software Development Kit 的缩写,中问意思是: 软件开发工具包. 2.这是一个覆盖面相当广泛的名词,可以这么说: 辅助开发某一类软件的 ...

  7. Java基础 -4.4

    For循环 for循环也是一种常规的使用结构 public static void main(String[] args) { for(定义循环的初始值;循环判断;修改循环条件) { 循环语句的执行; ...

  8. Java--API解读之Method Summary

    参考来源:Java 中静态方法 实例方法 具体方法区别与联系 JAVA Method Summary网页 * Static Method :"静态方法",直接引用,无需创建对象: ...

  9. vs2013中配置SQLite数据库

    转载:https://maplefan.com/index.php/2019/08/14/visual-studio-2013%e9%85%8d%e7%bd%aesqlite3%e7%9a%84%e6 ...

  10. Linux centosVMware shell中的函数、shell中的数组、

    一.shell中的函数 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可. 格式: function _name() { command ...