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. Docker 部署ELK之Sentinl日志报警

    前篇文章简单介绍了Docker 部署ELK,以及使用filebeat收集java日志.这篇我们介绍下日志报警配置,这里我们使用Sentinl插件. 1.修改kibana参数 进入elk容器,修改对应参 ...

  2. 一步步在 github pages 上用 jekyll 搭建属于自己的博客

    序 我的专业与互联网没有太大关系,接触博客还是工作以后的事情.随着工作的经验增加,总想将自己的所思所得记录下来,毕竟,好记性不如烂笔头. 开始是将自己的总结在本地保存,但是本地有一个劣势,就是不能随时 ...

  3. flutter-初识(基础语法)

    前言:笔者学过 java,刚刚接触 flutter,记录下基本的一些语法. 一.认识Flutter Flutter 是 google 推出的,使用的 Dart 语言,它可以跨平台实现 Android ...

  4. [跨域问题]ssm+vue前后台分离跨域问题解决方法

    跨域未解决时: Access to XMLHttpRequest at 'http://localhost:8080/vue/findall from origin 'http://localhost ...

  5. 【LeetCode】145. Binary Tree Postorder Traversal

    Difficulty: Hard  More:[目录]LeetCode Java实现 Description https://leetcode.com/problems/binary-tree-pos ...

  6. C语言语法教程-链表

    链表是一群结构体(称为结点)通过指针连起来.这种结构体类型,比较特殊,叫自引用结构体类型.它有一个指针指向和和结构体一样的类型,其余是数据成员. 头指针指向第一结点,尾指针一定要用空表示,这叫有头有尾 ...

  7. 10、VUE路由技术

    1.前端路由 前端路由在很多开源的js类库框架中都得到支持,如AngularJS.Backbone.Vue.js等等. 前端路由和后端路由原理一样,是让所有的交互和展示在一个页面运行,以达到减少服务器 ...

  8. c# 项目nuget不自动安装dll

    问题 创建的项目提交到服务器上,其他人下载项目后无法生成解决方案成功,无法自动生成dll,无法自动下载安装相应的插件 解决方案 删除packages文件夹即可,nuget就可以自动安装相关的dll了

  9. 【翻译】asp.net core 3.0基本概念

    这篇文章描述了开发asp.net core所需要掌握的基本概念. 原文地址:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/?vie ...

  10. Gin-Go学习笔记四:Gin-Web框架 文件的上传下载

    文件的上传和下载 1->文件的上传 文件的上传,采用的是uploadify.js这个插件. 本事例实现的是上传图片文件,其他的文件上传也一样. 2->文件的下载 文件的下载有两个实现的方式 ...