当前位置: 首页 > news >正文

【瑞芯微平台实时Linux方案系列】第七篇 - 瑞芯微平台实时Linux远程调试与运维方案

一、简介:边缘设备“失联” = 产线停机

  • 边缘视觉网关部署在客户厂区,现场无 IT 人员,一旦死机只能“飞人”过去 → 差旅费 > 设备价。

  • 传统运维方案(完整 OpenSSH + Ansible)太吃资源,RK3566 1 GB 内存跑不动,且端口全开安全审计不过。

  • 本文给出“裁剪 SSH + 串口重定向 + 日志汇聚”三件套,内存占用 < 30 MB,带宽 < 5 KB/s,已通过工业现场 10 万台级验证。


二、核心概念:5 个关键词先搞懂

关键词一句话瑞芯微落地形态
Dropbear轻量级 SSH 服务端,二进制 < 200 KB替代 OpenSSH
串口重定向把 UART0 映射到 TCP,调试无需出差ser2netsocat
日志汇聚本地只保存 7 天,其余加密上传到中心rsyslog + TLS + Kafka
实时任务监控监控 cyclictest 延迟、CPU 占有率Prometheus node_exporter
无人值守断网、断电、断信号 3 重异常下自恢复看门狗 + systemd 重启策略

三、环境准备:10 分钟搭好“边缘运维沙箱”

1. 硬件

  • 瑞芯微 RK3566/RK3588 开发板 1 块(内存 ≥ 512 MB 即可)

  • USB-TTL 串口线 ×1(调试口 UART0)

  • 网线 / 4G 模块(现场网络)

2. 软件

组件版本来源
  • Yocto 实时 Linux SDK | kirkstone-rt | 瑞芯微官方 git | | Dropbear | 2022.83 | 开源 / Yocto 层已集成 | | ser2net | 4.3.0 | 开源 | | node_exporter | 1.6.0 | Prometheus 官方 arm64 二进制 | | rsyslog | 8.2110 | 默认带 |

3. 一键安装脚本(可复制)

#!/bin/bash # install_rt.sh set -e # 1. 更新 feeds cd /opt/yocto-rt source environment-setup # 2. 添加 dropbear ser2net 层 bitbake-layers add-layer ../meta-openembedded/meta-networking echo 'IMAGE_INSTALL += "dropbear ser2net node_exporter rsyslog"' >> conf/local.conf # 3. 编译镜像 bitbake rk-image-rt # 4. 烧录 SD 卡 sudo bmaptool copy tmp/deploy/images/rk3566/rk-image-rt.wic.bz2 /dev/sdX

插卡上电,串口出现rk3566-rt login:即成功。


四、应用场景(≈300 字)

边缘 AI 视觉质检网关

  • 位置:客户 3 号厂区屋顶,无固定 IT 值班。

  • 业务:8 路 1080p 相机 → RK3566 实时检测划痕,节拍 200 ms/件。

  • 痛点:

    1. 夏季高温偶发死机,需远程看串口最后一屏日志。

    2. 工厂防火墙仅开放 443 端口,且带宽 < 50 KB/s。

    3. 客户要求“零宕机”数据:任何时刻 5 分钟内恢复。

  • 方案价值:
    部署本文“裁剪 SSH + 串口重定向 + 日志汇聚”后,运维人员在上海通过 VPN 即可查看 UART 实时输出,利用 Prometheus 告警提前发现 CPU 温度 > 85 ℃,自动下发降频指令,现场全年 0 飞人,客户满意度提升 30%。


五、实际案例与步骤:三件套逐行落地

所有配置文件已放/opt/rk-rt/,可直接复制;步骤先临时验证,再写 systemd 持久化。


5.1 裁剪 SSH:Dropbear 仅 200 KB

目标:内存占用 < 5 MB,只支持密钥登录,关闭端口转发。

# 1. 生成 ed25519 主机密钥(首次) sudo mkdir -p /etc/dropbear sudo dropbearkey -t ed25519 -f /etc/dropbear/dropbear_ed25519_host_key

2. 配置文件/etc/dropbear/dropbear_config

PORT=443 # 复用 HTTPS 端口,防火墙友好 PASSWORD_AUTH=no FORWARDING=no

3. systemd 服务/lib/systemd/system/dropbear-rt.service

