3. Comware信息中心详解
在Comware平台上,日志的产生、加工与投递并不是由某个单一进程完成的,而是由信息中心(Information Center)统一调度。理解信息中心,关键要抓住四个问题:日志从哪里来、经过哪些模块加工、最终送到哪里去、以及一条日志里每个字段分别代表什么。把这四点串起来,才能在实际排障时快速定位“日志为什么没出来”“日志为什么看不懂”。
一、信息中心的组成结构
信息中心可以看作一条“日志流水线”,它由日志源、日志缓冲区、日志过滤与输出控制、以及输出目的地四大部分组成。日志源负责产生原始信息;信息中心对信息进行分级、分类、打时间戳;过滤模块根据模块、级别、通道等条件决定放行或丢弃;最后按目的地类型分别投递到控制台、监视终端、日志缓冲区、日志主机、邮件或日志文件等。
其中有一个容易被忽视但非常重要的概念——输出通道(output channel)。Comware为不同目的地定义了独立的通道,例如控制台通道、监视通道、日志主机通道、日志缓冲区通道等。每个通道有默认的通道名和默认允许输出的信息级别,也可以被单独配置。这意味着“同一条日志,可能出现在控制台,却不出现在日志主机”,原因往往就是通道级别或通道开关不同,而不是日志源没产生。
二、日志源:谁在产生日志
Comware的日志源非常广泛,常见的有以下几类:
- 协议模块:OSPF、BGP、IS-IS、VRRP 等在邻居建立、撤销、状态切换时产生日志,模块名通常就是协议名。
- 接口与链路:接口 up/down、物理层状态变化、光模块告警等,典型模块名为 IFNET、PHY 等。
- 安全与访问控制:登录成功/失败、ACL 匹配、攻击防范触发等。
- 系统与硬件:电源、风扇、温度、内存、CPU 阈值告警等。
每个日志源在产生信息时,都会带上自己的模块名和严重级别。级别从 0 到 7 共八级,数字越小越严重:0 表示 Emergency,1 表示 Alert,2 表示 Critical,3 表示 Error,4 表示 Warning,5 表示 Notification,6 表示 Informational,7 表示 Debugging。日常排障最常关注的是 0~4 级,而 6 级信息量最大、也最容易被淹没。
三、输出目的地与通道控制
信息中心支持多种输出目的地,它们各自独立、互不影响:
- 控制台(console):直接输出到 Console 口,适合现场调试。
- 监视终端(monitor):输出到当前登录的 VTY 终端,需要先执行
terminal monitor和terminal logging才能看到。 - 日志主机(loghost):通过 Syslog 协议发送到远端服务器,是集中化日志分析的核心。
- 日志缓冲区(logbuffer):保存在设备内存中,可用
display logbuffer查看,重启后丢失。 - 日志文件(logfile):写入设备存储,重启后仍可保留。
控制日志是否输出的关键命令是 info-center source。它的基本形式是:
info-center source { module-name | default } channel { channel-number | channel-name } [ debug { level | state } ] [ log { level | state } ] [ trap { level | state } ]
例如,只允许 IFNET 模块的 log 信息以 4 级及以上输出到 loghost 通道:
info-center source IFNET channel loghost log level warning
这里 log level warning 表示只放行 0~4 级(warning 及更严重)的日志。如果写成 log level informational,则会放行 0~6 级,信息量明显增大。实际工程中,建议对 loghost 通道保留 0~5 级,对 logbuffer 保留 0~6 级,对 console 只保留 0~4 级,避免终端被刷屏。
四、时间戳格式
时间戳决定了日志在分析平台上的可读性和可排序性。Comware 支持四种时间戳格式:
| 格式 | 含义 | 典型输出 |
|---|---|---|
| boot | 相对系统启动时间 | 0 days 0 hours 5 minutes 12 seconds |
| date | 绝对日期时间 | 2024/06/18 10:23:45 |
| iso | ISO 8601 标准格式 | 2024-06-18T10:23:45 |
| none | 不携带时间戳 | — |
配置命令按目的地分别设置:
info-center timestamp loghost date
info-center timestamp logbuffer iso
info-center timestamp console boot
需要注意的是,如果设备没有配置 NTP 或时钟不准确,date 和 iso 格式的时间会与真实时间偏差,导致多台设备日志无法对齐。因此,在部署日志主机之前,务必先完成 NTP 同步,再统一时间戳格式。
五、日志字段含义与阅读方法
一条典型的 Comware 日志如下:
%Jun 18 10:23:45:123 2024 H3C IFNET/3/PHY_UPDOWN: GigabitEthernet1/0/1 link status changed to DOWN.
逐字段拆解:
- %Jun 18 10:23:45:123 2024:时间戳,精确到毫秒。
- H3C:设备名(sysname),多设备集中收集时用于区分来源。
- IFNET:产生日志的模块名。
- 3:严重级别,3 表示 Error。
- PHY_UPDOWN:助记符,描述具体事件类型。
- GigabitEthernet1/0/1 link status changed to DOWN:描述文本,给出接口名和状态变化。
把信息中心的组成、日志源、通道、时间戳和字段这五块内容连起来看,就能形成一条完整的判断链:日志有没有产生、有没有被过滤、有没有被投递、投递后能不能被正确解析。掌握这条链路,后续无论是做日志采集、告警规则还是故障回溯,都能做到有据可依。