docs: record yutong mqtt eof diagnosis
This commit is contained in:
@@ -832,3 +832,57 @@ protocols=["JT808"]
|
|||||||
- `deploy/systemd/lingniu-go-history-writer.service`
|
- `deploy/systemd/lingniu-go-history-writer.service`
|
||||||
- `deploy/systemd/lingniu-go-stat-writer.service`
|
- `deploy/systemd/lingniu-go-stat-writer.service`
|
||||||
- `deploy/systemd/lingniu-go-realtime-api.service`
|
- `deploy/systemd/lingniu-go-realtime-api.service`
|
||||||
|
|
||||||
|
## 2026-07-02 00:04 宇通 MQTT EOF 诊断
|
||||||
|
|
||||||
|
现象:
|
||||||
|
|
||||||
|
Go 原生部署后,`lingniu-go-gateway` 日志中出现多次:
|
||||||
|
|
||||||
|
```text
|
||||||
|
mqtt connection lost error=EOF
|
||||||
|
mqtt connection lost error=write: broken pipe
|
||||||
|
mqtt subscribed topic=/ytforward/shln/+ qos=1
|
||||||
|
```
|
||||||
|
|
||||||
|
10 分钟窗口统计:
|
||||||
|
|
||||||
|
```text
|
||||||
|
mqtt subscribed = 33
|
||||||
|
mqtt connection lost = 32
|
||||||
|
```
|
||||||
|
|
||||||
|
对照旧 Java `yutong-mqtt-app` 历史日志,停止前也存在同类行为:
|
||||||
|
|
||||||
|
```text
|
||||||
|
mqtt endpoint [yutong] received topic=/ytforward/shln/1 bytes=574
|
||||||
|
mqtt endpoint [yutong] connection lost
|
||||||
|
Caused by: java.io.EOFException
|
||||||
|
mqtt endpoint [yutong] re-subscribed topic=/ytforward/shln/+ qos=1
|
||||||
|
mqtt endpoint [yutong] received topic=/ytforward/shln/3 bytes=586
|
||||||
|
```
|
||||||
|
|
||||||
|
判断:
|
||||||
|
|
||||||
|
- EOF/短连接不是 Go TLS 支持或 systemd 原生部署新引入的问题。
|
||||||
|
- 旧 Java 和新 Go 都表现为:订阅、收到数据、broker 断开、自动重连。
|
||||||
|
- 当前链路可持续收到宇通 MQTT 数据并写入 TDengine RAW。
|
||||||
|
|
||||||
|
复验:
|
||||||
|
|
||||||
|
```text
|
||||||
|
GET /api/history/raw-frames?protocol=YUTONG_MQTT&limit=1
|
||||||
|
|
||||||
|
total=1
|
||||||
|
protocol=YUTONG_MQTT
|
||||||
|
vin=LMRKH9ACXR1004094
|
||||||
|
parse_status=OK
|
||||||
|
parsed_json_len=1080
|
||||||
|
fields_json_len=115
|
||||||
|
```
|
||||||
|
|
||||||
|
运维建议:
|
||||||
|
|
||||||
|
- 单条 EOF 不作为不可用判断。
|
||||||
|
- 以 `YUTONG_MQTT` RAW 入库增长、最近成功 `mqtt subscribed` 时间、服务 `systemctl is-active` 作为可用性判断。
|
||||||
|
- 如果 EOF 频率继续升高且 RAW 不再增长,再联系宇通侧确认 broker 长连接策略、同一 clientId 并发限制或网络出口策略。
|
||||||
|
|||||||
Reference in New Issue
Block a user