zabbix监控之zabbix-agent被动变为主动,搭建Proxy代理
1.Agent被动变为主动:
环境设定
base2 172.25.78.12 zabbix-server
base3 172.25.78.13 zabbix-agent
开启服务
# 在服务端
[root@base2 ~]# systemctl start zabbix-server
[root@base2 ~]# systemctl start zabbix-agent
[root@base2 ~]# systemctl start httpd
[root@base2 ~]# systemctl start zabbix-java-gateway
[root@base2 ~]# systemctl start mariadb
# 在客户端
[root@base3 bin]# systemctl start zabbix-agent
[root@base3 ~]# cd /usr/local/tomcat/
[root@base3 tomcat]# cd bin/
[root@base3 bin]# ./startup.sh
我们克隆一个模块来实现我们的功能











# 回到agent端配置
[root@base3 zabbix]# pwd
/etc/zabbix
[root@base3 zabbix]# vim zabbix_agentd.conf
98 # Server=172.25.78.12 # 关闭服务端的连接
123 StartAgents=0 # 在被动模式下,此参数用于设置控制监听进程可启用的子进程的数量,若监控项较多
且采集很频繁,建议加大此数值 ;若此数值为0,则禁止使用被动模式。另外,一般
情况,不建议修改此数值,当且仅当某些监控项无法采集到数据,或数据采集数据
有延迟现象时,可调整。第四,启用线程越多,则相对越耗系统资源。此处只想说明
有这个功能
[root@base3 zabbix]# systemctl restart zabbix-agent
[root@base3 zabbix]# netstat -antlp | grep 10050 # 查看不到agent端口,说明此主机已经不是agent了
刷新网页,base3的zabbix不可用,此时的base3为服务端

恢复agent身份
[root@base3 zabbix]# vim zabbix_agentd.conf
98 Server=172.25.78.12
123 # StartAgents=3
[root@base3 zabbix]# systemctl restart zabbix-agent
[root@base3 zabbix]# netstat -antlp |grep :10050 # agent端口出现,身份恢复
3.Proxy代理
环境设定
base2 172.25.78.12 zabbix-server
base3 172.25.78.13 zabbix-agent
base4 172.25.78.14 zabbix-proxy
概述:
zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上
分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式、分布式监控.
zabbix proxy使用场景:
1.监控远程区域设备
2.监控本地网络不稳定区域
3.当zabbix监控上千设备时,使用它来减轻server的压力
4.简化zabbix的维护
zabbix proxy仅仅需要一条tcp连接到zabbix server,所以防火墙上仅仅需要加上一条规则即可.zabbix proxy
数据库必须和server分开,否则数据会被破坏,毕竟这两个数据库的表大部分都相同。总之记住,数据库分开即可。
proxy收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给zabbix server.这个时间由
proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定.
zabbix proxy只是一个数据收集器,它不计算触发器、不处理事件、不发送报警
先在网页上添加好proxy








agent使用 agent active模式






