售后打电话说现场设备出问题了,嵌入式工程师最想干什么?

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 售后打电话说现场设备出问题了,嵌入式工程师最想干什么?

作为嵌入式系统开发人员,我最想做的就是能够能通过telnet或者ssh登录到设备上,看看设备系统还正常不正常,查看程序日志,看看程序到底干什么去了!做软件的同学都知道,软件出问题,一定要保留现场,这样才容易查问题,特别是那种偶现的问题,现场以破坏,下次不知道什么时候出现了。下面给大家介绍下之前做过的一套嵌入式系统远程调试运维的软件。


嵌入式系统运维概述


提起运维,大家想到的可能都是服务器运维,各种linux服务器、windows服务器、交换机路由器配置、防火墙配置……不过,我这里所说的是嵌入式系统设备的运维,这个概念现在提的应该不多。这个也是最近几年,随着嵌入式(linux)设备的发展,使用不断增加而出现的,设备的量越来越大,特别是现在物联网爆发式增长,各行各业都会用到嵌入式系统,而这些设备,大部分都是用的嵌入式linux系统。


必要性


设备的量上去了,设备的运维问题也就是暴露出来了,设备一般使用现场偏远,有的是车载设备,随车满地跑,所以,维护起来并不像那些固定的服务器那样容易,这也就产生了嵌入式设备远程运维的概念。这里所说的远程运维,即是指可以像本地操作设备一样去操作与控制远程现场的嵌入式设备。


如果在物联网行业,一般嵌入式系统作为网关的形式存在,这样的话单个客户的用量并不会大,一般在10台以内的数量级,所以如果设备出了问题,一般还需要派人去现场,这样必然会增加额外的差旅费用。如果是车载设备,一般量就比较大了,一个地区可能会有成千上万台设备,这样就更需要建设远程运维系统了。


设计原则


作为远程运维程序,需要做的非常稳定,怎么才能尽可能稳定,不出bug?我们会将运维程序与正式的程序分开,并且运维程序在设备上做的尽可能简单,因为只有简单了,才能够稳定。这样也保证运维模块程序不受其他应用程序的影响。


如下图所示:

这里的运维平台用户对象主要是开发人员,开发人员在设备出问题时,通过运维平台可以远程登录到设备上面,可以查日志、下载日志、查看数据、查看系统状态等等。


实现思路


组成模块


和常规的平台通信类似,这里以典型的C/S架构为例(原来做的是C/S架构,当然也可以用B/S架构),需要三部分组成:


1.嵌入式设备程序

2.平台服务程序

3.客户端程序


嵌入式端与平台服务器端需要制定一套简单的协议,包括设备注册、心跳维持、ssh/telnet代理等,平台服务端会将注册上来的设备统一管理,可以分组织,以把不同地区、不同客户的设备分开,便于维护。客户端与平台服务端也有一套协议,主要是用于获取设备列表信息,还有ssh与telnet代理。


关键技术-远程登录


这里提到了ssh/telnet代理,大家可能都比较熟悉ssh和telnet,通常用于远程登录系统。像这种远程系统里,由于需要跨公网,并不能直接连接到设备,所以需要在平台服务端做ssh或者telnet的代理。这两种方式我们都用过,telnet是明文传输,存在安全问题;还有一点不能传输文件,ssh可以传输文件,也可以在xshell的登录终端直接利用xmodem协议传输文件。虽然说可以通过ftp服务传文件,但是在登录终端直接传输文件还是很方便的操作。


使用rz命令给设备下载文件,可以下载升级文件,下载配置文件等等,使用sz可以把设备的日志文件、数据发配置等送到自己的电脑上面。这样是不是很方便!

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
Web App开发 自然语言处理 安全
TikTok 美国员工抱怨工作压力大;多省集中排查整治超时加班;黑客向上海市民卖抢菜软件被抓;苹果员工对回办公室工作感到不满
本周架构视点:TikTok 美国员工抱怨工作压力大:需周末加班,跨时区工作;谷歌调整绩效评价体系:降低评估频率,属于变相加薪;多个省份集中排查整治超时加班问题,互联网企业等被重点检查;向日葵远程控制回应服务器崩溃;GitHub 要求所有贡献代码的用户在 2023 年底前启用双因素认证;WhatsApp 前高管:后悔当年把公司卖给 Facebook。
269 0
IT人员啊,牛年发短信要有技术含量啊。。。
http://yulimin.javaeye.com/blog/320514   我先贴两条: 1、我有绝对的实力相信我这么牛的祝福在这么高并发大压力下也能挤进你短信队列TopN,不相信的话,今年你我都属牛。牛年就底调地给祝福你。嗯,这短信也是拉动内需,创造GDP平稳增长之一呀,真所谓责无旁贷。俞黎敏贺,牛上加牛! 2、调整了Thread优先级,压缩了SMS字节数,挤到了短信Queue队首
891 0
|
9月前
|
开发框架 移动开发 小程序
医院智慧导诊系统(源码):让你告别不知道挂什么科的烦恼!
医院智慧导诊系统(源码):让你告别不知道挂什么科的烦恼!
101 1

热门文章

最新文章

相关实验场景

更多