1. 日志基础入门:交换机日志的作用、日志级别(0-7)、日志格式解析、日志存储位置

说实话,干了这么多年网络运维,我最怕听到的一句话就是:「交换机又出问题了,你来看看日志。」

很多人一听到「日志」两个字就头大,觉得那是天书。但我告诉你,日志其实是交换机在跟你说话。它把发生了什么、什么时候发生的、严重不严重,都清清楚楚写在了日志里。你只要学会怎么看,就能快速定位问题。

这一章,我们就从最基础的东西开始聊。

1.1 交换机日志到底有什么用?

日志的作用,说白了就三个:

  • 故障定位:设备出问题了,日志是第一手线索。我遇到过好几次,客户说网络断了,我登录交换机一看日志,发现是光模块收发光异常,直接换模块就解决了。
  • 安全审计:谁登录了设备?什么时候登录的?执行了什么操作?日志里全有记录。有一次我发现凌晨3点有人用admin账号登录,一查果然是内部人员违规操作。
  • 性能监控:端口频繁up/down、CPU突然飙高、内存泄漏……这些异常在日志里都会有蛛丝马迹。
我的习惯: 我每天上班第一件事,就是扫一眼核心交换机的日志。不用全看,就看有没有ERROR和WARNING级别的日志。这习惯帮我提前发现了至少5次潜在故障。

3.2 日志级别(0-7):数字越小越严重

交换机日志有8个级别,从0到7。数字越小,表示事件越严重。我刚开始学的时候老是记混,后来自己编了个口诀:「0紧急1警报,2严重3错误,4警告5通知,6信息7调试」。

级别 名称 含义 实际例子
0 Emergency(紧急) 系统不可用 设备过热关机、电源故障
1 Alert(警报) 需要立即处理 关键接口全部断开
2 Critical(严重) 严重错误 内存耗尽、CPU死锁
3 Error(错误) 一般错误 端口协商失败、CRC校验错误
4 Warning(警告) 可能有问题 端口down、STP拓扑变更
5 Notification(通知) 正常但重要 接口up、用户登录
6 Informational(信息) 一般信息 配置保存、系统启动
7 Debugging(调试) 调试信息 协议报文交互细节
避坑指南: 我曾经在现网设备上不小心开启了debug日志(级别7),结果日志量瞬间暴涨,直接把日志缓冲区撑爆了,导致设备CPU飙升到99%。从那以后,我明确规定:生产环境严禁开启debug级别日志,除非有特殊授权。

1.3 日志格式解析:一条日志里藏着什么?

一条标准的交换机日志,通常长这样:

Mar  1 14:23:45 192.168.1.1 SW-CORE-01: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to down

我们来拆解一下:

  • 时间戳Mar 1 14:23:45 —— 事件发生的时间。注意,这个时间取决于交换机是否配置了NTP。我遇到过很多次,交换机时间不准,导致排错时对不上时间线,非常坑。
  • 源IP192.168.1.1 —— 发送日志的设备IP。在集中式日志服务器上,这个字段特别有用。
  • 主机名SW-CORE-01 —— 设备名称。我建议给每台交换机起个有意义的名字,比如SW-Floor-03,别用默认的Switch。
  • 设施码和严重级别%LINK-3-UPDOWN —— 这里LINK是设施码(表示链路相关),3是严重级别(Error),UPDOWN是助记符。
  • 描述信息Interface GigabitEthernet0/1, changed state to down —— 具体发生了什么。

重点: 排错时,我最先看的是「严重级别」和「描述信息」。级别3以上的日志,基本都要认真对待。如果看到连续的级别2或3日志,那大概率是硬件故障了。

1.4 日志存储位置:日志到底存在哪?

交换机的日志存储位置,主要有三个:

  1. 内存缓冲区(Log Buffer):这是默认的存储位置。日志存在内存里,重启就丢了。优点是速度快,缺点是容量有限。我一般用show logging命令查看。
  2. Flash存储:部分高端交换机支持把日志写到Flash里,重启后还在。但要注意,频繁写Flash会缩短Flash寿命,不建议把debug日志写进去。
  3. 远程日志服务器(Syslog Server):这是最推荐的方式。把日志实时发送到专门的日志服务器上,集中管理。我习惯用Linux自带的rsyslog或者商业的SolarWinds。

配置远程日志服务器也很简单,一条命令搞定:

SW-CORE-01(config)# logging 192.168.100.100
SW-CORE-01(config)# logging trap warnings
SW-CORE-01(config)# logging source-interface Vlan1

这里我解释一下:logging trap warnings表示只发送级别4(Warning)及以上的日志到服务器,避免信息太多。而logging source-interface指定用哪个接口的IP作为源IP,方便在服务器上区分不同设备。

我的建议: 如果你管理的交换机超过10台,一定要上集中式日志服务器。否则,一台一台登录看日志,效率太低了。我曾经帮一个客户搭建了ELK(Elasticsearch + Logstash + Kibana)日志平台,把200多台交换机的日志全部集中起来,搜索和排错效率提升了不止一个量级。

嗯,这一章的内容就这些。日志基础看似简单,但很多人就是栽在这些细节上。下一章,我们会聊聊如何配置日志,包括怎么控制日志输出、怎么过滤不重要的日志。到时候我会分享一些我在项目中踩过的坑,保证让你少走弯路。