全部產品
Search
文件中心

IoT Platform:裝置日誌上報

更新時間:Jun 30, 2024

物聯網平台支援裝置將本地日誌上報到雲端,在控制台進行查詢和故障分析。

說明
  • 使用了以下Link SDK的裝置端支援本地日誌上報,您也可以自行開發帶有本地日誌上報功能的SDK。
  • 您在裝置詳情頁,開啟裝置本地日誌上報開關後,裝置才能將本地日誌上報到雲端。

裝置本地日誌的具體查詢方法,請參見裝置本地日誌

裝置擷取日誌配置

資料上行。

  • 請求Topic:/sys/${productKey}/${deviceName}/thing/config/log/get
  • 響應Topic:/sys/${productKey}/${deviceName}/thing/config/log/get_reply

Alink請求資料格式:

{
    "id" : "123",
    "version":"1.0",
    "sys":{
      "ack":0
    },
    "params" : {
        "configScope":"device",  
        "getType":"content"
     },
    "method":"thing.config.log.get"
}
表 1. 請求參數說明
參數類型說明
idString訊息ID號。String類型的數字,取值範圍0~4294967295,且每個訊息ID在當前裝置中具有唯一性。
versionString協議版本號碼,目前協議版本號碼唯一取值為1.0

sys

Object

擴充功能的參數,其下包含各功能欄位。

說明

使用裝置端SDK開發時,如果未設定擴充功能,則無此參數,相關功能保持預設配置。

ack

Integer

sys下的擴充功能欄位,表示是否返迴響應資料。

  • 1:雲端返迴響應資料。

  • 0:雲端不返迴響應資料。

重要

該功能配置說明,請參見物模型使用樣本

如果未配置該功能,則無此參數,雲端預設返迴響應資料。

configScopeString配置範圍,目前日誌只有裝置維度配置,預設為device
getTypeString擷取內容類型,預設為content。因日誌配置內容較少,預設直接返回內容。
methodString要求方法,取值thing.config.log.get

Alink響應資料格式:

{
    "id":"123",
    "version":"1.0",
    "code":200,
    "data" :{ 
        "getType":"content",
        "content":{
            "mode":0 
        }
    }
}
表 2. 響應參數說明
參數類型說明
idString訊息ID號。String類型的數字,取值範圍0~4294967295,且每個訊息ID在當前裝置中具有唯一性。
versionString協議版本號碼,目前協議版本號碼唯一取值為1.0
codeInteger結果碼。返回200表示成功,返回其他狀態代碼,表示失敗。

結果碼67176718請參見下表錯誤資訊。其他結果碼請參見裝置端通用code

dataObject雲端返回的結果資料。
getTypeString擷取內容類型,預設為content。因日誌配置內容較少,預設直接返回內容。
contentString配置常值內容。
modeInteger裝置日誌上報模式,0表示裝置SDK不上報日誌, 1表示裝置SDK上報日誌。
表 3. 錯誤資訊
錯誤碼原因排查方法
6717請求參數中getType取值非法,裝置日誌只支援content物聯網平台控制台監控營運 > Log Service > 裝置本地日誌,或在裝置本地日誌中,查看上報資料中的getType取值。
6718請求參數中configScope取值非法,裝置日誌只支援device物聯網平台控制台監控營運 > Log Service > 裝置本地日誌,或在裝置本地日誌中,查看上報資料中的configScope取值。

裝置接收訂閱雲端推送日誌配置

資料下行。

Topic:/sys/${productKey}/${deviceName}/thing/config/log/push

Alink配置推送資料格式:

{
    "id":"123",
    "version":"1.0",
    "params" :{ 
        "getType":"content",
        "content":{
            "mode":0
        }
    }
}
表 4. 參數說明
參數類型說明
idString訊息ID號。String類型的數字,取值範圍0~4294967295,且每個訊息ID在當前裝置中具有唯一性。
versionString協議版本號碼,目前協議版本號碼唯一取值為1.0
getTypeString擷取內容類型,預設為content。因日誌配置內容較少,預設直接返回內容。
contentString配置常值內容。
modeInteger裝置日誌上報模式,0表示裝置SDK不上報日誌,1表示裝置SDK上報日誌。

裝置上報日誌內容

資料上行。

  • 請求Topic:/sys/${productKey}/${deviceName}/thing/log/post
  • 響應Topic:/sys/${productKey}/${deviceName}/thing/log/post_reply

Alink請求資料格式:

{
    "id" : "123",
    "version":"1.0",
    "sys":{
      "ack":0
    },
    "params" :[{
          "utcTime":  "2020-03-06T15:15:27.464+0800",  
          "logLevel": "ERROR",          
          "module": "ModuleA",         
          "code" :"4103",                       
          "traceContext": "123456",    
          "logContent" : "some log content" 
         }], 
    "method" : "thing.log.post"
}
表 5. 請求參數說明
參數類型說明
idString訊息ID號。String類型的數字,取值範圍0~4294967295,且每個訊息ID在當前裝置中具有唯一性。
versionString協議版本號碼,目前協議版本號碼唯一取值為1.0

sys

Object

擴充功能的參數,其下包含各功能欄位。

說明

使用裝置端SDK開發時,如果未設定擴充功能,則無此參數,相關功能保持預設配置。

ack

Integer

sys下的擴充功能欄位,表示是否返迴響應資料。

  • 1:雲端返迴響應資料。

  • 0:雲端不返迴響應資料。

重要

該功能配置說明,請參見物模型使用樣本

如果未配置該功能,則無此參數,雲端預設返迴響應資料。

paramsList請求業務參數。數組元素最多40個。
utcTimeString日誌的採集時間,為裝置本地UTC時間,包含時區資訊,以毫秒計,格式為“yyyy-MM-dd'T'HH:mm:ss.SSSZ”。 可上報其它字串格式,但不利於問題排查,不推薦使用。
logLevelString記錄層級。可以使用預設記錄層級,也可以自訂記錄層級。預設記錄層級從高到低為:
  • FATAL
  • ERROR
  • WARN
  • INFO
  • DEBUG
moduleString模組名稱:
  • 當裝置端使用Android SDK時,模組名稱為ALK-LK。
  • 當裝置端使用C SDK時,需自訂模組名稱。
  • 當裝置端使用自行開發的SDK時,需自訂模組名稱。
codeString結果狀態代碼,Sting類型的數字。

錯誤碼包含裝置端SDK產生的錯誤碼(Android SDK的錯誤碼C SDK的錯誤碼)和使用者自訂的狀態代碼。

traceContextString選擇性參數,上下文跟蹤內容,裝置端使用Alink協議訊息的id,App端使用TraceId(追蹤ID)。
logContentString日誌內容詳情。
methodString要求方法,取值thing.log.post

Alink響應資料格式:

{
    "id" : "123",
    "code":200,
    "data" : {}
}
表 6. 響應參數說明
參數類型說明
idString訊息ID號。String類型的數字,取值範圍0~4294967295,且每個訊息ID在當前裝置中具有唯一性。
codeInteger結果碼。返回200表示成功,返回其他狀態代碼,表示失敗,具體請參見裝置端通用code
dataObject雲端返回的結果資料。裝置上報日誌內容時,返回的結果資料為空白。