Zabbix分布式构建


Zabbix 分布式构建

0x01 环境介绍

众所周知,proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力。此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。

本实验采用Zabbix 5.0.6 环境进行搭建,拓扑如下

分布式架构

Server

  • ip:172.16.252.100
  • hostname:zabbix

Proxy

  • ip:172.16.252.119
  • hostname:lab-node1

Client

  • ip:172.16.252.201
  • hostname:lab-client-node2

0x02 Server 安装

参照之前文章,此处不再复述安装步骤

0x03 Proxy 安装配置

  1. 安装zabbix官方源余epel源,注意操作前将SElinux与防火墙永久关闭(实验环境,实际生产环境请配置相关端口策略)

    yum -y install epel-release.noarch
    rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm  
  2. 安装配置Zabbix-proxy相关组件

    yum install -y zabbix-proxy zabbix-proxy-mysql mariadb mariadb-server zabbix-agent
  3. 数据库操作优化

    vim /etc/my.cnf
    
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    symbolic-links=0
    character-set-server=utf8              #设置字符集为utf8
    innodb_file_per_table=1                #设置innodb的每个表文件单独存储
    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file=/var/run/mariadb/mariadb.pid
    
    # 开启数据库服务,设为开机启动
     systemctl start mariadb                #设为开机启动
     systemctl enable mariadb               #开启MariaDB数据
  4. 数据库配置

    MariaDB [(none)]> create database zabbixproxydb character set utf8 collate utf8_bin;
    #创建数据库且字符集为utf8,使web界面显示中文不出现乱码
    MariaDB [(none)]> grant all privileges on zabbixproxydb.* to root@'localhost' identified by 'passwd1!';
    #创建zabbixproxydb数据库,且赋予root用户拥有此数据库全部权限。
    MariaDB [(none)]> flush privileges;
  5. 导入相关表到数据库

    zcat /usr/share/doc/zabbix-proxy-mysql-*/schema.sql.gz | mysql -uroot -p zabbixproxydb
    #将模板数据恢复至zabbixproxydb数据
    mysql -uroot -ppasswd1! zabbixproxydb -e "show tables" #查看数据是否导入
  1. 修改zabbix_proxy.conf配置

    vim /etc/zabbix/zabbix_proxy.conf
    ProxyMode=0                # 默认即为0,代表 Proxy 处于主动模式,即 Proxy 主动去请求 Zabbix Server 获取监控项;1 代表被动模式
    Server=172.16.252.100    #改成service端ip需要向service发送数据
    ServerPort=10051         # 默认即为10051,Zabbix Server 监听端口,同上只在 Proxy 为主动模式时生效
    Hostname=lab-node1       # Server端添加proxy的时候需要一致,建议采用主机名
    LogFile=/var/log/zabbix/zabbix_proxy.log    # Proxy 日志文件位置
    LogFileSize=0
    PidFile=/var/run/zabbix/zabbix_proxy.pid
    DBHost=localhost         # 连接数据库的主机
    DBName=zabbixproxydb     # 数据库名
    DBUser=root                # 连接用户
    DBPassword=passwd1!      # 用户密码
    ConfigFrequency=60  # proxy主动从server端检索配置更新的频率,单位秒,主动proxy 参数, 被动 proxies忽略此项
    DataSenderFrequency=60   # Proxy 向 Zabbix Server 发送监控数据间隔,单位为秒
    Timeout=4
    
  1. Proxy agent配置

    #修改配置zabbix_agentd.conf配置文件
    vim /etc/zabbix/zabbix_agentd.conf
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=172.16.252.119        #若为纯主动模式需要注释此行
    ServerActive=172.16.252.119    #主动模式,数据通过proxy代理向Server传送数据
    Hostname=lab-node1            #zabbix server web上添加自身需要用到
    
    #将proxy与agent启动并加入开机启动
    systemctl start zabbix-agent.service #启动agent服务
    systemctl enable zabbix-agent.service #agent添加到开机启动
    systemctl start zabbix-proxy.service #启动proxy服务
    systemctl enable zabbix-proxy.service #proxy添加到开机启动

0x04 前台web配置

进入前台web页面,点击管理agent代理程序创建代理

创建代理

输入代理程序名,此处对应zabbix_proxy.conf配置文件中的hostname,与ip地址,选择被动模式

设定代理

0x05 Client 安装配置

  1. 安装agent服务

    yum -y install zabbix-agent
  1. agent修改配置

    vim /etc/zabbix/zabbix_agentd.conf
    
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=172.16.252.119        #若为纯主动模式需要注释此行
    ServerActive=172.16.252.119     #主动模式,数据通过proxy代理向Server传送数据
    Hostname=lab-node1            #zabbix server web上添加自身需要用到
    
    #启动并添加到自启动
    systemctl start zabbix-agent
    systemctl enable zabbix-agent
  2. 主机加入监控

    web页面点击–配置–主机–创建主机

    创建主机

并链接到对应的系统模板中

链接模板

稍等几分钟后即可在配置–主机中看到可用性 状态变绿

查看状态

这时,监控状态已经正常,可查看当前监控项的最新数据。


文章作者: Webpoplayer
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Webpoplayer !
评论
  目录