回到proxy主机,开始配置
[root@base4 ~]# hostnamectl set-hostname proxy # 修改主机名,方便操作
[root@base4 ~]# reboot
[root@proxy ~]# vim /etc/hosts
172.25.78.14 base4 proxy
[root@proxy ~]# systemctl stop zabbix-agent # 关闭agent功能
[root@proxy ~]# ls
zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm
fping-3.10-1.el7.x86_64.rpm
[root@proxy ~]# yum install -y fping-3.10-1.el7.x86_64.rpm zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm
[root@proxy ~]# yum install -y mariadb-server
[root@proxy ~]# systemctl start mariadb
[root@proxy ~]# mysql -p # 没有密码,登录数据库
Enter password:
MariaDB [(none)]> show databases;
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'westos';
MariaDB [(none)]> quit
[root@proxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-4.0.5/
[root@proxy zabbix-proxy-mysql-4.0.5]# ls
AUTHORS ChangeLog COPYING NEWS README schema.sql.gz
[root@proxy zabbix-proxy-mysql-4.0.5]# zcat schema.sql.gz | mysql zabbix_proxy # 给zabbix_proxy数据库导入数据
[root@proxy zabbix-proxy-mysql-4.0.5]# mysql -u zabbix -p zabbix_proxy # 以zabbix用户登录zabbix_proxy数据库
Enter password:
MariaDB [zabbix_proxy]> show tables;
[root@proxy zabbix-proxy-mysql-4.0.5]# cd /etc/zabbix/
[root@proxy zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d zabbix_proxy.conf
[root@proxy zabbix]# vim zabbix_proxy.conf
30 Server=172.25.78.12 # 表示proxy是作为172.25.78.12这台主机的代理
39 ServerPort=10051 # 代理端口为10051
49 Hostname=proxy # 修改本机解析
188 DBUser=zabbix
196 DBPassword=westos
329 JavaGateway=172.25.78.12 # 因为服务端有JMX的监控,所以proxy也要开启相应的服务
337 JavaGatewayPort=10052
345 StartJavaPollers=5
[root@proxy zabbix]# systemctl start zabbix-proxy
[root@proxy zabbix]# netstat -antlp | grep proxy
配置客户端
[root@base3 bin]# vim /etc/zabbix/zabbix_agentd.conf
98 Server=172.25.78.14 # 把客户端的server指向proxy
139 ServerActive=172.25.78.14
[root@base3 bin]# systemctl restart zabbix-agent
分别给服务端和客户端添加解析
[root@base2 ~]# vim /etc/hosts
172.25.78.14 base4 proxy
[root@base3 ~]# vim /etc/hosts
172.25.78.14 base4 proxy
浏览器刷新
我们使用由agent代理程序监测字段指定主机配置窗体中的proxy监视单个主机


查看日志,proxy代理成功
[root@proxy ~]# vim /var/log/zabbix/zabbix_proxy.log

[root@base3 bin]# vim /var/log/zabbix/zabbix_agentd.log
[root@base2 ~]# vim /var/log/zabbix/zabbix_server.log
注:如果发现没有成功代理,查看日志有以下报错
cannot send list of active checks to “172.25.78.13”: host [base3] not found
[root@base2 ~]# systemctl restart zabbix-server # 重启服务端服务
[root@proxy ~]# systemctl restart zabbix-proxy # 重启代理端服务
connection to database ‘zabbix_proxy’ failed
[root@proxy ~]# systemctl start mariadb # 开启代理服务端的数据库
zabbix监控之zabbix-agent被动变为主动,搭建Proxy代理的更多相关文章
- 【zabbix监控】zabbix监控tomcat服务
服务器配置(zabbix_server) 1. 安装jdk 版本需要1.7以上,我这边安装的是1.8的,可以参考我jdk安装的文章 # 上传到zabbix_server服务端.安装(jdk-8u171 ...
- zabbix监控模式、分布式、自动化
适用场景: 1.监控主机多,性能瓶颈 2.多机房,防火墙 zabbix监控模式 针对agent来说 - 被动模式 - 主动模式(主动汇报服务端) 1)当监控主机超过300台,建议使用主动模式 2)当队 ...
- Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做
7月6日任务 19.1 Linux监控平台介绍19.2 zabbix监控介绍19.3/19.4/19.5 安装zabbix19.6 忘记Admin密码如何做 19.1 Linux监控平台介绍 一般大公 ...
- zabbix监控nginx连接状态(转)
zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数) ...
- zabbix监控nginx+php-fpm,mysql+主从复制+高可用,tomcat,redis web状态
zabbix监控对象区分 使用SNMP监控交换 使用IPMI监控服务器硬件 使用Agent监控服务器 使用JMX监控JAVA SNMP监控流程 交换机上开启snmp 在zabbix上添加监控(设置SN ...
- Zabbix监控Tengine
title: Zabbix监控Tengine tags: zabbix,nginx,tengine author: Chinge Yang date: 2016-12-29 --- Zabbix监控T ...
- 分布式数据存储 - Zabbix监控MySQL性能
Zabbix如何监控mysql性能,我们可以使用mysql自带的模板,可以监控如下内容:OPS(增删改查).mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图! 编写check_m ...
- Zabbix应用六:Zabbix监控Redis
利用Zabbix监控Redis Zabbix监控redis就比较简单了,因为zabbix官方提供了监控redis的模版和脚本,而且脚本有nodejs和python两种,下载地址:https://git ...
- Tomcat java zabbix 监控
排除汤姆猫错误的步骤 ps-ef | grep java或jps –lvm 查看java pid进程 netstat –lntup | grep java 查看java 端口有没有启动 查看 tomc ...
随机推荐
- 关于source insight 置顶窗口或者处于前台挡住窗口解决办法
两个办法,分别如下: 1.重启source insight: 2.按两次F11:
- 【09】Jenkins:Pipeline 补充
写在前面的话 我们在使用普通的构建任务的时候使用了 Sonar 做代码质量管理,也使用了 Publish Over SSH 插件中更新上线,但是我们在 Pipeline 怎么使用他们呢. 如果你没有查 ...
- STMP发送邮件(C#)
记录一下使用SMTP协议发送邮件 public void Mail() { try { System.Net.Mail.SmtpClient client = new System.Net.Mail. ...
- C# static readonly 修饰符初始化变量
同事问了一个问题,readonly和static啥区别? 我就写了个demo运行了下: /*** * 验证初始化次数:static只初始化一次,无论多少用户访问,在内存中只有一份 * readonly ...
- C# 生成二维码(QR Code)
参考: C#通过ThoughtWorks.QRCode生成二维码(QR Code) 通过ThoughtWorks.QRCode(ThoughtWorks.QRCode.dll)来实现 1) ...
- pdf.js实现图片在线预览
项目需求 前段时间项目中遇到了一个模块,是关于在线预览word文档(PDF文件)的,所以,找了很多插件,例如,pdf.js,pdfobject.js框架,但是pdfobject.js框架对于IE浏览器 ...
- proxychains4配置使用
一丶安装 sudo apt-get install proxychains4 二丶修改配置文件 sudo vim /etc/proxychains.conf 在文本最后加上你的代理服务器地址,如果有用 ...
- Android 可单选多选的任意层级树形控件
花了几天研究了下鸿扬大神的博客<Android打造任意层级树形控件,考验你的数据结构和设计>,再结合公司项目改造改造,现在做个笔记. 先看看Demo的实现效果.首先看的是多选效果 再看看单 ...
- Python3报错:ModuleNotFoundError: No module named '_bz2'
系统信息 系统:CentOS Linux release 7.6.1810 (Core) python版本:python3.7 报错信息 from _bz2 import BZ2Compresso ...
- `Java`中`abstract class`与`interface`区别
abstract class Java中允许使用abstract修饰符声明方法,此时只定义方法但是不实现方法(abstract修饰的方法没有主体,只有一个签名和一个分号). 以下是abstract方法 ...