zoukankan      html  css  js  c++  java
  • 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 # 开启代理服务端的数据库

  • 相关阅读:
    IO模型
    MySQL存储引擎问题
    Flask信号流程
    Flask应用运行流程
    Linux远程连接及常用指令
    Linux的安装与配置
    python GIL锁问题
    python深浅拷贝问题
    pyhton中的__new__和__init__
    直流调速系统Modelica基本模型
  • 原文地址:https://www.cnblogs.com/guarderming/p/11882293.html
Copyright © 2011-2022 走看看