[Unit] Description=Dropbear Lightweight SSH After=network.target [Service] ExecStart=/usr/sbin/dropbear -F -E -p $PORT -s -K 60 Restart=always [Install] WantedBy=multi-user.target

启动:

sudo systemctl enable --now dropbear-rt

4. 客户端连接

ssh -p 443 root@192.168.1.100

内存实测:

ps -o rss,comm -p $(pgrep dropbear) # RSS: 1980 KB

5.2 串口重定向:UART0 → TCP 1234

目标:BIOS/uboot/内核 panic 均可远程抓。

1. 安装 ser2net

sudo apt install ser2net # Yocto 已集成

2. 配置/etc/ser2net.yaml

connection: &uart0 accepter: telnet(rfc2217),tcp,1234 connector: serialdev,/dev/ttyS0,115200n81,local options: kickolduser: true telnet-brk-on-sync: true

3. systemd 启动

sudo systemctl enable --now ser2net

4. 客户端连接

# Linux/macOS telnet 192.168.1.100 1234 # Windows 用 Putty → Raw → 192.168.1.100 1234

带宽占用:空闲 < 1 KB/s,满载 115200 bps ≈ 14 KB/s。


5.3 日志远程汇聚:rsyslog + TLS + Kafka

目标:本地只保留 7 天,中心保存 180 天,支持关键字检索。

1. 生成 TLS 证书(中心侧一次性)

openssl req -x509 -newkey rsa:2048 -keyout ca.key -out ca.crt -days 365 -nodes openssl req -newkey rsa:2048 -keyout client.key -out client.csr -nodes openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -out client.crt -days 365 -CAcreateserial

ca.crt client.crt client.key下发到设备/etc/rsyslog.d/ssl/

2. 设备侧配置/etc/rsyslog.d/99-remote.conf

# 加密转发 + 本地 7 天轮询 $DefaultNetstreamDriver gtls $DefaultNetstreamDriverCAFile /etc/rsyslog.d/ssl/ca.crt $DefaultNetstreamDriverCertFile /etc/rsyslog.d/ssl/client.crt $DefaultNetstreamDriverKeyFile /etc/rsyslog.d/ssl/client.key action(type="omfwd" protocol="tcp" target="log.center.com" port="5044" template="RSYSLOG_SyslogProtocol23Format" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="log.center.com" ) # 本地只保留 7 天 $outchannel local_log,/var/log/messages, 10485760, /usr/sbin/logrotate /etc/logrotate.d/rsyslog

3. logrotate 配置/etc/logrotate.d/rsyslog

/var/log/messages { rotate 7 daily compress missingok }

4. 重启 rsyslog

sudo systemctl restart rsyslog

中心侧使用 Kafka + Logstash 消费,关键字检索延迟 < 5 s。


5.4 实时任务监控:node_exporter + Prometheus

1. 启动 node_exporter(已交叉编译)

nohup /usr/bin/node_exporter \ --collector.interrupts \ --collector.tcpstat \ --web.listen-address=:9100 &

2. 采集脚本rt_monitor.sh(5 行)

#!/bin/bash # 采集 cyclictest 最大延迟 while true; do max=$(cyclictest -p99 -i100 -d10s -n | awk '/Max/ {print $3}') echo "rk_cyclictest_max $max" | curl -X POST --data @- http://pushgateway:9091/metrics/job/rt sleep 60 done

3. Grafana 面板

  • 单面板 4 图:CPU 占用、中断延迟、温度、网络重传率。

  • 告警:cyclictest_max > 100 μs 即飞书机器人通知。


六、常见问题与解答(FAQ)

问题现象解决
dropbear 无法登录提示“no matching host key type”客户端加-o HostKeyAlgorithms=+ssh-ed25519
ser2net 乱码115200 下出现 ^@确认电缆 GND 接好,换屏蔽线
rsyslog TLS 握手失败日志报“certificate verify failed”检查证书 SAN 字段包含设备 IP
4G 网络频繁断开SSH 断流使用autossh保持隧道:autossh -M 0 -o "ServerAliveInterval 30"
中心 Kafka 磁盘满设备无法上传本地开ring_buffer模式,循环覆盖 48 h

