CHAPTER 5 Zabbix 自动发现、自动注册、分布式监控、SNMP监控

5.1 自动发现与自动注册

手动添加客户端非常耗时间,增加人力、时间成本。为了满足监控企业成千上万台服务器,zabbix提供了自动发现与自动注册的功能,自动批量发现局域网中的服务器,并自动添加到zabbix监控平台

5.1.1 简介

自动发现(被动模式):由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器、设备。实现自动将发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(item)、自动创建图像等功能。
原理
适用场景:主要针对企业批量添加主机,适应于网段较少且单一的项目或公司,适用于在第一次大规模添加机器的场景
缺点:当 Agent服务器过多的时候采用自动发现,zabbix-server压力会比较大,自动添加主机进度就会非常慢。

自动注册(主动模式):Zabbix Server 等待 Zabbix Agent主动上报。由客户端主动发起,客户端必须安装并启动Agentd,否则无法被自动注册添加至主机列表。对于使用SNMP的要采用自动发现。
原理
适用场景:云环境下的监控,云环境中,IP分配就是随机的
缺点:agent有可能找不到Server(配置出错)

5.1.2 两种模式

被动模式:默认 agent被server抓取数据 (都是在agent的立场上说)
主动模式:agent主动将数据发到server端 (都是在agent的立场上说)

注意: 两种模式都是在agent上进行配置
zabbix 的使用要在hosts文件中预先做好主机名的解析

5.2 自动发现–被动模式

step1:完成之前的安装
zabbix Server安装完毕

step2:配置agent客户端
zabbix agent安装完毕,注意配置Server=192.168.5.54

step3:在web界面上进行配置
web界面:配置 >> 自动发现 >> Local network
使用自带的自动发现规则(进行修改)即可

在这里插入图片描述
在IP range输入IP范围,注意格式;
延迟在实际的生产环境中要大一些,实验环境可以小一些
在这里插入图片描述
创建发现动作
配置 >> 动作 >> Auto discovery. Linux servers.
在这里插入图片描述
① 配置动作,在条件中添加条件,让添加更准确
在这里插入图片描述
② 在操作中添加
添加主机与启用主机
在这里插入图片描述
自动发现的主机
在这里插入图片描述

5.3 自动注册–主动模式

step1:完成之前的安装
zabbix Server安装完毕

step2:zabbix agent安装完毕,需要额外增加的配置

vim /etc/zabbix/zabbix_agentd.conf
ServerActive=172.16.1.61
# Hostname=Zabbix server
HostnameItem=system.hostname
 
systemctl restart zabbix-agent.service
netstat -tunlp|grep zabbix

在这里插入图片描述
step3:在web见面上进行配置
配置 >> 动作 >> 事件源(自动注册) >> 创建动作
在这里插入图片描述

5.4 分布式监控

5.4.1 介绍

流程:

1、zabbix server发布指令给代理
2、zabbix-proxy将指令发给被监控主机
3、被监控机将数据汇报给zabbix-proxy
4、zabbix-proxy再交给zabbix-server
5、zabbix-server将数据展示

作用:

  1. 分担压力,减轻负载
    zabbix Server -> zabbix proxy -> zabbix agent1 agent2 agent3 …
    -> zabbix proxy ->zabbix agent4 agent5 agent6…
  2. 多机房监控
    zabbix Server(北京) -> zabbix proxy(每个机房搭建) -> zabbix agent

架构图:
在这里插入图片描述
原模式:
zabbix Server -> zabbix agent (只能同一个局域网监控)

5.4.2 配置zabbix proxy

step1: 配置zabbix yum源,并安装proxy

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install zabbix-proxy-mysql -y

step2:安装数据库
zabbix proxy也需要数据库,这个数据库不是用于存储监控数据的 只是用于存储配置信息

#安装数据库
yum -y install mariadb-server
systemctl start mariadb.service
systemctl enable mariadb
#建立数据库
mysql
create database zabbix_proxy character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';
exit
#导入数据文件
[root@zabbix-svr-2 zabbix]# cd /usr/share/doc/zabbix-proxy-mysql-5.0.31/
[root@zabbix-svr-2 zabbix-proxy-mysql-5.0.31]# zcat schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy
#配置zabbix proxy 连接数据库
sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf
sed -i 's#Server=127.0.0.1#Server=192.168.5.54#' /etc/zabbix/zabbix_proxy.conf
sed -i 's#Hostname=Zabbix proxy#Hostname=zabbix-svr-2#' /etc/zabbix/zabbix_proxy.conf
# Hostname 作为后面添加的代理程序名称,要保持一致
#启动
systemctl restart zabbix-proxy.service
#检查端口
[root@zabbix-svr-2 zabbix-proxy-mysql-5.0.31]# ss -lntup|grep zabbix
tcp    LISTEN     0      128       *:10050                 *:*                   users:(("zabbix_agentd",pid=72902,fd=4),("zabbix_agentd",pid=72901,fd=4),("zabbix_agentd",pid=72900,fd=4),("zabbix_agentd",pid=72899,fd=4),("zabbix_agentd",pid=72898,fd=4),("zabbix_agentd",pid=72897,fd=4))
tcp    LISTEN     0      128       *:10051                 *:*                   users:(("zabbix_proxy",pid=74384,fd=4),
...
tcp    LISTEN     0      128    [::]:10051              [::]:*                   users:(("zabbix_proxy",pid=74384,fd=5),

setp3:修改各agent配置指向 proxy

[root@k8s-node-02 html]# grep ^Server /etc/zabbix/zabbix_agentd.conf
Server=192.168.5.54
ServerActive=127.0.0.1
[root@k8s-node-02 html]# sed -i 's#192.168.5.54#192.168.70.183#g' /etc/zabbix/zabbix_agentd.conf
[root@k8s-node-02 html]# sed -i 's#127.0.0.1#192.168.70.183#g' /etc/zabbix/zabbix_agentd.conf
[root@k8s-node-02 html]# grep ^Server /etc/zabbix/zabbix_agentd.conf
Server=192.168.70.183
ServerActive=192.168.70.183
[root@k8s-node-02 html]# systemctl restart zabbix-agent

step4:web界面添加代理
管理 >> agent代理程序 >> 创建代理
在这里插入图片描述
代理程序名称要填写主机名
在这里插入图片描述
在这里插入图片描述
在主机中可以看到71.183使用的zabbix-svr-2代理
在这里插入图片描述

5.5 SNMP监控

5.5.1 使用范围

无法安装agent ,很多前辈的监控软件都可以监控各种设备 都是通过snmp监控(snmp:simple network manager protocol 简单网络管理协议)
简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。

5.5.2 安装snmp程序

yum -y install net-snmp net-snmp-utils

5.5.3 配置snmp程序

sed -i.ori '57a view systemview   included  .1' /etc/snmp/snmpd.conf
systemctl start snmpd.service

5.5.4 测试snmp

[root@m01 ~]# snmpwalk -v 2c -c public 127.0.0.1 sysname
SNMPv2-MIB::sysName.0 = STRING: m01

说明:

  • snmpwalk 类似 zabbix_get
  • -v 2c 指定使用snmp协议的版本 snmp分为v1 v2 v3
  • -c public 指定暗号
  • sysname 类似zabbix的key

5.5.5 在web界面进行配置

添加新的主机,注意使用snmp接口
在这里插入图片描述
链接模板
在这里插入图片描述
添加完成就能够在主机中看到snmp监控对的主机
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值