apmlog.get
Description
integer/array apmlog.get(object parameters)
Cette méthode vous permet de récupérer des enregistrements de journal selon les paramètres indiqués.
Cette méthode est disponible pour les utilisateurs de tout type. Les autorisations d'appel de la méthode peuvent être révoquées dans les paramètres des rôles utilisateur. Consultez la page Rôles utilisateur pour plus d'informations.
Paramètres
(object) Paramètres définissant le résultat souhaité.
La méthode prend en charge les paramètres suivants.
| Paramètre | Type | Description |
|---|---|---|
| time_from | timestamp | Retourne uniquement les enregistrements de journal des événements survenus à l'heure indiquée ou après. Comportement du paramètre : - requis |
| time_till | timestamp | Retourne uniquement les enregistrements de journal des événements survenus avant l'heure indiquée. Comportement du paramètre : - requis |
| traceids | string/array | Retourne uniquement les enregistrements de journal produits pendant les traces indiquées. |
| spanids | string/array | Retourne uniquement les enregistrements de journal produits pendant les spans indiqués. |
| with_flags_on | integer | Retourne uniquement les enregistrements de journal pour lesquels tous les indicateurs de trace indiqués sont définis. Pour spécifier plusieurs indicateurs, utilisez la somme de leurs valeurs. |
| with_flags_off | integer | Retourne uniquement les enregistrements de journal pour lesquels aucun des indicateurs de trace indiqués n'est défini. Pour spécifier plusieurs indicateurs, utilisez la somme de leurs valeurs. |
| resource_attributes | object/array | Retourne uniquement les enregistrements de journal possédant les attributs de ressource indiqués. Format : [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].Un tableau vide retourne tous les enregistrements de journal. Valeurs possibles de l'opérateur : 0 - (par défaut) Contient ; 1 - Est égal à ; 2 - Ne contient pas ; 3 - N'est pas égal à ; 4 - Existe ; 5 - N'existe pas. |
| resource_attributes_evaltype | integer | Méthode d'évaluation des conditions dans resource_attributes.Valeurs possibles : 0 - (par défaut) Et/Ou ; 2 - Ou. |
| scope_attributes | object/array | Retourne uniquement les enregistrements de journal possédant les attributs de portée indiqués. Format : [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].Un tableau vide retourne tous les enregistrements de journal. Valeurs possibles de l'opérateur : 0 - (par défaut) Contient ; 1 - Est égal à ; 2 - Ne contient pas ; 3 - N'est pas égal à ; 4 - Existe ; 5 - N'existe pas. |
| scope_attributes_evaltype | integer | Méthode d'évaluation des conditions dans scope_attributes.Valeurs possibles : 0 - (par défaut) Et/Ou ; 2 - Ou. |
| log_attributes | object/array | Retourne uniquement les enregistrements de journal possédant les attributs de journal indiqués. Format : [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].Un tableau vide retourne tous les enregistrements de journal. Valeurs possibles de l'opérateur : 0 - (par défaut) Contient ; 1 - Est égal à ; 2 - Ne contient pas ; 3 - N'est pas égal à ; 4 - Existe ; 5 - N'existe pas. |
| log_attributes_evaltype | integer | Méthode d'évaluation des conditions dans log_attributes.Valeurs possibles : 0 - (par défaut) Et/Ou ; 2 - Ou. |
| filter | object | Retourne uniquement les résultats correspondant exactement au filtre indiqué. Accepte un objet dont les clés sont des noms de propriétés et dont les valeurs sont soit une valeur unique, soit un tableau de valeurs à comparer. Propriétés prises en charge : traceid, spanid, trace_flags, severity_text, severity_number, service_name, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name. |
| search | object | Retourne les résultats correspondant au modèle indiqué (sans distinction entre majuscules et minuscules). Accepte un objet dont les clés sont des noms de propriétés et dont les valeurs sont les chaînes à rechercher. Si aucune option supplémentaire n'est indiquée, une recherche LIKE "%…%" est effectuée.Propriétés prises en charge : severity_text, service_name, body, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name. |
| sortfield | string/array | Trie le résultat selon les propriétés indiquées. Valeurs possibles : timestamp, traceid, spanid, trace_flags, severity_text, severity_number, service_name, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name. |
| offset | integer | Nombre d'enregistrements à ignorer avant de retourner le résultat. |
| countOutput | boolean | Ces paramètres sont décrits dans la documentation de référence. |
| excludeSearch | boolean | |
| limit | integer | |
| output | query | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Valeurs de retour
(integer/array) Renvoie soit :
- un tableau d'objets ;
- le nombre d'objets récupérés, si le paramètre
countOutputa été utilisé.
Exemples
Récupération des journaux d'erreurs d'une trace
Récupérer les enregistrements de journal avec la gravité ERROR (numéros de gravité 17 à 20) associés à la trace "8a4f1c7e2b9d4e6fa0c3b5d7e9f1a2c4".
Requête :
{
"jsonrpc": "2.0",
"method": "apmlog.get",
"params": {
"output": "extend",
"time_from": 1790848800,
"time_till": 1790852400,
"traceids": "8a4f1c7e2b9d4e6fa0c3b5d7e9f1a2c4",
"filter": {
"severity_number": [17, 18, 19, 20]
},
"sortfield": "timestamp",
"sortorder": "ASC"
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": [
{
"timestamp": "1790849305091452376",
"traceid": "8a4f1c7e2b9d4e6fa0c3b5d7e9f1a2c4",
"spanid": "5d2e8f1a9c3b7046",
"trace_flags": "1",
"severity_text": "ERROR",
"severity_number": "17",
"service_name": "zabbix-frontend",
"body": "mysqli_query(): (HY000/1205): Lock wait timeout exceeded; try restarting transaction",
"resource_schema_url": "https://opentelemetry.io/schemas/1.26.0",
"resource_attributes": {
"service.name": "zabbix-frontend",
"host.name": "6583ceeb5f94",
"host.arch": "x86_64",
"os.type": "linux"
},
"scope_schema_url": "",
"scope_name": "zabbix-frontend",
"scope_version": "",
"scope_attributes": {},
"log_attributes": {
"log.file.path": "/var/log/zabbix/zabbix_frontend.log",
"code.filepath": "/usr/share/zabbix/include/db.inc.php"
},
"event_name": ""
}
],
"id": 1
}
Recherche de messages dans les journaux
Récupérer l'heure, le service et le message des 10 enregistrements de journal les plus récents dont le message contient « timeout ».
Requête :
{
"jsonrpc": "2.0",
"method": "apmlog.get",
"params": {
"output": ["timestamp", "service_name", "severity_text", "body"],
"time_from": 1790848800,
"time_till": 1790852400,
"search": {
"body": "timeout"
},
"sortfield": "timestamp",
"sortorder": "DESC",
"limit": 10
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": [
{
"timestamp": "1790849305091452376",
"service_name": "zabbix-frontend",
"severity_text": "ERROR",
"body": "mysqli_query(): (HY000/1205): Lock wait timeout exceeded; try restarting transaction"
},
{
"timestamp": "1790848961730284115",
"service_name": "zabbix-frontend",
"severity_text": "ERROR",
"body": "mysqli_query(): (HY000/1205): Lock wait timeout exceeded; try restarting transaction"
}
],
"id": 1
}
Voir aussi
Source
CApmLog::get() dans ui/include/classes/api/services/CApmLog.php.