• 5--Zabbix分布式 监控 ; snmp监控


    一、分布式监控

    # 分布式监控的作用
      分担sever的集中式的压力
      数据推送形式:Agent > proxy > server
      
    # 多机房的网络延时问题
    上海机房 > proxy > server
    

    1.部署分布式监控zabbix-proxy

    # 1、环境准备
    192.168.15.17 zabbix-server 5.0
    192.168.15.16 zabbix-proxy  #(zabbix1)
    192.168.15.18 zabbix-agent2 #(zabbix2) 
    
    # 2、基本优化完成
     关闭防火墙和selinux
     
    # 3、具体步骤如下
    确保之前的自动注册和自动发现关闭
    zabbix-server无需变动,正常运行就ok
    
    # 4、配置zabbix-proxy代理服务器,并且部署数据库,用来存储agent发来的数据可以代理到zabbix-server
    
    # 5、安装zabbax5.0源
    [root@zabbix1 ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    [root@zabbix1 ~]#sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
     [root@zabbix1 ~]# yum clean all
     
    # 6、安装proxy和数据库
    [root@zabbix1 ~]# yum install zabbix-proxy-mysql zabbix-get  mariadb mariadb-server -y
    
    # 7、启动数据库,配置数据库用户,存储zabbix-agent2信息数据
    [root@zabbix1 ~]# systemctl enable --now mariadb.service 
    
    # 8、进入数据库
    mysql  #进入数据库
    MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin; #创建
    MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix'; #授权
    MariaDB [(none)]> flush privileges; #刷新
    
    # 9、导入zabbix_proxy数据库信息
    [root@zabbix1 ~]# rpm -ql zabbix-proxy-mysql   #查询mysql文件
    ...
    /usr/share/doc/zabbix-proxy-mysql-5.0.14/schema.sql.gz
    ...
    [root@zabbix1 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.14/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy 
    
    # 10、查看数据库导入
    mysql # 进入数据库
    MariaDB [(none)]> show databases;
    MariaDB [(none)]> use zabbix_proxy;
    MariaDB [zabbix_proxy]> show tables;
    
    # 11、修改zabbix-proxy配置文件,连接数据库的信息
    [root@zabbix1 ~]# sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf 
    [root@zabbix1 ~]# sed -i 's#Server=127.0.0.1#Server=192.168.15.17#' /etc/zabbix/zabbix_proxy.conf
    [root@zabbix1 ~]# sed -i 's#Hostname=Zabbix proxy#Hostname=zabbix1#' /etc/zabbix/zabbix_proxy.conf         #代理服务器的主机名proxy
    
    # 12、zabbix代理文件
    [root@zabbix1 ~]# egrep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
    Server=192.168.15.17
    Hostname=zabbix1
    LogFile=/var/log/zabbix/zabbix_proxy.log
    LogFileSize=0
    PidFile=/var/run/zabbix/zabbix_proxy.pid
    SocketDir=/var/run/zabbix
    DBPassword=zabbix
    DBName=zabbix_proxy
    DBUser=zabbix
    SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
    Timeout=4
    ExternalScripts=/usr/lib/zabbix/externalscripts
    LogSlowQueries=3000
    StatsAllowedIP=127.0.0.1
    
    # 13、启动代理服务器
    [root@zabbix1 ~]# systemctl restart zabbix-proxy.service 
    
    # 14、统一配置本地hosts(所有机器)
    [root@zabbix ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
    192.168.15.17 zabix
    192.168.15.18 zabix1
    192.168.15.16 zabbix2
    

    2. web页面添加代理

    3. agent使用proxy

    页面先添加客户端主机

    # 1、修改客户端的配置文件
    [root@zabbix2 ~]# egrep '^[a-Z]' /etc/zabbix/zabbix_agent2.conf 
    PidFile=/var/run/zabbix/zabbix_agent2.pid
    LogFile=/var/log/zabbix/zabbix_agent2.log
    LogFileSize=0
    Server=192.168.15.16        #proxy服务器的地址
    ServerActive=192.168.15.16     #proxy服务器的地址
    Hostname=zabbix2
    Include=/etc/zabbix/zabbix_agent2.d/*.conf
    ControlSocket=/tmp/agent.sock
    
    # 2、重启服务
    [root@zabbix2 ~]# systemctl restart zabbix-agent2.service 
    

    二、 SNMP监控

    # SNMP 简单网络管理协议
    # 1、服务端安装snmp程序 zabbix
    [root@zabbix ~]# yum -y install net-snmp net-snmp-utils
    # 2、开启snmp配置
    [root@zabbix ~]# sed -i.ori '57a view systemview included .i' /etc/snmp/snmpd.conf 
    [root@zabbix ~]# systemctl start snmpd.service 
    # 3、使用snmp命令
    # -v 指定版本    -c指定暗号  sysname是snmp的key
    [root@zabbix ~]# snmpwalk -v 2c -c public 127.0.0.1 sysname
    SNMPv2-MIB::sysName.0 = STRING: zabbix
    

  • 相关阅读:
    使用InternalsVisibleTo给assembly添加“友元assembly”
    从.snk文件导出密钥
    解决Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COER
    MySQL max_allowed_packet设置及问题
    MySQL导入sql脚本错误:2006
    执行nova-manage db sync时出错,提示’Specified key was too long; max key length is 1000 bytes’
    MySQL编码latin1转utf8
    微软为何选择在 Github 上开源 .NET 核心?
    In House打包流程
    GetBuiltProjectOutputRecursive error running Xamarin Forms iOS on Visual Studio
  • 原文地址:https://www.cnblogs.com/caodan01/p/15169334.html
Copyright © 2020-2023  润新知