← 返回文章列表
使用指南 4 分钟阅读 炬鲸团队

网络设备日志集中接入:syslog 采集交换机、防火墙与负载均衡日志

交换机、防火墙、负载均衡的 syslog 如何统一收进炬鲸 OBSERVE:设备侧配置、接收端 rsyslog/Collector 配置、字段解析与告警规则,附 UDP 丢包与 TLS 加固建议。

网络设备(交换机、防火墙、负载均衡)出问题往往最隐蔽:接口抖动、ACL 拦截、会话表打满,这些都不会写进应用日志,只会出现在 syslog 里。把网络设备 syslog 统一收进炬鲸 OBSERVE,能让你在排障时把网络层和应用层日志串起来看。

设备侧:把 syslog 指到采集端

以常见交换机为例,开启远程日志:

info-center loghost 10.0.8.20 facility local6
info-center source default channel 2 log level warning

防火墙(含国产防火墙)一般在图形界面里配,路径通常是「日志与报表—Syslog」:填服务器地址、端口 514、协议 UDP,记录级别选「告警及以上」。负载均衡设备同理。建议给不同设备类型分配不同 facility(local5/local6/local7),后面解析时靠 facility 区分设备类型,省得每台设备单独配标签。

接收端:rsyslog 或 Collector 二选一

小规模直接上 rsyslog,落文件再交给采集器 tail:

$template RemoteLogs,"/var/log/network/%HOSTNAME%/%PROGRAMNAME%.log"
local6.* ?RemoteLogs
& stop

设备多了推荐用 OpenTelemetry Collector 的 syslog receiver,直接转成结构化数据,省掉落盘再读的中间环节:

receivers:
  syslog:
    tcp:
      listen_address: "0.0.0.0:514"
    protocol: rfc3164
processors:
  attributes/device:
    actions:
      - key: device.facility
        from_attribute: syslog.facility
exporters:
  otlphttp:
    endpoint: "https://ob.jjhub.cn/otlp"

字段解析与告警规则

把 facility 映射成设备类型,severity 映射成告警级别,再按关键字建告警。几条高频规则:接口 up/down 抖动(%LINEPROTO-5-UPDOWN)、防火墙会话数超阈值、负载均衡后端 down、登录失败(Failed password 或 login failure)。这些事件在 OBSERVE 里配成「10 分钟内同设备同关键字超过 5 次就告警」的聚合规则,比单条告警安静得多,值班一次只看一条根因。

两个实践建议

一是 UDP 会丢包,设备量大就换 TCP 或 TLS syslog,别让「日志没到」变成「故障没被看见」;二是给网络日志设独立索引和 30 天留存,审计和排障都够用。上线前先抽一台交换机验证 facility 和时区,避免全量上线后才发现时间错位、字段错乱。