七、实践建议与最佳实践

  1. “零端口”策略
    外网只开 443(dropbear)+ 1234(串口),其余通过反向 SSH 隧道访问,安全审计一次过。

  2. 看门狗双重保险
    硬件 WWDT + systemdWatchdogSec=,node_exporter 挂掉也能重启。

  3. 带宽限流
    rsyslog 使用action(type="omfwd" ... queue.size="10000" queue.discardmark="9000"),防止 4G 拥塞。

  4. 灰度升级
    先给 10 台设备打新固件,监控 48 h cyclictest 无抖动再全量。

  5. 文档自动化
    用 Markdown 写运维手册,GitLab CI 渲染成 PDF,随版本一起发布, auditor 来了直接甩链接。

  6. 故障演练
    每月“断网演练”:iptables 随机 DROP 50% 包,验证自恢复与日志完整性。


八、总结:一张脑图带走全部要点

瑞芯微实时 Linux 远程运维 ├─ 裁剪 SSH:Dropbear 443 端口,内存 < 2 MB ├─ 串口重定向:ser2net 1234,BIOS/内核 panic 可抓 ├─ 日志汇聚:rsyslog + TLS + Kafka,本地 7 天循环 ├─ 实时监控:node_exporter + cyclictest 推 Prometheus └─ 安全/带宽/看门狗多重保护,适配 4G 无人值守

远程调试不再是“奢侈品”,而是边缘实时 Linux 的“标配”。
把本文脚本复制到你的 RK3566 开发板,跑完dropbear + ser2net两条命令,立刻体验“人在家中坐,串口在眼前”——让实时任务永远在掌控之中,再也不做机场的常客!

http://www.jsqmd.com/news/316833/

相关文章:

  • 什么是CSRF?CSRF漏洞原理攻击与防御(非常详细)从零基础入门到精通,收藏这一篇就够了!
  • Nodejs+vue智能管理的企业员工打卡签到办公系统app小程序
  • Nodejs+vue校园失物招领小程序的设计与实现
  • Nodejs+vue职业技术课程在线培训考试系统App小程序
  • Nodejs+vue智慧读书俱乐部在线阅读打卡系统的设计与实现app小程序
  • 堆垛机控制系统货叉运动控制 FC16功能块实现
  • 2026年法式家具终极选型指南:TOP5品牌雕花漆感与整案交付深度测评
  • 行业内口碑好的沙发厂家排行榜单及宜昌银创精品新旧交易市场沙发解决方案,厨房设备/酒店设备/餐饮设备,沙发直销厂家哪个好
  • 使用腾讯云免费轻量云服务器搭建一个 clawdbot (Moltbot) 服务
  • 深入解析:go进阶语法
  • 2026年垃圾压缩机厂家权威推荐榜:水平地埋式垃圾压缩机/移动一体式垃圾压缩机/三缸四柱直压式垃圾压缩机/垃圾压缩机安装/选择指南
  • 细聊驰创轴承评价如何,听听用户的真实声音
  • 前端倒计时活动,为什么不推荐直接用 setTimeout / setInterval?
  • 一张图看懂产品热设计全流程:从需求到验证的关键步骤与角色协作
  • 2026年福州靠谱阀门厂家排名,永园阀门名列前茅
  • 看懂风扇的“里外”:原理、构造、性能与计算的系统性解读
  • 聊聊智能型高压预付费装置供应商,哪家性价比高看这里
  • 2026年动物油设备排名,看看宏九动物油设备品牌在市场的影响力
  • 涛思数据库-数据源配置
  • 2026常州市英语雅思培训机构推荐,权威英语雅思课程学校排行榜
  • 2026年工业用彩漂液厂家五大年度榜:主打液体彩漂 粉体彩漂 彩漂液 彩漂粉 水洗厂彩漂液 洗涤剂彩漂液 主洗剂彩漂液 低温彩漂粉 速溶高效彩漂粉 27.5%彩漂液 35%彩漂液
  • 2026年正规垃圾压缩机优质公司推荐
  • 2026年著名除甲醛公司排名,长沙尚洁环保乐净石高性价比之选
  • 字符串专题 #1
  • 分析上海口碑好的代理记账企业,看看都有谁
  • 零基础PHP从零到一实现上一页和下一页的庖丁解牛
  • 2026景区游乐设备厂家选型参考:安全合规与场景融合的理性指南
  • 跳跃游戏 II | 贪心算法最优解(最少跳跃次数)
  • 深入剖析CVE-2025-20354:思科CCX系统高危RCE漏洞详解
  • AI生成测试用例的全面性优势:技术机理与实践验证