zoukankan      html  css  js  c++  java
  • zabbix代理

    一.概述

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

    • 不同网段,无法直接监控
    • 上千台机器,分布式

    proxy收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给zabbix server.
    zabbix proxy是一个数据收集器,它不计算触发器、不处理事件、不发送报警

    二.环境

    服务端 192.168.1.100
    代理端 192.168.1.20 10.10.10.20
    客户端 10.10.10.30

    服务端可以连接代理端,但无法连接客户端

    三.代理端配置

    1.配置数据库

    这里使用mysql数据库,自行安装数据库
    登陆数据库后
    create database zabbix_proxy character set utf8;
    GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'localhost' IDENTIFIED BY '123456';
    flush PRIVILEGES;

    2.安装代理

    yum -y install gcc gcc-c++ libcurl-devel libevent-devel net-snmp-devel

    wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.6/zabbix-3.4.6.tar.gz/download

    tar -xf zabbix-3.4.6.tar.gz

    cd zabbix-3.4.6

    ./configure --prefix=/usr/local/zabbix_proxy --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl
    make
    make install

    导入数据
    mysql -u zabbix -p 123456 zabbix_proxy < database/mysql/schema.sql

    3.配置

    找到下面那些去修改,有的是注释,有的则不是
    vim /usr/local/zabbix_proxy/etc/zabbix_proxy.conf

    Server=192.168.1.100                                    #服务端的ip,用来提交数据
    ServerPort=10051                                        #代理监听的端口
    Hostname=Zabbix proxy                                   #proxy的hostname,很重要,要记住
    DBHost=localhost                                        #数据库,使用本地,也可以使用ip,本地的用sock链接
    DBSocket=/tmp/mysql.sock                                #本地链接时修改
    DBName=zabbix_proxy                                     #数据库名称
    DBUser=zabbix                                           #用户
    DBPassword=zabbix                                       #密码
    DBPort=3306                                             #数据库端口
    HeartbeatFrequency=60                                   #心跳线(具体作用网了,看配置文件吧,这个默认就是60)
    ConfigFrequency=60                                      #这个是往服务端发送数据时间,这里设置一分钟,当客户端出现问题,要一分钟后才能获得消息,可以修改
    

    vim /usr/local/zabbix/etc/zabbix_agentd.conf

    Server=192.168.1.100
    ServerActive=192.168.1.100
    

    /usr/local/zabbix/sbin/zabbix_proxy
    /usr/local/zabbix/sbin/zabbix_agentd

    修改后启动
    netstat -unltp | grep :10050
    netstat -unltp | grep :10051

    查看是否监听端口

    到服务端添加一台主机,ip为192.168.1.20,相当于添加一个客户端

    四.客户端配置

    在客户端机器上
    yum -y install zabbix-agent

    添加代理ip
    vim /etc/zabbix/zabbix_agentd.conf

    Server=10.10.10.20
    ServerActive=10.10.10.20
    

    systemctl start zabbix-agent

    netstat -unltp | grep :10050
    查看是否监听端口

    五.服务端配置


    点击创建
    代理名称是创建那个,用于区分不同代理,选择主动式,代理主动提交数据



    ip选择代理所能接触到的ip,在最下面选择代理,并且添加模板

    六.排错

    参考
    不亮

    到/usr/local/zabbix_proxy/bin下
    ./zabbix_get 10.10.10.30 -s -k agent.ping
    返回1则正确,实际上是不会亮的,因为他是通过代理获得数据,没法直接监控。以数据为准,可以命令行测试,或者图形界面查看是否有最新数据。

  • 相关阅读:
    Activity使用startActivityForResult时出现onActivityResult()不执行的问题
    Android AppWidget
    linux 条件变量
    effective c++:private继承
    effective c++:virtual函数的替代方案
    effective c++:inline函数,文件间编译依存关系
    effective c++:dynamic_cast,避免返回handles指向对象内部
    effective c++:引用传递与值传递,成员函数与非成员函数
    effective c++:资源管理
    effective c++:对象的赋值运算
  • 原文地址:https://www.cnblogs.com/guarderming/p/10219902.html
Copyright © 2011-2022 走看看