zoukankan      html  css  js  c++  java
  • zabbix笔记_007 zabbix 分布式架构

    1. zabbix 分布式架构[服务器数量较大的场景下使用]

    现有架构:
    agent --> zabbix server
    
    proxy架构:
    agent --> zabbix proxy --> zabbix server
    proxy架构是让agent数据上报给zabbix proxy然后由zabbix proxy统一发送给zabbix server
    
    架构改造:
    将一台zabbix_agent 转变为 zabbix proxy  
    新增一台 zabbix server让zabbix proxy数据发送给zabbix server
    
    
    10.0.0.80  zabbix_server
    10.0.0.66  zabbix_agent 转变为 zabbix_proxy 
    10.0.0.63  zabbix_agent
    10.0.0.65  zabbix_agent
    

    2. zabbix_proxy架构图

    3. zabbix agent业务机器配置agent:

    将zabbix agent的服务器地址指向 proxy服务器
    下面配置的是 10.0.0.63 10.0.0.65 服务器修改 zabbix proxy 项指向了 10.0.0.66的proxy服务器

    #agent客户端10.0.0.63配置:
    #1. 修改agent配置文件的proxy服务器地址
    [root@master zabbix]# egrep  -v "^#|^$"  /etc/zabbix/zabbix_agentd.conf
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=127.0.0.1
    ServerActive=127.0.0.1
    Hostname=Zabbix server
    Include=/etc/zabbix/zabbix_agentd.d/*.conf
    #----------------------- 将server改为我们的zabbix proxy服务器地址 ----------------------------
    如下:
    [root@node2_proxy zabbix-proxy-mysql-3.4.10]# egrep  -v "^#|^$" /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.66
    ServerActive=10.0.0.66
    Hostname=Zabbix_agent_66
    Include=/etc/zabbix/zabbix_agentd.d/*.conf
    #-----------------
    
    # 2. 重启 zabbix_agent服务
     [root@master zabbix]# systemctl restart zabbix-agent.service
     
     
     ============================================
     ----------------分割线----------------------
     ============================================
    
    #agent客户端10.0.0.65配置:
    
    #agent客户端配置:
    #1. 修改agent配置文件的proxy服务器地址
    [root@master zabbix]# egrep  -v "^#|^$" zabbix_agentd.conf
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=127.0.0.1
    ServerActive=127.0.0.1
    Hostname=Zabbix server
    Include=/etc/zabbix/zabbix_agentd.d/*.conf
    #----------------------- 将server改为我们的zabbix proxy 服务器地址 ----------------------------
    如下:
    [root@master zabbix]# egrep  -v "^#|^$" zabbix_agentd.conf
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=10.0.0.66
    ServerActive=10.0.0.66
    Hostname=Zabbix_agent_65
    Include=/etc/zabbix/zabbix_agentd.d/*.conf
    #-----------------
    
    # 2. 重启 zabbix_agent服务
     [root@master zabbix]# systemctl restart zabbix-agent.service
    

    4. zabbix_proxy 安装 [10.0.0.66]

    -------------------------------------------------
    一 . 安装zabbix-proxy:
    #1. 安装zabbix-agent zabbix-proxy
       yum localinstall -y  https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.10-1.el7.x86_64.rpm
       yum localinstall -y  http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-proxy-mysql-3.4.10-1.el7.x86_64.rpm
    
    #2. 安装 mariadb
       yum install  -y mariadb-server
     #2.1 启动mariadb和设置开机自启动   
       systemctl start mariadb.service
       systemctl enable mariadb.service
     
     #2.2 创建zabbix_proxy库
      mysql
       create database zabbix_proxy default charset utf8;
       grant all privileges on zabbix_proxy.* to zabbix_proxy@'localhost' identified by '123456';
       flush privileges;
       exit
      数据库账号密码: zabbix_proxy 123456
     
      MariaDB [(none)]> show databases;
     +--------------------+
     | Database           |
     +--------------------+
     | information_schema |
     | test               |
     | zabbix_proxy       |
     +--------------------+
    3 rows in set (0.00 sec)
    
     #2.3 导入zabbix_proxy数据[默认就在zabbix-proxy中]:
      cd /usr/share/doc/zabbix-proxy-mysql-3.4.10/
      zcat schema.sql.gz |mysql -uzabbix_proxy -p123456 zabbix_proxy
      如果你不知道文件在哪儿你可以使用 rpm -ql zabbix-proxy 来查看
      schema.sql.gz  这个文件就是
     进入数据库检查:
     mysql
     use zabbix_proxy;
     show tables;
     
     看到里面有表证明成功
    -------------------------------------------------
    
    二. 配置zabbix-proxy连接数据库:
    配置文件: /etc/zabbix/zabbix_proxy.conf
    1. 修改配置文件:
    /etc/zabbix/zabbix_proxy.conf
    修改为以下结果:
    Server=10.0.0.80
    Hostname=Zabbix_proxy
    LogFile=/var/log/zabbix/zabbix_proxy.log
    LogFileSize=0
    PidFile=/var/run/zabbix/zabbix_proxy.pid
    SocketDir=/var/run/zabbix
    DBHost=localhost
    DBName=zabbix_proxy
    DBUser=zabbix_proxy
    DBPassword=123456
    SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
    Timeout=4
    ExternalScripts=/usr/lib/zabbix/externalscripts
    LogSlowQueries=3000
    -------------------------------------------------
    1.1 配置文件解释:
    [root@node2_proxy zabbix-proxy-mysql-3.4.10]# cat /etc/zabbix/zabbix_proxy.conf
    Server=10.0.0.80      ##<--------改为zabbix server服务器地址
    Hostname=80_zabbix_proxy ##<--------这个名字很重要,它关系到 zabbix server是否可以找到proxy服务器
    LogFile=/var/log/zabbix/zabbix_proxy.log  ##<-------- 日志文件
    LogFileSize=0
    PidFile=/var/run/zabbix/zabbix_proxy.pid  ##<-------- 进程pid
    SocketDir=/var/run/zabbix
    DBName=zabbix_proxy   ##<-------- 改为zabbix_proxy 数据库名
    DBUser=zabbix_proxy   ##<-------- 改为zabbix_proxy 数据库连接账户
    DBPassword=123456     ##<-------- 改为zabbix_proxy 数据库连接密码
    SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
    Timeout=4
    ExternalScripts=/usr/lib/zabbix/externalscripts
    LogSlowQueries=3000
    
    #2. 重启zabbix-proxy服务
       systemctl restart zabbix-proxy.service
       #检查状态:
       systemctl status zabbix-proxy.service
       #开机启动:
       systemctl enable zabbix-proxy.service
       
     
    记得启动完成后检查一下服务状态: systemctl status zabbix-proxy.service,直接查看进程也可以:
     [root@node2_proxy zabbix-proxy-mysql-3.4.10]# netstat -lntup |grep zabbix_proxy
    tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      37332/zabbix_proxy
    tcp6       0      0 :::10051                :::*                    LISTEN      37332/zabbix_proxy
    -------------------------------------------------
    
    三. zabbix server配置获取zabbix proxy数据配置:   
    

    5. WEB页面配置 [http://10.0.0.80]

    依次选择:
    配置 - 主机 - 创建主机
    

    配置好了添加:

    这里的 zabbix图标没有亮,需要等待一会儿,如果等不及,就去重启一下 proxy服务器中的zabbix-proxy

    systemctl restart zabbix-proxy
    

    再次刷新就看到被监控上了:

    检查告警是否正常:

    微信告警推送正常:

    微信赞赏

    支付宝赞赏

  • 相关阅读:
    在win7中关闭UAC(用户存取控制)
    如何卸载那些没有出现在“add/remove program”中的程序?
    Win7 打开显示文件后缀
    有关windows 自动登录的registry Key
    原来如此 新学一招
    file's owner以及outlet与连线的理解
    学习笔记:正确使用PresentModalViewController
    学习笔记:UIViewController生命周期
    IPhone之自定义弹出窗口
    学习笔记:iOS 视图控制器(UIViewController)剖析
  • 原文地址:https://www.cnblogs.com/superlinux/p/12582489.html
Copyright © 2011-2022 走看看