zoukankan      html  css  js  c++  java
  • zabbix的日常监控-分布式监控(十)

    参考博文:http://blog.51cto.com/jinlong/2051966

    zabbix proxy 可以代替 zabbix server 检索客户端的数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.zabbix proxy 可以非常简便的实现了集中式、分布式监控。

    Zabbix_proxy只需要一条tcp链接到zabbix_server,只需要配置一个防火墙规则。zabbix_proxy数据库必须和server分开,否则数据会被破坏。因为这两个数据库的表大部分相同。

    Zabbix_proxy收集的所有数据在传输到服务器之前都存储在本地。然后再一定时间之后传递给zabbix_server。这个时间是由proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定。

    Zabbix_proxy是一个数据收集器。它不计算触发器,处理事件或发送警报

    备注:使用 agent active 模式,一定要记住在 agent 的配置文件参数 ServerActive 加上 proxy IP 地址。

    zabbix proxy 使用场景:

      跨机房、跨区域监控

      简化 zabbix 的维护

      减轻zabbix server的压力

    分布式部署

     1、安装zabbix_proxy软件

    rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
    yum install -y zabbix-proxy zabbix-proxy-mysql mariadb*

    systemctl enable mariadb
    systemctl start mariadb

     

    2、配置zabbix_proxy库

    [root@web-node3 ~]# mysql
    MariaDB [(none)]> create database zabbix_proxy character set utf8;
    
    MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';

    [root@web-node3 ~]# rpm -ql zabbix-proxy-mysql

     [root@web-node3 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.7/schema.sql.gz | mysql -uzabbix_proxy -p zabbix_proxy
    #查看创建的库

    MariaDB [(none)]> show databases;          #是否有zabbix_proxy库存在

    MariaDB [(none)]> use zabbix_proxy;       #进入到改库

    MariaDB [zabbix_proxy]> show tables;    #查看数据是否存在

    或一条命令检测

    mysql -uzabbix_proxy -pzabbix_proxy -e "use zabbix_proxy;show tables;"

      

    3、修改zabbix_proxy的配置文件

    [root@web-node3 ~]# vim /etc/zabbix/zabbix_proxy.conf

    ProxyMode=0       #使用主动模式,1为被动模式,默认为主动模式,web前端也配置主动模式

    Server=10.0.0.200    #填写zabbix-server的ip地址

    DBHost=localhost

    Hostname=zabbix-proxy    #本机主机名

    DBName=zabbix_proxy       #数据库名

    DBUser=zabbix_proxy       #用户名

    DBPassword=zabbix_proxy   #zabbix_proxy数据库米密码

    Timeout=15

    配置文件中没有配置的内容如下:(有需要可以配置)
    # ProxyLocalBuffer=0
    #数据保留的时间(小时为单位)
    # ProxyOfflineBuffer=1
    #连不上Server,数据要保留多久(小时为单位,默认1小时)
    # DataSenderFrequency=1
    #数据的发送时间间隔(默认是1秒)
    # StartPollers=5
    #启动的线程数
    # StartIPMIPollers=0
    #启动IPMI的线程数

     

    4、启动进程

    systemctl start zabbix-proxy.service
    netstat -luntp|grep 10051
    

      

    5、zabbix-server端配置

    第二步:把监控的主机改成agent代理模式

    配置--主机--选择修改的主机---

     

    注:把修改的这台主机的zabbix-agent配置文件内的server地址指向zabbix-proxy的IP地址并重启。

    #一个zabbix agent客户端配置文件如下
    [root@server ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.0.0.111 ServerActive=10.0.0.111 Hostname=Zabbix server Include=/etc/zabbix/zabbix_agentd.d/ UserParameter=nginx.status[*],/etc/zabbix/nginx_zbx.sh $1 UserParameter=tcp[*],/etc/zabbix/scripts/tcp_status_ss.sh $1

      

     

    注:结果是出图正常,如果不出图大部分是因为防火墙的问题,开通相应端口 后使用nmap -p 10051  10.0.0.111 扫描端口。

     

  • 相关阅读:
    UNIX网络编程——Socket通信原理和实践
    UNIX环境高级编程——单实例的守护进程
    UNIX环境高级编程——初始化一个守护进程
    UNIX环境高级编程——创建孤儿进程
    UNIX环境高级编程——实现uid to name
    CentOS7中使用yum安装Nginx的方法
    centos7配置IP地址
    关于Dubbo的原理以及详细配置
    关于Java大数操作(BigInteger、BigDecimal)
    关于JSON 与 对象 、集合之间的转换
  • 原文地址:https://www.cnblogs.com/huangyanqi/p/8542686.html
Copyright © 2011-2022 走看看