首页 > 其他分享 >Zabbix监控模式及proxy代理

Zabbix监控模式及proxy代理

时间:2024-08-01 14:22:07浏览次数:13  
标签:4.0 30 zabbix agent Zabbix proxy 监控 root

一、zabbix主动与被动监控模式

被动模式和主动模式都是相对于agent客户端而言的

  • 主动模式:客户端主动将数据发给server或者proxy

  • 被动模式:server或者proxy主动去找 客户端 索要数据

1.被动模式

  • 默认是被动模式

被动模式是说zabbix agent被动的接受zabbix server周期性发送过来的数据收集指令,在被动模式之下,zabbix server会根据主机关联的模板中的监控项和数据采集间隔时间,周期性的打开随机端口并向zabbix agent服务器的10050发起tcp连接,然后发送获取监控项数据的指令,即zabbix server发送什么指令那么zabbix agent就收集什么数据,zabbix server什么时候发送zabbix agent就什么时候采集,zabbix server不发送zabbix agent就一直不响应,所以zabbix agent也不用关心其监控项和数据采集周期间隔时间。

被动模式的优点就是配置简单,安装后即可使用,因此也成为 zabbix 的默认工作模式,但是被动模式的最大问题就是会加大zabbix server的工作量,在数百甚至数千台服务器的环境下会导致zabbix server需要轮训向每个zabbix agent发送数据采集指令,如果zabbix server负载很高还会导致不能及时获取到最新数据,但由于无需其他复杂配置,被设置为了默认的工作方式。

2.主动模式

主动模式是由zabbix agent主动向zabbix server的10051端口发起tcp连接请求,因此主动模式下必须在zabbixagent配置文件中指定zabbix server的IP或者主机名(必须可以被解析为IP地址),在连接到zabbix server之前zabbix agent是不知道自己要采集那些数据以及间隔多久采集一次数据的,然后在连接到zabbix server以后获取到自己的监控项和数据采集间隔周期时间,然后再根据监控项采集数据并返回给zabbix server,在主动模式下不再需要zabbix serve向zabbix agent发起连接请求,因此主动模式在一定程度上可减轻zabbix server打开的本地随机端口和进程数,在一定程度就减轻看zabbix server的压力。

2.1修改zabbix agent为主动模式

安装zabbix-agent

点击查看代码
[root@node5 ~]#  yum install gcc libxml2-devel   net-snmp net-snmp-devel   curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel    libevent-devel    java-1.8.0-openjdk-devel  -y
[root@node5 ~]#  cd /opt
[root@node5 opt]#  tar xf zabbix-4.0.30.tar.gz  //解压
[root@node5 opt]#  ls
rh  zabbix-4.0.30  zabbix-4.0.30.tar.gz
[root@node5 opt]#  cd zabbix-4.0.30/
[root@node5 zabbix-4.0.30]#  ./configure --prefix=/apps/zabbix --enable-agent
[root@node5 zabbix-4.0.30]#  make -j2 && make install

[root@node5 zabbix-4.0.30]#  useradd zabbix -s /sbin/nologin
[root@node5 zabbix-4.0.30]#  vim /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/apps/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/default/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target

[root@node5 zabbix-4.0.30]#  systemctl daemon-reload
[root@node5 zabbix-4.0.30]#  systemctl start  zabbix-agent.service
[root@node5 zabbix-4.0.30]#  systemctl status  zabbix-agent.service

修改配置文件

点击查看代码
[root@node5 zabbix-4.0.30]#  vim /apps/zabbix/etc/zabbix_agentd.conf
 94 Server=192.168.204.70         //谁可以来获取数据
135 ServerActive=192.168.204.70   //主动模式的zabbix server地址
146 Hostname=192.168.204.50       //当前主机名字
[root@node5 zabbix-4.0.30]#  systemctl restart zabbix-agent.service
[root@node5 zabbix-4.0.30]#  systemctl status zabbix-agent.service


