すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:デバイスログレポート

最終更新日:Mar 27, 2025

IoT Platform では、デバイスがオンプレミスログをクラウドにレポートできます。 コンソールでデバイスログをクエリし、問題のトラブルシューティングを行うことができます。

説明
  • 次の Link SDK を使用するデバイスは、オンプレミスログを IoT Platform にレポートできます。 オンプレミスログをレポートする機能を有効にする独自の SDK を開発できます。
  • デバイスのログをレポートするには、デバイスの [デバイスの詳細] ページに移動し、[デバイスローカルログレポート] スイッチをオンにする必要があります。

オンプレミスデバイスログをクエリする方法の詳細については、「ローカルデバイスログ」をご参照ください。

デバイスが IoT Platform からログ構成をリクエストする

デバイスが IoT Platform にリクエストを送信し、IoT Platform がデバイスに応答を送信するときに、次のトピックが使用されます。

  • リクエストトピック: /sys/${productKey}/${deviceName}/thing/config/log/get
  • レスポンストピック: /sys/${productKey}/${deviceName}/thing/config/log/get_reply

Alink JSON 形式のリクエスト例:

{
    "id" : "123",
    "version":"1.0",
    "sys":{
      "ack":0
    },
    "params" : {
        "configScope":"device",  // 構成の範囲
        "getType":"content" // 返される構成の形式
     },
    "method":"thing.config.log.get"
}
表 1. リクエストパラメーター
パラメータータイプ説明
idStringメッセージの ID。有効な値: 0 ~ 4294967295。各メッセージ ID は、デバイスに対して一意である必要があります。
versionStringプロトコルのバージョン。有効な値: 1.0

sys

Object

拡張機能のパラメーター。値には、各機能のフィールドが含まれています。

説明

デバイス SDK を使用してデバイス機能を開発するときに拡張機能が構成されていない場合、このパラメーターは使用できません。拡張機能はデフォルトの構成を使用します。

ack

Integer

sys パラメーターの拡張機能フィールド。このフィールドは、IoT Platform が登録リクエストのレスポンスデータを返すかどうかを指定します。有効な値:

  • 1: IoT Platform はレスポンスデータを返します。

  • 0: IoT Platform はレスポンスデータを返しません。

重要

パラメーターの詳細については、「TSL モデルの使用方法の例」をご参照ください。

機能が構成されていない場合、このパラメーターは使用できません。デフォルトでは、IoT Platform は登録リクエストのレスポンスデータを返します。

configScopeStringログ構成の範囲。IoT Platform は、デバイスレベルのログ構成のみをサポートしています。デフォルト値: device
getTypeString構成が返される形式。デフォルト値: content。デフォルトでは、ログ構成の内容はサイズが小さく、テキスト形式で直接返されます。
methodStringリクエストメソッド。有効な値: thing.config.log.get

Alink JSON 形式のレスポンス例:

{
    "id":"123",
    "version":"1.0",
    "code":200,  // HTTPステータスコード
    "data" :{ 
        "getType":"content",
        "content":{
            "mode":0 // デバイスログをレポートするために使用されるモード
        }
    }
}
表 2. レスポンスパラメーター
パラメータータイプ説明
idStringメッセージの ID。有効な値: 0 ~ 4294967295。各メッセージ ID は、デバイスに対して一意である必要があります。
versionStringプロトコルのバージョン。有効な値: 1.0
codeIntegerレスポンスの HTTP ステータスコード。200 が返された場合、リクエストは成功しました。他のステータスコードが返された場合、リクエストは失敗しました。

HTTP ステータスコード 6717 および 6718 の詳細については、次の表を参照してください。その他の HTTP ステータスコードの詳細については、「デバイスの共通コード」をご参照ください。

dataObjectIoT Platform によって返されるデータ。
getTypeString構成が返される形式。デフォルト値: content。デフォルトでは、ログ構成の内容はサイズが小さく、テキスト形式で直接返されます。
contentStringテキスト形式のログ構成の内容。
modeIntegerデバイスログのレポートに使用されるモード。値 0 は、デバイス SDK がログのレポートに使用されていないことを示します。値 1 は、デバイス SDK がログのレポートに使用されていることを示します。
表 3. エラーコード
HTTP ステータスコード原因トラブルシューティング
6717getType リクエストパラメーターが無効です。デバイスログをレポートするには、このパラメーターを content に設定する必要があります。IoT Platform コンソール にログインします。左側のナビゲーションウィンドウで、[メンテナンス] > [デバイスログ] を選択します。[デバイスローカルログ] タブで、getType パラメーターの値を確認します。または、オンプレミスデバイスログでパラメーター値を確認します。
6718configScope リクエストパラメーターが無効です。デバイスログをレポートするには、このパラメーターを device に設定する必要があります。IoT Platform コンソール にログインします。左側のナビゲーションウィンドウで、[メンテナンス] > [デバイスログ] を選択します。[デバイスローカルログ] タブで、configScope パラメーターの値を確認します。または、オンプレミスデバイスログでパラメーター値を確認します。

