智能设备远程运维 ,手把手教你将设备日志发送到远程服务器

背景

传统嵌入式设备开发和调试时普遍习惯使用本地串口用于日志输出;当产品量产后处于安全以及设备部署后远程的诊断的需求,本地串口来输出日志信息已经无法满足产品远程运维的需求。

本文主要描述如何在HaaS EDUK1上基于AliOS Things uLog组件对syslog的支持,将运行日志通过网络发送到syslog服务器,提高产品远程运维能力。

Syslog

什么是syslog

Syslog通常被称为系统日志,通常指的是syslog协议。再Unix类操作系统上,syslog广泛应用于系统日志。syslog日志消息既可以记录再本地日志文件中,也可以通过网络发送到syslog服务器中。

搭建一个syslog服务器

本文以SysLog Watcher为例,搭建一个SysLog服务。使用默认设置,一路完成安装;并启动SysLog Watcher。

  • Step 1:SysLog Wacher设置,本文使用默认设置启动UDP 服务,获取Syslog Server UDP Port 信息如下图所示:

  • Step 2 : 启动Syslog Server

扫描二维码关注公众号,回复: 13173525 查看本文章

  • Step 3 : 查看本机IP地址

在HaaS EDUK1使能syslog

在本章节中主要详细描述如何基于`helloworld_demo`在HaaSEduK1上将本机的系统日志发送到使用Syslog Watcher所搭建的syslog server上。

使能ulog syslog功能

为了减少ulog对系统资源的占用,syslog功能是默认关闭的。如果需要使用syslog功能需要通过如下方法进行打开:

打开components/ulog/package.yaml 中的ULOG_CONFIG_ASYNC 和 ULOG_CONFIG_POP_UDP两个宏

基于Helloworld_demo将日志上传到syslog server

在最简单的Helloworld_demo上实现将日志上传到syslog server中,在使能了syslog功能的基础上;还需要对helloworld_demo的示例代码做一些简单的改造,步骤如下:

  • step1:使能网络和ulog组件:

修改helloworld_demo 目录下package.yaml,示例代码如下所示:

  • step2:使用ulog接口发送日志:

使用LOGE接口发送错误等级日志,示例代码如下所示:

  • step3:配置syslog server信息,将日志发送到syslog server;
设置syslog server IP地址:ulog a {ipaddr}  ---例如:ulog a 192.168.0.101
设置syslog server UDP端口信息: ulog p {port} --- 例如: ulog p 514
打开/关闭syslog 发送开关:ulog n on/off   ---  例如:打开syslog发送:ulog n on; 关闭syslog 发送:ulog n off

实验结果:

参考如上步骤即可将本机的日志快速发送到syslog server;本次操作结果如下图所示:

开发者支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号。

更多技术与解决方案介绍,请访问HaaS官方网站https://haas.iot.aliyun.com

猜你喜欢

转载自blog.csdn.net/HaaSTech/article/details/120801505