生成主动模式模板

  • 点击全克隆

  • 修改名称

  • 点击active监控项

  • 全选,批量更新

  • 选择类型

添加主机

二、zabbix proxy

zabbix 作为一个分布式监控系统(分布式监控解决方案),支持通过代理(proxy)收集zabbix agent的监控数据然后由zabbix proxy再把数据发送给zabbix server,也就是zabbix proxy 可以代替 zabbix server 收集监控数据,然后把数据汇报给 zabbix server,所以zabbix proxy可以在一定程度上分担了zabbix server 的数据收集压力,从而降低了数据的采集时间、也相应的增加了zabbix server的监控能力。
另外zabbix proxy也区分主动模式和被动模式,通信方式与zabbix server主动模式和被动模式一样,区别是zabbixproxy由于没有zabbix agent的配置,所以zabbix proxy在主动模式下要向zabbix server周期性的向zabbix server申请获取zabbix agent的监控项信息,但是zabbix proxy在被动模式下也是等待zabbix server的连接并接受zabbixserver发送的监控项指令,然后再有zabbix proxy向zabbix agent发起请求获取数据。

  1. zabbix proxy架构

  1. zabbix proxy部署与使用

zabbix proxy的大版本必须要和zabbix server版本一致,否则会导致出现zabbix server与zabbix proxy不兼容问题

2.1 zabbix proxy安装

  • 安装依赖环境
点击查看代码
yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel java-1.8.0-openjdk-devel -y

  • 编译安装
点击查看代码
[root@node6 ~]#  cd /opt
[root@node6 opt]#  tar xf zabbix-4.0.30.tar.gz
[root@node6 opt]#  cd zabbix-4.0.30/
[root@node6 zabbix-4.0.30]#  ./configure --prefix=/apps/zabbix_proxy --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
[root@node6 zabbix-4.0.30]#  make install

  • 准备数据库
点击查看代码
[root@node6 ~]#  yum install mariadb-server -y
[root@node6 zabbix-4.0.30]#  systemctl start mariadb
[root@node6 zabbix-4.0.30]#  mysql
//新建数据库
create database zabbix_proxy_passive character set utf8 collate utf8_bin;
create database zabbix_proxy_active  character set utf8 collate utf8_bin;
//授权
grant all privileges on zabbix_proxy_passive.*  to proxy@'192.168.204.%' identified by '123456';
grant all privileges on zabbix_proxy_passive.*  to proxy@'node6' identified by '123456';
grant all privileges on zabbix_proxy_active.*  	to proxy@'192.168.204.%' identified by '123456';
grant all privileges on zabbix_proxy_active.*  	to proxy@'node6' identified by '123456';

//导入数据结构
[root@node6 zabbix-4.0.30]#  mysql -uproxy -p123456 -h192.168.204.60  zabbix_proxy_passive < database/mysql/schema.sql
[root@node6 zabbix-4.0.30]#  mysql -uproxy -p123456 -h192.168.204.60  zabbix_proxy_active < database/mysql/schema.sql
//注意要去源码包目录执行!

2.2 实现主动模式

  • 7-7 server:192.168.204.70

  • 7-6 proxy(agent):192.168.204.60

  • 7-1 agent:192.168.204.10

1.7-6安装proxy

点击查看代码
[root@node6 ~]#  yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel java-1.8.0-openjdk-devel -y
[root@node6 ~]#  cd /opt
[root@node6 opt]#  tar xf zabbix-4.0.30.tar.gz
[root@node6 opt]#  cd zabbix-4.0.30.tar.gz
[root@node6 zabbix-4.0.30]#  ./configure --prefix=/apps/zabbix_proxy --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
[root@node6 zabbix-4.0.30]#  make install

2.7-6修改配置文件

点击查看代码
[root@node6 zabbix-4.0.30]#  vim   /apps/zabbix_proxy/etc/zabbix_proxy.conf
 13 ProxyMode=0                 //0为主动,1为被动
 30 Server=192.168.204.70        //指向zabbix服务器
 39 ServerPort=10051             //取消注释,被动模式可以不修改,因为是zabbix-server主动
 49 Hostname=active              //web配置中需要使用,必须一致
