zoukankan      html  css  js  c++  java
  • 三、分布式监控zabbix proxy

    三、分布式监控zabbix proxy

    zabbix 是一个分布式的监控系统,支持通过代理服务器zabbix proxy收集zabbix agent的数据,然后把收集保存在本地数据库并发送给zabbix server进行统一存储和展示。

    zabbix-server和zabbix-proxy对比

    3.1、安装zabbix proxy

    3.1.1创建数据库

    create database zabbix_proxy character set utf8 collate utf8_bin;
    
    grant all privileges on zabbix_proxy.* to proxy@'%' identified by 'zabbix_proxy123';
    

    错误:密码太简单,导致错误

    参考: https://www.cnblogs.com/ivictor/p/5142809.html

    3.1.2、编译安装zabbix proxy

    1、安装依赖包

    apt-get  install   apache2 apache2-bin apache2-data apache2-utils fontconfig-config fonts-dejavu-core fping libapache2-mod-php   libapache2-mod-php7.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libfontconfig1 libgd3 libiksemel3   libjbig0 libjpeg-turbo8 libjpeg8 liblua5.2-0 libodbc1 libopenipmi0 libsensors4 libsnmp-base libsnmp30 libsodium23 libssh2-1  libtiff5 libwebp6 libxpm4 php-bcmath php-common php-gd php-ldap php-mbstring php-mysql php-xml php7.2-bcmath php7.2-cli  php7.2-common php7.2-gd php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline   php7.2-xml snmpd  ssl-cert ttf-dejavu-core  libmysqlclient-dev  libxml2-dev  libxml2 snmp  libsnmp-dev   libevent-dev  openjdk-8-jdk curl libcurl4-openssl-dev php-gettext php-xml php-net-socket php-gd 
    
    

    2、 下载zabbix源码包
    下载地址:https://www.zabbix.com/download_sources

    tar -zxvf zabbix-4.0.12.tar.gz
    cd zabbix-4.0.12
    

    3、 创建用户账户

    useradd zabbix
    

    4、 编译安装

    ./configure --prefix=/usr/local/zabbix 
        --enable-proxy 
        --enable-agent 
        --with-mysql 
        --with-net-snmp 
        --enable-ipv6 
        --with-libcurl 
        --with-libxml2
        
    make && make install
    

    5、制作zabbix-proxy启动脚本

    vim /lib/systemd/system/zabbix-proxy.service
    
    [Unit]
    Description=Zabbix Proxy
    After=syslog.target
    After=network.target
    
    [Service]
    Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_proxy.conf"
    EnvironmentFile=-/etc/default/zabbix-proxy
    Type=forking
    Restart=on-failure
    PIDFile=/tmp/zabbix_proxy.pid   #安装路径必须和配置一样,我当初因为路径不对,导致启动时会卡住不动
    KillMode=control-group
    ExecStart=/usr/local/zabbix/sbin/zabbix_proxy -c $CONFFILE
    ExecStop=/bin/kill -SIGTERM $MAINPID
    RestartSec=10s
    TimeoutSec=infinity
    
    [Install]
    WantedBy=multi-user.target
    

    6、修改配置文件

    grep "^[a-Z]" /usr/local/zabbix/etc/zabbix_proxy.conf
    
    
    ProxyMode=0
    Server=192.168.7.101
    ServerPort=10051
    Hostname=zabbix-proxy-active
    ListenPort=10051
    LogFile=/tmp/zabbix_proxy.log
    PidFile=/tmp/zabbix_proxy.pid
    DBHost=192.168.7.102
    DBName=zabbix_proxy_active
    DBUser=zabbix
    DBPassword=zabbix123
    DBPort=3306
    ProxyLocalBuffer=20
    ProxyOfflineBuffer=50
    HeartbeatFrequency=60
    StartTrappers=5
    StartHTTPPollers=1
    CacheSize=8M
    StartDBSyncers=4
    HistoryCacheSize=50M
    HistoryIndexCacheSize=50M
    Timeout=30
    LogSlowQueries=3000
    

    7、启动并检查10051端口是否启动

    systemctl start zabbix-proxy
    systemctl enable zabbix-proxy
    

    3.2、配置zabbix-agent

    因为编译安装zabbix-proxy时和zabbix-agent一起编译了

    1、配置启动脚本

    vim /lib/systemd/system/zabbix-agent.service
    
    [Unit]
    Description=Zabbix Agent
    Documentation=man:zabbix_agentd
    After=network.target
    
    [Service]
    Type=simple
    User=zabbix
    Group=zabbix
    ExecStart=/usr/sbin/zabbix_agentd --foreground
    Restart=on-abnormal
    
    [Install]
    WantedBy=multi-user.target
    

    2、修改配置文件

    root@zabbix-node6:/tmp# grep "^[a-Z]" /usr/local/zabbix/etc/zabbix_agentd.conf
    LogFile=/tmp/zabbix_agentd.log
    Server=192.168.7.106,192.168.7.101
    ListenPort=10050
    ListenIP=0.0.0.0
    StartAgents=3
    ServerActive=192.168.7.106
    Hostname=192.168.7.106
    
    

    3、启动并检查端口

    systemctl start zabbix-agent 
    systemctl enable zabbix-agent 
    

    4、检查日志

    如果需要详细日志,可以提高日志等级
    

    3.3、server端添加agnet 代理

    1、创建agent代理程序(即添加zabbix proxy端)

    2、更改代理

    3、列表检查

    4、检查图形

    检测>图形

    proxy的模式

    这是对于zabbix agent来说的工作模式
    被动模式就是由zabbix server向zabbix agent发出指令获取数据,即zabbix agent被动的去获取
    数据并返回给zabbix server,zabbix server周期性的向agent 索取数据,这种模式的最大问题就
    是会加大zabbix server的工作量,在数百台服务器的环境下zabbix server不能及时获取到最新
    数据,但这也是默认的工作方式。
    主动模式是有zabbix agent主动采集数据并返回给zabbix server,不再需要zabbix serve进行干
    预,因此主动模式在一定程度上可减轻zabbix server的压力。
    

    3.4、被动模式

    1、省略安装zabbix-proxy

    2、配置

    root@zabbix-node5:~# grep "^[a-Z]" /etc/zabbix/zabbix_proxy.conf
    ProxyMode=1  # 主要修改模式
    Server=192.168.7.101
    ServerPort=10051
    Hostname=zabbix-proxy-passive
    ListenPort=10051
    LogFile=/var/log/zabbix/zabbix_proxy.log
    LogFileSize=0
    DebugLevel=3
    PidFile=/var/run/zabbix/zabbix_proxy.pid
    SocketDir=/var/run/zabbix
    DBHost=192.168.7.102
    DBName=zabbix_proxy_passive
    DBUser=zabbix
    DBPassword=zabbix123
    DBPort=3306
    ProxyLocalBuffer=720
    ProxyOfflineBuffer=720
    HeartbeatFrequency=60
    ConfigFrequency=60
    DataSenderFrequency=10
    StartPollers=5
    ListenIP=0.0.0.0
    CacheSize=8M
    StartDBSyncers=4
    HistoryCacheSize=16M
    HistoryIndexCacheSize=4M
    Timeout=30
    LogSlowQueries=3000
    
    

    3、添加agent代理

    名称需要zabbix-hostname相同

    5、启动

    systemctl start zabbix-proxy
    systemctl enable zabbix-proxy
    

    6、查看日志

    tail -f /var/log/zabbix/zabbix-proxy/zabbix-proxy.log
    

    添加如上图agent实例

    1、配置

    root@zabbix-node6:/usr/local/zabbix# grep "^[a-Z]" /usr/local/zabbix/etc/zabbix_agentd.conf
    LogFile=/tmp/zabbix_agentd.log
    Server=192.168.7.105,192.168.7.101
    ListenPort=10050
    ListenIP=0.0.0.0
    StartAgents=3
    ServerActive=192.168.7.105
    Hostname=192.168.7.106
    
    

    2、在server端的web添加

    添加模版

    查看主被监控列表

    3.5、主动模式

    1、全克隆模版

    2、克隆模版

    点击全克隆,下图搞错了

    3、修改模版名称

    修改名称 > 添加

    4、列表查看

    5、 修改成主动模式,点击监控项

    监控项>全选>批量更新

    6、修改类型

    7、 修改间隔时间,点击更新

    8、 点击自动发现规则

    9、 点击名称进入修改

    10、 修改成主动式,更新

    11、 箭头所指的地方都需要修改成主动式(监控项原型内还有多项)

    12、修改proxy代理模式

    root@zabbix-node5:~# grep "^[a-Z]" /etc/zabbix/zabbix_proxy.conf
    ProxyMode=1  # 主要修改模式
    Server=192.168.7.101
    ServerPort=10051
    Hostname=zabbix-proxy-passive
    ListenPort=10051
    LogFile=/var/log/zabbix/zabbix_proxy.log
    LogFileSize=0
    DebugLevel=3
    PidFile=/var/run/zabbix/zabbix_proxy.pid
    SocketDir=/var/run/zabbix
    DBHost=192.168.7.102
    DBName=zabbix_proxy_passive
    DBUser=zabbix
    DBPassword=zabbix123
    DBPort=3306
    ProxyLocalBuffer=720
    ProxyOfflineBuffer=720
    HeartbeatFrequency=60
    ConfigFrequency=60
    DataSenderFrequency=10
    StartPollers=5
    ListenIP=0.0.0.0
    CacheSize=8M
    StartDBSyncers=4
    HistoryCacheSize=16M
    HistoryIndexCacheSize=4M
    Timeout=30
    LogSlowQueries=3000
    

    13、添加agent代理

    名称需要zabbix-hostname相同

    14、启动服务

    systemctl start zabbix-proxy
    systemctl enable zabbix-proxy
    

    16、zabbix-agent修改配置文件

    root@zabbix-node6:/usr/local/zabbix# grep "^[a-Z]" /usr/local/zabbix/etc/zabbix_agentd.conf
    LogFile=/tmp/zabbix_agentd.log
    Server=192.168.7.105,192.168.7.101
    ListenPort=10050
    ListenIP=0.0.0.0
    StartAgents=3
    ServerActive=192.168.7.105
    Hostname=192.168.7.106
    
    
  • 相关阅读:
    Chapter 2 Sockets and Patterns【选译,哈哈】 Part 2 Messags Partterns
    WPF动态更改Image控件图片路径
    Chapter 2 Sockets and Patterns【选译,哈哈】 Part 1
    Chapter 2 Sockets and Patterns【选译,哈哈】 Part 4 Handling Errors and ETERM
    Chapter 2 Sockets and Patterns【选译,哈哈】 Part 3 Messags Partterns
    Visual Studio 2008 测试项目无法正常显示解决办法
    Ext.NET控件介绍—Form控件
    ThoughtWorks(中国)程序员读书雷达
    Ext.net 中日期格式的计算
    Sql 分割 键值对字符串 得到某值对应的名称
  • 原文地址:https://www.cnblogs.com/pansn/p/12666527.html
Copyright © 2011-2022 走看看