第一章:监控系统概述

大家好,我是老张。干网络运维这行十几年了,今天咱们聊聊监控系统。

说实话,刚入行那会儿,我对监控的理解特别简单——能ping通就算活着。后来吃了不少亏,才慢慢明白,真正的监控远不止“通不通”这么简单。

1.1 远程监控的定义

远程监控,说白了就是“人不在机房,也能知道设备在干嘛”。

你想想看,一个大型数据中心,动辄几百台交换机、上千台服务器。难道每台设备都配个工程师盯着?不现实。远程监控就是让你坐在办公室,甚至在家里,就能掌握全网设备的运行状态。

核心要点:远程监控 = 数据采集 + 数据传输 + 数据展示 + 告警通知

我记得刚做第一个项目时,客户要求“所有设备必须7×24小时可监控”。当时我心想,这不简单吗?结果部署完才发现,有些老旧设备根本不支持标准监控协议。嗯,这里要注意——不是所有设备都能被监控,选型阶段就得考虑进去。

1.2 监控系统架构:C/S 与 B/S

监控系统的架构,主要分两种:C/S架构和B/S架构。我个人的习惯是,小规模环境用B/S,大规模环境用C/S。

C/S架构(客户端/服务器)

C/S架构,就是每台被监控设备上装个客户端程序,由客户端主动向服务器上报数据。

  • 优点:实时性好,数据采集频率高,适合大规模部署
  • 缺点:每台设备都要装客户端,维护成本高
  • 典型代表:Zabbix Agent、Nagios NRPE

我在项目中遇到过一个问题:某次给客户部署Zabbix,300多台服务器,每台都要手动装Agent。结果有一批服务器的操作系统版本太老,Agent装不上。后来我改用SNMP轮询才解决。所以啊,选架构之前,先摸清设备底细。

B/S架构(浏览器/服务器)

B/S架构就简单了,你只需要一个浏览器,就能看到所有监控数据。服务器端负责采集和存储,客户端零安装。

  • 优点:部署简单,跨平台,维护方便
  • 缺点:实时性略差,大规模场景下性能瓶颈明显
  • 典型代表:Prometheus + Grafana、Cacti

我个人建议,如果监控节点少于500个,B/S架构完全够用。超过这个量级,还是老老实实上C/S吧。

1.3 常见监控协议

聊完架构,咱们说说协议。监控协议就是设备和监控系统之间的“语言”。语言不通,啥也干不了。

SNMP(简单网络管理协议)

SNMP是网络监控的“老大哥”,几乎所有网络设备都支持。它分三个版本:v1、v2c、v3。

版本 安全性 适用场景
SNMP v1 极低(明文传输) 老旧设备,不推荐使用
SNMP v2c 低(团体名认证) 内网环境,常用
SNMP v3 高(加密+认证) 公网或安全要求高的场景

我曾经踩过一个坑:给客户配置SNMP时,用了默认的“public”团体名。结果被安全扫描发现,客户差点投诉我。从那以后,我所有项目都强制要求修改默认团体名。避坑指南:SNMP v2c的团体名,千万别用public/private,改成你自己记得住、别人猜不到的组合。

SNMP的核心操作就三个:

  • GET:读取设备的一个参数(比如CPU使用率)
  • WALK:遍历设备的一组参数(比如所有接口的流量)
  • TRAP:设备主动上报异常事件(比如接口down了)
# 一个简单的SNMP查询示例
snmpget -v 2c -c mycommunity 192.168.1.1 1.3.6.1.2.1.1.5.0
# 返回结果:SNMPv2-MIB::sysName.0 = STRING: Core-Switch-01

ICMP(互联网控制报文协议)

ICMP,大家最熟悉的就是ping命令。它用来检测网络连通性和延迟。

但说实话,ICMP只能告诉你“通不通”和“快不快”,没法告诉你“为什么不通”。我见过不少运维新人,设备ping不通就慌了,其实可能是防火墙把ICMP过滤了。所以,ICMP适合做第一道防线,但不能依赖它做深度诊断。

小技巧:监控系统里,ICMP通常和SNMP配合使用。ICMP负责“探活”,SNMP负责“查因”。比如:ICMP发现设备不通,再用SNMP去查接口状态,定位问题更快。

Syslog(系统日志协议)

Syslog是设备“说话”的方式。交换机、路由器、防火墙,都会通过Syslog把日志发到日志服务器。

Syslog的日志级别从高到低分8级:

  • 0 - Emergency:系统不可用,比如核心交换机挂了
  • 1 - Alert:需要立即处理,比如电源故障
  • 2 - Critical:严重错误,比如接口频繁flapping
  • 3 - Error:一般错误,比如配置错误
  • 4 - Warning:警告信息,比如端口协商失败
  • 5 - Notice:正常但重要的事件
  • 6 - Informational:一般信息
  • 7 - Debug:调试信息,生产环境慎用

我个人习惯,生产环境只收集0-4级的日志,否则日志量太大,根本看不过来。曾经有个客户,把所有级别的日志都开了,一天产生200GB日志,存储直接爆了。嗯,这就是教训。

1.4 知识体系总览

说了这么多,咱们用一张图来总结一下监控系统的核心知识结构。

监控系统知识体系 远程监控系统 架构模式 监控协议 数据采集 C/S架构 B/S架构 SNMP ICMP Syslog 轮询采集 主动上报 核心目标:快速发现故障 → 准确定位 → 快速恢复 没有完美的监控方案,只有最适合你环境的方案

这张图把监控系统的核心要素都串起来了。你想想看,架构决定了你怎么搭,协议决定了你怎么收数据,采集方式决定了数据的实时性和准确性。三者缺一不可。

重要提醒:很多新手容易犯一个错误——只关注监控系统的搭建,忽略了后期的维护。监控系统本身也是需要监控的。我曾经见过一个客户,监控服务器硬盘满了,结果所有告警都发不出来,设备挂了半天都没人知道。所以,记得给你的监控系统也配个“看门狗”。

好了,第一章的内容就到这里。监控系统看似简单,但真正做好并不容易。后面我们会一步步深入,把每个环节都讲透。


公众号:蓝海资料掘金营,微信deep3321