156 DBHost=192.168.204.60         //数据库地址
167 DBName=zabbix_proxy_active    //数据库名字
182 DBUser=proxy                 //数据库用户
191 DBPassword=123456            //数据库密码
245 ConfigFrequency=6            //间隔多少秒从zabbix server获取监控项信息

3.7-1修改监控端指向7-6代理

点击查看代码
[root@node1 ~]#  vim  /apps/zabbix/etc/zabbix_agentd.conf
 94 Server=192.168.204.70,192.168.204.60       //谁可以来获取数据
119 StartAgents=3                           //启动3个进程收集数据
135 ServerActive=192.168.204.70,192.168.204.60  //主动模式的zabbix server地址
146 Hostname=192.168.204.10                  //当前主机名字,web添加主机会用到

[root@node1 ~]#  systemctl  restart   zabbix-agent.service
[root@node1 ~]#  systemctl  status   zabbix-agent.service

4.7-6启动proxy

点击查看代码
[root@node6 zabbix-4.0.30]#  useradd zabbix
[root@node6 zabbix-4.0.30]#  /apps/zabbix_proxy/sbin/zabbix_agentd
[root@node6 zabbix-4.0.30]#  /apps/zabbix_proxy/sbin/zabbix_proxy
[root@node6 zabbix-4.0.30]#  ss -natpl |grep 10051

5.web端添加代理

2.3 实现被动模式

  • 7-7 server:192.168.204.70

  • 7-5 proxy(agent):192.168.204.50

  • 7-2 agent:192.168.204.20

1.7-5安装proxy(步骤同上),修改配置文件

点击查看代码
[root@node5 zabbix-4.0.30]#  cd /apps/zabbix_proxy/etc/
[root@node5 etc]#  vim /apps/zabbix_proxy/etc/zabbix_proxy.conf
 13 ProxyMode=1                   //0为主动,修改为1被动
 30 Server=192.168.204.70         //指向zabbix服务器
 49 Hostname=passive              //web配置中需要使用,必须一致
157 DBHost=192.168.204.60         //数据库地址
168 DBName=zabbix_proxy_passive   //数据库名字
183 DBUser=proxy                  //数据库用户
192 DBPassword=123456             //数据库密码

2.7-5启动proxy软件 及proxy上的agent

点击查看代码
[root@node5 etc]#  useradd zabbix -s /sbin/nologin
[root@node5 etc]#  /apps/zabbix_proxy/sbin/zabbix_proxy
[root@node5 etc]#  /apps/zabbix_proxy/sbin/zabbix_agentd

3.7-5检测是否可以连接数据库

点击查看代码
[root@node5 etc]#  mysql -uproxy -p123456 -h192.168.204.60

4.7-2修改被监控端指向7-5代理

点击查看代码
[root@node2 zabbix-4.0.30]#  vim /apps/zabbix/etc/zabbix_agentd.conf
 94 Server=192.168.204.70,192.168.204.50     //谁可以来获取数据
119 StartAgents=3                         //启动3个进程收集数据
146 Hostname=192.168.204.20                //当前主机名字,web添加主机会用到

[root@node2 zabbix-4.0.30]#  systemctl restart zabbix-agent.service
[root@node2 zabbix-4.0.30]#  systemctl status zabbix-agent.service

5.web端添加代理

注意:需要等待时间较长,一般15~30分钟才会点亮ZBX

标签:4.0,30,zabbix,agent,Zabbix,proxy,监控,root
From: https://www.cnblogs.com/leikj/p/18321365

