IoT Platform permet aux appareils de transmettre leurs journaux locaux vers le cloud. Interrogez les journaux des appareils et résolvez les problèmes depuis la console.
-
Les appareils utilisant les SDK Link suivants peuvent transmettre leurs journaux locaux à IoT Platform. Vous pouvez également développer votre propre SDK pour activer cette fonctionnalité de transmission des journaux locaux.
Pour transmettre les journaux d'un appareil, accédez à la page Device Details de l'appareil et activez l'option Device local log reporting.
Pour plus d'informations sur l'interrogation des journaux locaux des appareils, consultez la rubrique On-premises device logs.
Demande de configuration des journaux par les appareils auprès d'IoT Platform
Les rubriques suivantes sont utilisées lorsqu'un appareil envoie des requêtes à IoT Platform et qu'IoT Platform renvoie des réponses à l'appareil :
Rubrique de requête :
/sys/${productKey}/${deviceName}/thing/config/log/getRubrique de réponse :
/sys/${productKey}/${deviceName}/thing/config/log/get_reply
Exemple de requête au format JSON Alink :
{
"id" : "123",
"version":"1.0",
"sys":{
"ack":0
},
"params" : {
"configScope":"device",
"getType":"content"
},
"method":"thing.config.log.get"
}
| Parameter | Type | Description |
| id | String | ID du message. Valeurs valides : de 0 à 4294967295. Chaque ID de message doit être unique pour l'appareil. |
| version | String | Version du protocole. Valeur valide : 1.0. |
sys | Object | Paramètres de fonctionnalité étendue. Remarque
Si vous utilisez un SDK côté appareil sans configurer les fonctionnalités étendues, ce paramètre est omis et les valeurs par défaut s'appliquent. |
ack | Integer | Indique si le cloud renvoie une réponse. Champ situé sous sys.
Important
Thing Specification Language model usage examples. S'il n'est pas configuré, ce paramètre est omis et une réponse est renvoyée par défaut. |
| configScope | String | Portée des configurations de journal. IoT Platform prend uniquement en charge les configurations de journal au niveau de l'appareil. Valeur par défaut : device. |
| getType | String | Format dans lequel les configurations sont renvoyées. Valeur par défaut : content. Par défaut, le contenu des configurations de journal est de petite taille et est directement renvoyé au format texte. |
| method | String | Méthode de requête. Valeur valide : thing.config.log.get. |
Exemple de réponse au format JSON Alink :
{
"id":"123",
"version":"1.0",
"code":200,
"data" :{
"getType":"content",
"content":{
"mode":0
}
}
}
| Parameter | Type | Description |
| id | String | ID du message. Valeurs valides : de 0 à 4294967295. Chaque ID de message doit être unique pour l'appareil. |
| version | String | Version du protocole. Valeur valide : 1.0. |
| code | Integer |
Code d'état HTTP dans la réponse. Si la valeur 200 est renvoyée, la requête a abouti. Si d'autres codes d'état sont renvoyés, la requête a échoué. Pour plus d'informations sur les codes d'état HTTP 6717 et 6718, consultez le tableau ci-dessous. Pour plus d'informations sur les autres codes d'état HTTP, consultez la rubrique Common codes on devices. |
| data | Object | Données renvoyées par IoT Platform. |
| getType | String | Format dans lequel les configurations sont renvoyées. Valeur par défaut : content. Par défaut, le contenu des configurations de journal est de petite taille et est directement renvoyé au format texte. |
| content | String | Contenu des configurations de journal au format texte. |
| mode | Integer | Mode utilisé pour transmettre les journaux de l'appareil. Une valeur de 0 indique que le SDK de l'appareil n'est pas utilisé pour transmettre les journaux. Une valeur de 1 indique que le SDK de l'appareil est utilisé pour transmettre les journaux. |
| HTTP status code | Cause | Troubleshooting |
| 6717 | Le paramètre de requête getType n'est pas valide. Pour transmettre les journaux de l'appareil, définissez ce paramètre sur content. | Connectez-vous à la console IoT Platform. Dans le volet de navigation de gauche, choisissez . Dans l'onglet Device local log, vérifiez la valeur du paramètre getType. Vous pouvez également vérifier la valeur du paramètre dans les journaux locaux de l'appareil. |
| 6718 | Le paramètre de requête configScope n'est pas valide. Pour transmettre les journaux de l'appareil, définissez ce paramètre sur device. | Connectez-vous à la console IoT Platform. Dans le volet de navigation de gauche, choisissez . Dans l'onglet Device local log, vérifiez la valeur du paramètre configScope. Vous pouvez également vérifier la valeur du paramètre dans les journaux locaux de l'appareil. |
Réception des configurations de journal par les appareils depuis IoT Platform
La rubrique suivante est utilisée lorsqu'IoT Platform envoie des requêtes à un appareil et que l'appareil renvoie des réponses à IoT Platform :
Rubrique : /sys/${productKey}/${deviceName}/thing/config/log/push.
Données de configuration envoyées au format JSON Alink :
{
"id":"123",
"version":"1.0",
"params" :{
"getType":"content",
"content":{
"mode":0
}
}
}
| Parameter | Type | Description |
| id | String | ID du message. Valeurs valides : de 0 à 4294967295. Chaque ID de message doit être unique pour l'appareil. |
| version | String | Version du protocole. Valeur valide : 1.0. |
| getType | String | Format dans lequel les configurations sont renvoyées. Valeur par défaut : content. Par défaut, le contenu des configurations de journal est de petite taille et est directement renvoyé au format texte. |
| content | String | Contenu des configurations de journal au format texte. |
| mode | Integer | Mode utilisé pour transmettre les journaux de l'appareil. Une valeur de 0 indique que le SDK de l'appareil n'est pas utilisé pour transmettre les journaux. Une valeur de 1 indique que le SDK de l'appareil est utilisé pour transmettre les journaux. |
Transmission des journaux par les appareils
Les rubriques suivantes sont utilisées lorsqu'un appareil envoie des requêtes à IoT Platform et qu'IoT Platform renvoie des réponses à l'appareil :
Rubrique de requête :
/sys/${productKey}/${deviceName}/thing/log/postRubrique de réponse :
/sys/${productKey}/${deviceName}/thing/log/post_reply
Exemple de requête au format JSON 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"
}
| Parameter | Type | Description |
| id | String | ID du message. Valeurs valides : de 0 à 4294967295. Chaque ID de message doit être unique pour l'appareil. |
| version | String | Version du protocole. Valeur valide : 1.0. |
sys | Object | Paramètres de fonctionnalité étendue. Remarque
Si vous utilisez un SDK côté appareil sans configurer les fonctionnalités étendues, ce paramètre est omis et les valeurs par défaut s'appliquent. |
ack | Integer | Indique si le cloud renvoie une réponse. Champ situé sous sys.
Important
Thing Specification Language model usage examples. S'il n'est pas configuré, ce paramètre est omis et une réponse est renvoyée par défaut. |
| params | List | Paramètres de la requête. Le paramètre params peut contenir jusqu'à 40 éléments dans un tableau. |
| utcTime | String | Heure à laquelle l'appareil collecte le journal. L'heure est exprimée en UTC et inclut le fuseau horaire. Unité : millisecondes. Format des données : yyyy-MM-dd'T'HH:mm:ss.SSSZ. Vous pouvez utiliser d'autres formats de données. Toutefois, nous vous recommandons d'utiliser ce format pour faciliter le dépannage. |
| logLevel | String | Niveau de journal. Vous pouvez utiliser un niveau de journal par défaut ou personnaliser un niveau de journal. Les niveaux de journal par défaut suivants sont répertoriés par ordre de gravité décroissante :
|
| module | String | Nom du module.
|
| code | String | Code d'état HTTP dans la réponse. Le code d'état HTTP peut être généré par le SDK de l'appareil ou personnalisé par l'utilisateur. Pour plus d'informations sur les codes d'état susceptibles d'être renvoyés si l'appareil utilise le SDK pour Android, consultez la rubrique Error codes. Pour plus d'informations sur les codes d'état susceptibles d'être renvoyés si l'appareil utilise le SDK pour C, consultez la rubrique Common error codes. |
| traceContext | String | Facultatif. Contenu à tracer dans le contexte. Pour les appareils, définissez ce paramètre sur la valeur du paramètre id dans les messages Alink. Pour les applications, définissez ce paramètre sur la valeur du paramètre TraceId. |
| logContent | String | Contenu du journal. |
| method | String | Méthode de requête. Valeur valide : thing.log.post. |
Exemple de réponse au format JSON Alink :
{
"id" : "123",
"code":200,
"data" : {}
}
| Parameter | Type | Description |
| id | String | ID du message. Valeurs valides : de 0 à 4294967295. Chaque ID de message doit être unique pour l'appareil. |
| code | Integer | Code d'état HTTP dans la réponse. Si la valeur 200 est renvoyée, la requête a abouti. Si d'autres codes d'état sont renvoyés, la requête a échoué. Pour plus d'informations, consultez la rubrique Common codes on devices. |
| data | Object | Données renvoyées par IoT Platform. Dans la réponse à une requête de transmission de journaux, aucune donnée n'est renvoyée. |