首页 > 其他分享 >使用zabbix proxy实现主动代理跨网段分布式监控

使用zabbix proxy实现主动代理跨网段分布式监控

时间:2022-12-21 23:00:57浏览次数:33  
标签:网段 server zabbix proxy agent1 active root

1、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中的主动模式和被动模式一样,区别就是zabbix proxy由于没有zabbix agent的配置,所以zabbix proxy在主动模式要向zabbix server周期性的zabbix server申请zabbix agent的监控项配置,但是zabbix proxy在被动模式下也是等待zabbix server的连接并接受zabbix server发送监控指令,然后在通过zabbix proxy向zabbix agent发起请求获取监控数据。

功能 zabbix proxy zabbix server
轻量级 相对于重量级
图形界面 带有图形控制界面
独立工作 是,可以独立采集数据并存储 是,即数据采集、存储、分析、展示和为一体
维护 易维护,配置完后基本不需要管理 维护也不是很难
独立数据库 保留最近的少量数据 保留指定时间内的所有数据
报警通知 否,代理服务器是不发送邮件通知的 支持邮件、短信等告警机制

2、实验架构图

下面架构图还包括被动代理,在这篇文章我们演示的是主动代理的实现。这里是实现跨网段会涉及到路由,需要通过路由来打通跨网段的网络。 image.png

3、主动代理模式的zabbix-proxy安装及配置

root@zabbix-proxy-active:~# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1%2Bfocal_all.deb
root@zabbix-proxy-active:~# dpkg -i zabbix-release_5.0-1+focal_all.deb
root@zabbix-proxy-active:~# sed -i.bak 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/apt/sources.list.d/zabbix.list
root@zabbix-proxy-active:~# apt update
root@zabbix-proxy-active:~# apt -y install zabbix-proxy-mysql

创建初始数据库(这里我使用的数据库服务器还是zabbix server使用的数据库服务器)
root@mysql-server:~# mysql -uroot -pMysql@2022
mysql> create database zabbix_proxy_active character set utf8 collate utf8_bin;
mysql> create user 'proxy'@'192.168.%.%' identified by 'proxy@2022';
mysql> grant all privileges on zabbix_proxy_active.* to 'proxy'@'192.168.%.%';
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

导入初始化架构数据
root@zabbix-proxy-active:~# zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz | mysql -uproxy -p"proxy@2022" -h10.0.0.101 zabbix_proxy_active

修改zabbix proxy配置文件
root@zabbix-proxy-active:~# vi /etc/zabbix/zabbix_proxy.conf
root@zabbix-proxy-active:~# grep -Ev "^#|^$" /etc/zabbix/zabbix_proxy.conf
ProxyMode=0	#0为主动也是默认值,1为被动
Server=10.0.0.100	#zabbix server服务器的地址或主机名
Hostname=zhang-proxy-active	#代理服务器的名称,需要和zabbix server添加代理时的proxy名称要一致
ListenPort=10051	#zabbix proxy监听的端口
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
EnableRemoteCommands=1	#允许zabbix server执行远程命令
PidFile=/run/zabbix/zabbix_proxy.pid
SocketDir=/run/zabbix
DBHost=10.0.0.101	#数据库服务器地址
DBName=zabbix_proxy_active	#使用数据库名称
DBUser=proxy	#连接数据库的用户名称
DBPassword=proxy@2022	#连接数据库用户的密码
DBPort=3306	#数据库端口
ProxyLocalBuffer=720	#已经提交到zabbix server的数据保留时间
ProxyOfflineBuffer=720	#未提交到zabbix server的数据保留时间
HeartbeatFrequency=60	#心跳间隔检测时间,默认60秒,可设置范围0-3600秒,在被动模式不使用
ConfigFrequency=5	#间隔多少秒从zabbix server获取监控项信息
DataSenderFrequency=5	#数据发送时间间隔,默认时间是1秒,可设置范围1-3600秒,在被动模式不使用
StartPollers=20	#启动的数据采集器数量
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=2G	#保存监控项而占用的最大内存
HistoryCacheSize=2G	#保存监控历史数据占用的最大内存
HistoryIndexCacheSize=128M	#历史索引缓存的大小
Timeout=30	#监控项超时时间,单位是秒
ExternalScripts=/usr/lib/zabbix/externalscripts
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000	#单位毫秒,指的是多久的数据库查询会被记录到日志中(慢查询)
StatsAllowedIP=127.0.0.1

修改完配置文件后需要重启一下zabbix proxy服务
root@zabbix-proxy-active:~# systemctl restart zabbix-proxy
root@zabbix-proxy-active:~# systemctl enable zabbix-proxy