相关文章

  • 4G/5G无线视频采集设备如何通过国标28181接入到视频监控接入平台(视频统一接入平台)
    目录 一、国标GB/T28181介绍1、国标GB/T281812、内容和特点二、4G/5G无线视频采集设备1、定义2、主要功能:3、技术特点4、应用场景 二、接入准备工作1、确定网络环境(1)公网接入(2)专网传输2、检查4G/5G无线视频采集设备支持情况 三、4G/5G无线视频采集设备的设置......
  • 用Python编写你的网络监控系统详解
    概要在现代网络管理中,实时监控网络流量和状态是保证网络正常运行的关键。使用Python编写网络监控工具可以帮助管理员及时发现和解决网络问题。本文将详细介绍如何使用Python编写网络监控工具,包括基本概念、常用库及其应用场景,并提供相应的示例代码。网络监控的基本概念网......
  • 中文翻译《ASPICE in practice》之“ACQ.4 供应商监控”
    仅供参考,欢迎指正!2.1ACQ.4供应商监控2.1.1目的供应商监控过程的目的是根据商定的要求监控供应商的绩效。除了讨论供应商监控之外,这个过程还涉及与供应商的合作和沟通。合作的基础是选择供应商并且客户与供应商之间存在合同协议。MAN过程和SUP过程中的方法可应用于......
  • zabbix清除历史监控数据
    zabbix监控运行一段时间以后,会留下大量的历史监控数据,zabbix数据库一直在增大;可能会造成系统性能下降,查看历史数据室查询速度缓慢,图形出现断图现象,隔几秒出现断图,发现CPU采集数据的时候使用率都是100%,如下图 zabbix里面最大的表就是history和history_uint两个表,而且zabbix里面......
  • 自从用了这些监控工具,我连续几天没睡好觉!
    大家好,我是程序员鱼皮,今天分享一些很实用的系统监控告警工具。 为什么要用监控告警?说到监控告警,没有企业开发经验的同学非常容易忽视它,甚至会有同学觉得没有必要,大不了出了Bug再修就是了。这种想法大错特错!我们把系统想象成人的身体。有的时候,一个人表面看起来可能很健康......
  • zabbix“专家坐诊”第249期问答
    问题一Q:zabbixserver服务每次重启监控主机就会触发大量的“10分钟未获取到数据”的告警,同时还会触发zabbix的history进程繁忙的告警。(后面检查实际上监控主机在告警时间段内是有数据的)感觉是server一重启,数据库就重新写入数据,需要花超过10分钟的时间,告警时间段内没来得及写入数......
  • 信步漫谈之YourKit监控工具—远程监控步骤
    一、准备环境1、被监控服务器(安装YourKit客户端)2、监控服务器(安装YourKit服务端)二、准备材料1、yjp-11.0.9.exe:YourKit安装主程序2、yourkit_keygen.rar:YourKit破解程序(没有安装程序和破解程序的,自己上网找,我只是写写,哈哈哈)三、YourKit客户端安装与启动1、拷贝yjp-11......
  • 从赛场到云端:视频监控技术与赛事直播的技术融合与革新
    在当今信息化高速发展的时代,视频监控技术和赛事直播作为两个重要的应用领域,正在以前所未有的速度融合,共同推动着传媒与安防领域的进步。本文将探讨视频监控技术在赛事直播中的应用及其带来的革新。一、视频监控技术的演进视频监控技术具有悠久的历史,从传统上的模拟视频监控,到如......
  • 监控Windows API调用
    原文链接:https://www.cnblogs.com/zhaotianff/p/17328559.html很早就知道有ApiMonitor这个软件,可以监控WindowsAPI调用,但当时没有正式的使用场景,所以也没怎么在意。APIMonitor简介APIMonitor可以监视、控制应用程序以及服务进行的WindowsAPI调用。分为32位和64位......
  • SSH Exporter:基于Prometheus的远程系统性能监控神器
    SSHExporterEnglish|中文介绍SSHExporter是一个基于Prometheus规范的监控工具,通过SSH协议远程收集目标服务器的系统性能数据,如CPU使用率、内存使用情况、磁盘和网络I/O等,并将这些数据暴露为Prometheus格式的metrics,以便被PrometheusServer抓取和存储。功能......