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代理的更多相关文章

  1. 【zabbix监控】zabbix监控tomcat服务

    服务器配置(zabbix_server) 1. 安装jdk 版本需要1.7以上,我这边安装的是1.8的,可以参考我jdk安装的文章 # 上传到zabbix_server服务端.安装(jdk-8u171 ...

  2. zabbix监控模式、分布式、自动化

    适用场景: 1.监控主机多,性能瓶颈 2.多机房,防火墙 zabbix监控模式 针对agent来说 - 被动模式 - 主动模式(主动汇报服务端) 1)当监控主机超过300台,建议使用主动模式 2)当队 ...

  3. Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做

    7月6日任务 19.1 Linux监控平台介绍19.2 zabbix监控介绍19.3/19.4/19.5 安装zabbix19.6 忘记Admin密码如何做 19.1 Linux监控平台介绍 一般大公 ...

  4. zabbix监控nginx连接状态(转)

    zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数) ...

  5. zabbix监控nginx+php-fpm,mysql+主从复制+高可用,tomcat,redis web状态

    zabbix监控对象区分 使用SNMP监控交换 使用IPMI监控服务器硬件 使用Agent监控服务器 使用JMX监控JAVA SNMP监控流程 交换机上开启snmp 在zabbix上添加监控(设置SN ...

  6. Zabbix监控Tengine

    title: Zabbix监控Tengine tags: zabbix,nginx,tengine author: Chinge Yang date: 2016-12-29 --- Zabbix监控T ...

  7. 分布式数据存储 - Zabbix监控MySQL性能

    Zabbix如何监控mysql性能,我们可以使用mysql自带的模板,可以监控如下内容:OPS(增删改查).mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图! 编写check_m ...

  8. Zabbix应用六:Zabbix监控Redis

    利用Zabbix监控Redis Zabbix监控redis就比较简单了,因为zabbix官方提供了监控redis的模版和脚本,而且脚本有nodejs和python两种,下载地址:https://git ...

  9. Tomcat java zabbix 监控

    排除汤姆猫错误的步骤 ps-ef | grep java或jps –lvm 查看java pid进程 netstat –lntup | grep java 查看java 端口有没有启动 查看 tomc ...

随机推荐

  1. 提高性能,MySQL 读写分离环境搭建(一)

    这是松哥之前一个零散的笔记,整理出来分享给大伙! MySQL 读写分离在互联网项目中应该算是一个非常常见的需求了.受困于 Linux 和 MySQL 版本问题,很多人经常会搭建失败,今天松哥就给大伙举 ...

  2. 使用Redis实现中英文自动补全功能详解

    1.Redis自动补全功能介绍: ​ Redis可以帮我们实现很多种功能,今天这里着重介绍的是Redis的自动补全功能的实现.我们使用有序集合,并score都为0,这样就按元素值的字典序排序.然后我们 ...

  3. 【HTML】处理<br>换行符追加到前端换行无效的问题 --- html中渲染的字符串中包含HTML标签无效的处理方法,字符串中包含HTML标签被转义的问题 解决

    需求如下图: 追加给前台后,效果如下: 可以在源码看到: 是将后台给出来的数据,直接当作字符串给填充在了前台HTML中. 而查看浏览器编译后的HTML源码可以发现: 原来字符串中的<br> ...

  4. 【docker】centos7 上拉取docker镜像,一直拉取不到,报错:Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while w

    镜像拉取一直报错: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request cancel ...

  5. SQLServer日常bug记录

    问题1:如下图所示 原因分析:同时操作数据库中的两条数据引起的 解决方法:新建查询语句 delete 数据库名字.表名 where 引起错误的字段=引起错误的字段值

  6. Console程序下监控EFCore生成的SQL语句!

    最近这两天在使用控制台程序学习EFCore,突然想看看生成的SQL语句,所以在网上找到一位大神的分享的方法! 准备工作: 1). MySqlEFCore NuGet:   Pomelo.EntityF ...

  7. Exif认识(二)

    通过php获取exif信息后,像光圈和快门的值还需要转换下,才是我们常用看得懂的值 ApertureValue的值: 拍照时镜头的光圈. 单位是 APEX. 为了转换成普通的 F-number(F-s ...

  8. 修改Nginx配置参数解决http状态码:413上传文件大小限制问题

    修改Nginx上传文件大小限制 我们使用ngnix做web server的时候,nginx对上传文件的大小有限制,默认是1M. 当超过大小的时候会报413(too large)错误.这个时候我们要修改 ...

  9. weblogic漏洞

    1 weblogic控制台地址暴露 ²  整改方法: 禁用weblogic控制台.在weblogic域(sguap-domain和base-domain)的config下的config.xml中 &l ...

  10. JavaWeb Listener之HttpSessionBindListener

    HttpSessionBindListener        监听把自身这个对象绑定到HttpSession对象上.解绑 绑定到HttpSession对象上,其实就是调用session的setAttr ...