交换机、防火墙、负载均衡的 syslog 如何统一收进炬鲸 OBSERVE:设备侧配置、接收端 rsyslog/Collector 配置、字段解析与告警规则,附 UDP 丢包与 TLS 加固建议。
网络设备(交换机、防火墙、负载均衡)出问题往往最隐蔽:接口抖动、ACL 拦截、会话表打满,这些都不会写进应用日志,只会出现在 syslog 里。把网络设备 syslog 统一收进炬鲸 OBSERVE,能让你在排障时把网络层和应用层日志串起来看。
以常见交换机为例,开启远程日志:
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,落文件再交给采集器 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 和时区,避免全量上线后才发现时间错位、字段错乱。