
背景
傳統嵌入式設備開發和除錯時普遍習慣使用本地串口用于日志輸出;當產品量產后處于安全以及設備部署后遠程的診斷的需求,本地串口來輸出日志資訊已經無法滿足產品遠程運維的需求,
本文主要描述如何在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

- 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,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/321426.html
標籤:其他
上一篇:智能設備遠程運維服務指南
