本文基于你当前的实际配置,整理成一篇可以直接保存、分享、复用的教程文章,适用于 H3C / 华三交换机或路由器,用于将 SNMP TrapSyslog 日志 发送到日志/监控服务器。


一、应用场景说明

在网络运维中,常见需求包括:

  • 设备状态变化(端口 up/down、CPU/内存告警)主动上报

  • 安全设备、交换机日志集中存储

  • 配合 Zabbix / NMS / 日志审计系统使用

本教程实现以下目标:

  • 使用 SNMP v2c 发送 Trap

  • 使用 Syslog 发送系统日志

  • Trap 与 Syslog 均发送到同一台服务器 10.172.83.116


二、实验环境示例

项目

说明

设备厂商

H3C / 华三

SNMP 版本

v2c

Trap 接收服务器

10.172.XXX.XXX

Syslog 接收服务器

10.172.XXX.XXX

SNMP 团体字

tsgXXXX

日志源接口

Vlan-interface1009


三、SNMP Trap 配置详解

1️⃣ 启用 SNMP 功能

snmp-agent

作用:

  • 启动 SNMP 代理进程

  • 是所有 SNMP 配置的前提


2️⃣ 启用 SNMP Trap 功能

snmp-agent trap enable

作用:

  • 允许设备主动向服务器发送 Trap

  • 否则只能被动 snmpwalk / snmpget


3️⃣ 指定 SNMP 版本(v2c)

snmp-agent sys-info version v2c

说明:

  • SNMP v2c 是目前使用最广泛的版本

  • 支持 Trap、Bulk 请求

  • 配置简单,兼容性好


4️⃣ 配置 SNMP 读团体字

snmp-agent community read tsgXXXX

说明:

  • 相当于 SNMP 的“密码”

  • read 表示只读权限

  • 需与服务器端配置保持一致

⚠️ 建议:

  • 不要使用默认的 public

  • 团体字包含特殊字符是允许的(如 @)


5️⃣ 配置 Trap 目标主机

snmp-agent target-host trap address udp-domain 10.172.xxx.xxx params securityname tsgXXXX v2c

参数说明:

参数

含义

target-host trap

指定 Trap 接收端

udp-domain
使用 UDP 协议
10.172.XXX.XXX
Trap 服务器 IP

securityname

v2c 使用的团体字

tsgXXXX

团体字内容

📌 默认端口:UDP 162


四、Syslog 日志配置详解

1️⃣ 设置日志保存最小时间

info-center syslog min-age 4320

说明:

  • 日志最少保存 4320 分钟(3 天)

  • 防止日志被频繁清理


2️⃣ 设置日志缓存大小

info-center logbuffer size 1024

说明:

  • 本地日志缓存大小(单位:KB)

  • 网络异常时仍可暂存日志


3️⃣ 指定 Syslog 源接口

info-center loghost source Vlan-interface1009

说明:

  • 指定日志从哪个接口发出

  • 常用于多 VRF / 多管理网场景

⚠️ 若不指定,可能导致:

  • 日志服务器收不到

  • 被防火墙策略丢弃


4️⃣ 配置 Syslog 服务器地址

info-center loghost 10.172.XXX.XXX

说明:

  • 指定 Syslog 接收服务器

  • 默认使用 UDP 514 端口


五、完整配置汇总(可直接复制)

snmp-agent
snmp-agent trap enable
snmp-agent sys-info version v2c
snmp-agent community read tsgXXXX
snmp-agent target-host trap address udp-domain 10.172.XXX.XXX params securityname tsgXXXX v2c

info-center syslog min-age 4320
info-center logbuffer size 1024
info-center loghost source Vlan-interface1009
info-center loghost 10.172.XXX.XXX

六、服务器侧验证建议

✅ SNMP Trap 验证(Linux)

snmptrapd -f -Lo udp:162

✅ Syslog 验证

netstat -anu | grep 514

或使用:

  • rsyslog

  • Graylog

  • ELK

  • 日志审计平台


七、常见问题排查

❓ 收不到 Trap / 日志

检查顺序:

  1. 服务器防火墙是否放行 UDP 162 / 514

  2. 源接口 IP 是否能 ping 通服务器

  3. 团体字是否一致

  4. 是否在 VRF 环境下需要指定源接口


八、总结

通过以上配置,你已经完成:

✅ SNMP Trap 主动告警上报
✅ Syslog 系统日志集中发送
✅ 管理流量接口与安全隔离

这套配置适合生产环境直接使用,也非常适合写进你的运维手册或培训文档。

如果你愿意,我也可以帮你:

  • 改写成【公司标准模板】

  • 拆成【图文教程 / PPT】

  • 对接【Zabbix / 日志审计平台】