デバイスが IoT Platform からログ構成を受信する

IoT Platform がデバイスにリクエストを送信し、デバイスが IoT Platform にレスポンスを送信するときに、次のトピックが使用されます。

トピック: /sys/${productKey}/${deviceName}/thing/config/log/push

Alink JSON 形式で送信される構成データ:

{
    "id":"123",
    "version":"1.0",
    "params" :{ 
        "getType":"content",
        "content":{
            "mode":0  // デバイスログをレポートするために使用されるモード
        }
    }
}
表 4. パラメーターの説明
パラメータータイプ説明
idStringメッセージの ID。有効な値: 0 ~ 4294967295。各メッセージ ID は、デバイスに対して一意である必要があります。
versionStringプロトコルのバージョン。有効な値: 1.0
getTypeString構成が返される形式。デフォルト値: content。デフォルトでは、ログ構成の内容はサイズが小さく、テキスト形式で直接返されます。
contentStringテキスト形式のログ構成の内容。
modeIntegerデバイスログのレポートに使用されるモード。値 0 は、デバイス SDK がログのレポートに使用されていないことを示します。値 1 は、デバイス SDK がログのレポートに使用されていることを示します。

デバイスがログをレポートする

デバイスが IoT Platform にリクエストを送信し、IoT Platform がデバイスに応答を送信するときに、次のトピックが使用されます。

  • リクエストトピック: /sys/${productKey}/${deviceName}/thing/log/post
  • レスポンストピック: /sys/${productKey}/${deviceName}/thing/log/post_reply

Alink JSON 形式のリクエスト例:

{
    "id" : "123",  // メッセージID
    "version":"1.0",
    "sys":{
      "ack":0
    },
    "params" :[{ // リクエストパラメーター。params パラメーターには、配列に最大 40 個の要素を含めることができます。
          "utcTime":  "2020-03-06T15:15:27.464+0800",  // デバイスがログを収集した時刻
          "logLevel": "ERROR",          // ログレベル
          "module": "ModuleA",         // モジュールの名前
          "code" :"4103",                       // HTTPステータスコード
          "traceContext": "123456",    // コンテキストでトレースされるコンテンツ
          "logContent" : "some log content" // ログのコンテンツ
         }], 
    "method" : "thing.log.post" // リクエストメソッド
}
表 5. リクエストパラメーター
パラメータータイプ説明
idStringメッセージの ID。有効な値: 0 ~ 4294967295。各メッセージ ID は、デバイスに対して一意である必要があります。
versionStringプロトコルのバージョン。有効な値: 1.0

sys

Object

拡張機能のパラメーター。値には、各機能のフィールドが含まれています。

説明

デバイス SDK を使用してデバイス機能を開発するときに拡張機能が構成されていない場合、このパラメーターは使用できません。拡張機能はデフォルトの構成を使用します。

ack

Integer

sys パラメーターの拡張機能フィールド。このフィールドは、IoT Platform が登録リクエストのレスポンスデータを返すかどうかを指定します。有効な値:

  • 1: IoT Platform はレスポンスデータを返します。

  • 0: IoT Platform はレスポンスデータを返しません。

重要

パラメーターの詳細については、「TSL モデルの使用方法の例」をご参照ください。

機能が構成されていない場合、このパラメーターは使用できません。デフォルトでは、IoT Platform は登録リクエストのレスポンスデータを返します。

paramsListリクエストパラメーター。params パラメーターには、配列に最大 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レスポンスの HTTP ステータスコード。

HTTP ステータスコードは、デバイス SDK によって生成されるか、ユーザーによってカスタマイズされる場合があります。デバイスが Android 用 SDK を使用している場合に返される可能性のあるステータスコードの詳細については、「エラーコード」をご参照ください。デバイスが C 用 SDK を使用している場合に返される可能性のあるステータスコードの詳細については、「一般的なエラーコード」をご参照ください。

traceContextStringオプション。コンテキストでトレースされるコンテンツ。デバイスの場合は、このパラメーターを Alink メッセージの id パラメーターの値に設定します。アプリケーションの場合は、このパラメーターを TraceId パラメーターの値に設定します。
logContentStringログのコンテンツ。
methodStringリクエストメソッド。有効な値: thing.log.post

Alink JSON 形式のレスポンス例:

{
    "id" : "123",
    "code":200, // HTTPステータスコード
    "data" : {}
}
表 6. レスポンスパラメーター
パラメータータイプ説明
idStringメッセージの ID。有効な値: 0 ~ 4294967295。各メッセージ ID は、デバイスに対して一意である必要があります。
codeIntegerレスポンスの HTTP ステータスコード。200 が返された場合、リクエストは成功しました。他のステータスコードが返された場合、リクエストは失敗しました。詳細については、「デバイスの共通コード」をご参照ください。
dataObjectIoT Platform によって返されるデータ。ログをレポートするリクエストへのレスポンスでは、データは返されません。