• zabbix-proxy安装及配置文件详解


    简介

    zabbix 作为一个分布式监控系统(分布式监控解决方案),支持通过代理(proxy)收集zabbix agent的监控数据然后由zabbix proxy再把数据发送给zabbix server,也就是zabbix proxy 可以代替 zabbix server收集监控数据,然后把数据汇报给 zabbix server,所以zabbix proxy可以在一定程度上分担了zabbix server 的数据收集压力,从而降低了数据的采集时间、也相应的增加了zabbix server的监控能力。
    
    另外zabbix proxy也区分主动模式和被动模式,通信方式与zabbix server主动模式和被动模式一样,区别是zabbix proxy由于没有zabbix agent的配置,所以zabbix proxy在主动模式下要向zabbix server周期性申请获取zabbix agent的监控项信息,但是zabbix proxy在被动模式下也是等待zabbix server的连接并接受zabbix server发送的监控项指令,然后再由zabbix proxy向zabbix agent发起请求获取数据。
    
    一个zabbix server可以有多个proxy,并且proxy也需要把数据临时存放在数据库中,每个proxy都有一个独立的数据库,proxy的大版本号需要与server保持一致;
    

    apt安装proxy

    1、wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
    
    2、dpkg -i zabbix-release_4.0-3+bionic_all.deb
    
    3、apt update
    
    4、apt install zabbix-proxy-mysql -y
    
    5、cd /usr/share/doc/zabbix-proxy-mysql/
    
    6、zcat schema.sql.gz | mysql -uzabbix_active -plinux -h192.168.3.203 zabbix_active
    #把sql语句的压缩文件通过zcat输出到终端上,通过管道导入到zabbix_active库中,进行数据库表结构的初始化
    

    编译安装proxy

    1、cd /usr/local/src
    
    2、tar xvf zabbix-4.0.18.tar.gz
    
    3、cd zabbix-4.0.18/
    
    4、apt install libmysqld-dev libmysqlclient-dev libxml2-dev libxml2 snmp libsnmp-dev libevent-dev curl libcurl4-openssl-dev openjdk-8-jdk -y   #安装yilde包
    
    5、./configure --prefix=/apps/zabbix-proxy --enable-proxy --enable-agent --enable-java --with-mysql --with-net-snmp --with-libcurl --with-libxml2
    #编译安装agent,编译安装proxy,编译安装java gateway,编译安装java gateway之前需要安装jdk环境,否则环境检查时会报错;使用mysql、开启snmp、开启监控url
    
    6、make && make install
    
    数据库服务器:
    1、mysql> create database zabbix_passive character set utf8 collate utf8_bin;
    2、mysql> grant all privileges on zabbix_passive.* to zabbix_passive@'192.168.3.%' identified by 'linux';
    #proxy也需要有自己的数据库
    
    7、useradd zabbix
    
    8、chown zabbix.zabbix /apps/zabbix-proxy/ -R
    
    9、cd /usr/local/src/zabbix-4.0.18/database/mysql/
    
    10、mysql -uzabbix_passive -plinux -h192.168.3.203 zabbix_passive < schema.sql 
    #指定数据库,导入sql脚本,初始化proxy数据库的表结构,生成表;如果不导入sql脚本,启动proxy时会报没有表,查询不到
    
    11、systemctl start zabbix-proxy
    
    12、systemctl enable zabbix-proxy
    

    准备proxy的service文件

    root@test:~# vim /lib/systemd/system/zabbix-proxy.service
    [Unit]
    Description=Zabbix Proxy
    After=syslog.target
    After=network.target
    
    [Service]
    Environment="CONFFILE=/apps/zabbix-proxy/etc/zabbix_proxy.conf"
    EnvironmentFile=-/etc/default/zabbix-proxy
    Type=forking
    Restart=on-failure
    PIDFile=/tmp/zabbix_proxy.pid   #pid文件路径需要和proxy配置文件中的pid路径一致
    KillMode=control-group
    ExecStart=/apps/zabbix-proxy/sbin/zabbix_proxy -c $CONFFILE
    ExecStop=/bin/kill -SIGTERM $MAINPID
    RestartSec=10s
    TimeoutSec=infinity
    
    [Install]
    WantedBy=multi-user.target
    

    proxy配置文件

    root@test:~# vim /apps/zabbix-proxy/etc/zabbix_proxy.conf
    ProxyMode=0
    #1是proxy工作在被动模式,0是工作在主动模式
    
    Server=192.168.3.200
    #允许指定地址的server到本机proxy抓取数据
    
    ServerPort=10051
    #指定server端口;被动模式下,将会忽略server的端口
    
    Hostname=zabbix-proxy-linux-passive
    #指定proxy的名称,此名称在zabbix server中需要是唯一的
    
    ListenPort=10051
    #proxy的监听端口也是10051
    
    # SourceIP=
    #多地址的情况下可以指定通信地址
    
    DBHost=192.168.3.203
    #指定proxy采集到的临时数据存放的数据库地址
    
    DBName=zabbix_passive
    #库名
    
    
    DBUser=zabbix_passive
    #账号
    
    DBPassword=linux
    #密码
    
    ProxyLocalBuffer=720
    #已经提交到zabbix server的数据保留时间,单位是小时,范围是1-720
    
    ProxyOfflineBuffer=720
    #因连接不上server,而未提交到zabbix server的数据保留时间
    
    HeartbeatFrequency=120
    #心跳间隔检测时间,被动模式将会被忽略;主动模式下,proxy将检测server是否存活;单位是秒,0-3600
    
    ConfigFrequency=180
    #主动模式下,proxy间隔多长时间向server获取监控项;单位秒,范围1-3600*24*7
    
    DataSenderFrequency=30
    #主动模式下,proxy间隔多长时间向server发送数据;单位秒,范围1-3600
    
    StartPollers=5
    #proxy开启几个进程收集数据
    
    HistoryCacheSize=16M
    #历史数据缓存大小;尽量大的分配空间
    
    CacheSize=16M
    #保存监控项而占用的最大内存
    
    Timeout=30
    #指定时间内,agent没把监控项的数据返回则超时
    
    User=zabbix
    #指定启动proxy的用户
    
  • 相关阅读:
    正则表达式常用语法
    JDK源码分析hashmap
    追加数据
    验证域名!!!!!!!!!
    Hadoop(一)之初识大数据与Hadoop
    Hadoop(十)Hadoop IO之数据完整性
    Hadoop(九)Hadoop IO之Compression和Codecs
    Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统
    Hadoop(七)HDFS容错机制详解
    python连接数据库
  • 原文地址:https://www.cnblogs.com/dongzhanyi123/p/13299439.html
Copyright © 2020-2023  润新知