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 countOutput a é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.