5667 是什么
5667 是 NSCA(Nagios Service Check Acceptor)的服务端默认端口。Nagios 有两套采集方向:NRPE(5666)由监控服务器主动去问被监控机,NSCA(5667)则相反,被监控端用 send_nsca 把检查结果主动推给监控服务器,常用于跨网络分区、被动式检查与外部系统告警注入。两端的加密方式与口令必须一致,否则数据会被静默丢弃,监控面板只表现为「一直没有结果」。
基本信息
| 服务 | NSCA(服务端 nsca / 客户端 send_nsca) |
|---|---|
| 协议 | TCP |
| 用途 | 被动式检查结果上报 |
| 配套端口 | 5666(NRPE 主动拉取) |
| 关键配置 | 两端口令与加密方式必须一致 |
| 安全等级 | 仅监控网段 |
典型使用场景
- 被动检查排障:确认发送端与接收端的口令、加密方式一致
- 跨网段监控:单向可达场景下用 NSCA 绕开反向访问限制
- 安全核查:确认 5667 只对受控来源开放
- 告警注入治理:外部系统上报结果需要身份与来源控制
- 迁移与升级:随监控体系升级替换被动检查通道
- 容量评估:上报频率与被监控主机数量对服务端的压力
Nagios 采集方向对比
| 方式 | 端口 | 方向 |
|---|---|---|
| NRPE | 5666 | 监控端 → 被监控端(拉) |
| NSCA | 5667 | 被监控端 → 监控端(推) |
| check_nt | 12489 | 监控端 → Windows 主机(拉) |
| NSCA 服务端 | 5667 | 接收并解析上报数据 |
发送测试与核对
发送测试与核对
send_nsca -H monitor01 -p 5667 -c /etc/send_nsca.cfg # 发送一次检查结果
ss -lntp | grep 5667 # 服务端监听
# 配置核对: /etc/nsca.cfg 与 send_nsca.cfg 的 password 与 encryption_method
journalctl -u nsca -n 30 | tail -20 # 服务端日志
# 被动检查定义: passive check 的 freshness 与超时阈值需配套设置加密配置不一致时 NSCA 往往静默丢弃数据:监控面板表现为多次检查后仍无结果,只有两边日志才看得出问题,排障时按「先日志、后业务」的顺序走。
老版本 NSCA 使用弱加密算法:即使在内网,也应随系统升级替换为更安全的采集方式,或强制让上报走受控网络。
被动检查缺少新鲜度机制时,采集侧整体故障不会触发告警:应配置检查新鲜度与超时策略,让「没有数据」本身也能报警。
上报结果里的主机名与服务名要与监控侧定义完全对应:拼写差异会让数据落到错误的服务对象上,表现为监控有数据但业务视图为空。