4、zabbix-agent1安装zabbix agent及配置

root@zabbix-agent1:~# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1%2Bfocal_all.deb
root@zabbix-agent1:~# dpkg -i zabbix-release_5.0-1+focal_all.deb
root@zabbix-agent1:~# sed -i.bak 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/apt/sources.list.d/zabbix.list
root@zabbix-agent1:~# apt update
root@zabbix-agent1:~# apt install zabbix-agent
root@zabbix-agent1:~# vi /etc/zabbix/zabbix_agentd.conf
root@zabbix-agent1:~# grep -Ev "^$|^#" /etc/zabbix/zabbix_agentd.conf
PidFile=/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.100,192.168.3.100
ServerActive=192.168.3.100
Hostname=192.168.3.102
Timeout=30
Include=/etc/zabbix/zabbix_agentd.d/*.conf
root@zabbix-agent1:~# systemctl restart zabbix-agent.service 
root@zabbix-agent1:~# systemctl enable zabbix-agent.service

5、在zabbix web界面配置主动代理模式

5.1、zabbix web界面添加主动代理

image.png image.png image.png

5.2、创建主机使用主动代理并关联监控相关模板

image.png image.png

5.3、在zabbix web界面验证监控数据

image.png image.png image.png

总结

在实验中会遇到一些坑,如下:

  • 需要机器的防火墙和selinux要关了,而且还要将主机的时间都同步。
  • 跨网段中间需要用到路由的形式,这里我使用路由的方式就省略了,我是拿了个虚拟机充当路由来把网络打通。
  • 出现问题是不要慌,先看看日志,根据日志来解决问题。

标签:网段,server,zabbix,proxy,agent1,active,root
From: https://blog.51cto.com/u_15105742/5956857

相关文章

  • Zabbix-4.zabbix的模板设置
    1.自定义监控内容#自定义监控服务器登陆的人数需求:限制登陆人数不超过三个,超过三个就发出报警信息 #先从命令行角度#明确需要执行的linux命令w......
  • Zabbix通过proxy的被动模式代理来跨网段监控Linux主机
      上篇文章使用zabbixproxy实现主动代理跨网段分布式监控(https://blog.51cto.com/u_15105742/5956857),我们已经配置完架构图中的主动模式的监控部分,在这篇文章中我们就......
  • [React] Valtio proxy-state management lib intro
    https://bestofjs.org/projects/valtioCoolthingsaboutValtio,itiscompletelyindependfromReactcomponent.ItisselftestableandhookwithReactverywel......
  • MySQL-proxysql+MGR高可用
    roxySQL的基本简介:ProxySQL是用C++语言开发的,虽然也是一个轻量级产品,但性能很好(据测试,能处理千亿级的数据),功能也足够,能满足中间件所需的绝大多数功能,可以更好更好的支持......
  • Override by setting AllowUnsupportedDBVersions=1 in Zabbix proxy configuration f
     #tail-f/tmp/zabbix_proxy.log42168:20221220:180706.93042205:20221220:180719.160StartingZabbixProxy(active)[yizhuang_proxy].Zabbix6.0.9(revision......
  • nginx中proxy_set_header Host $host的作用
    nginx配置upstream负载均衡后请求400,配置proxy_set_headerHost$host成功.请问这是什么原理? proxy_set_headerHost$host有什么作用? ......
  • 技术分享 | ProxySQL 搭配 MySQL HA (下)
    作者:杨涛涛资深数据库专家,专研MySQL十余年。擅长MySQL、PostgreSQL、MongoDB等开源数据库相关的备份恢复、SQL调优、监控运维、高可用架构设计等。目前任职于爱可生,为......
  • PPT免费放送|Zabbix峰会结束了?还有件儿事!
    精彩的Zabbix峰会成功举办,这并不意味着学习交流结束,还有件儿事——17份PPT免费获取,网盘见文末。干货满满细细品味。也欢迎你留言评价!值得一提的是:峰会中有理有据说明:Zabbix......
  • Zabbix历史数据与趋势数据问题详解
    众所周知,历史数据(history)和趋势数据(trends)是Zabbix中存储收集到的数据的两种方式。​​官方文档​​显示,Zabbix历史数据是每分钟收集到的监控数据,趋势数据则是按小时统计计......
  • apache 里的 ProxyPassReverse 指令
    该指令允许Apachehttpd调整HTTP重定向响应(HTTPredirectresponse)Location、Content-Location和URI标头中的URL。当Apachehttpd用作反向代理(或网关)以避免......