Comment exporter les journaux Graylog

Comment exporter les journaux Graylog

SOC Prime Team
SOC Prime Team linkedin icon Suivre

Graylog conserve ses messages dans OpenSearch ou Elasticsearch, vous avez donc deux possibilités. Utilisez l’API REST de Graylog, authentifiée avec un jeton d’accès, ou interrogez directement les indices du backend (graylog_* par défaut) avec un script. Dans tous les cas, vous obtiendrez du JSON. La ligne originale se trouve dans message, et dans full_message pour certaines entrées. L’exportation dans l’interface web de Graylog produit un format que LogTotal ne lit pas aujourd’hui. 

Graylog est une plateforme de gestion des journaux ouverte populaire, souvent la première configuration de journalisation centrale qu’une équipe met en place. Prime Core dispose de 23,274 règles de détection pour Graylog, mappées à 671 techniques MITRE ATT&CK. Voici comment extraire les messages, les assainir et les investiguer gratuitement dans LogTotal.

Commencez gratuitement

Avant de commencer

Un jeton d’accès. Dans Graylog, ouvrez les paramètres de votre utilisateur et créez un jeton. Avec l’API, vous vous authentifiez comme <token>:token: le jeton en tant que nom d’utilisateur et le mot token en tant que mot de passe.

Accès backend, si vous allez directement. Le cluster OpenSearch ou Elasticsearch derrière Graylog n’est souvent pas accessible de l’extérieur. Demandez à celui qui le gère un compte en lecture seule.

Flux et ensembles d’index. Graylog achemine les messages vers des flux, et les flux se mappent à des ensembles d’index avec leurs propres préfixes et rétention. Sachez quel ensemble d’index contient vos données.

Option 1 : API REST de Graylog

GL="https://graylog.example.com"

curl -sS -u "$GL_TOKEN:token" -H 'Accept: application/json' -G "$GL/api/search/universal/absolute"
  --data-urlencode 'query=source:web-03'
  --data-urlencode 'from=2026-10-19T00:00:00.000Z'
  --data-urlencode 'to=2026-10-20T00:00:00.000Z'
  --data-urlencode 'limit=10000'
  | jq -c '.messages[].message' > graylog_web03_1019.jsonl

Les versions plus récentes de Graylog privilégient l’API de recherche Views. Pour de grandes exportations, l’Option 2 est plus fiable.

Option 2 : Interroger les indices du backend

C’est la même approche que celle pointée vers les indices de Graylog :

import json, os
from opensearchpy import OpenSearch, helpers

client = OpenSearch("https://opensearch.example.com:9200",
                    http_auth=("reader", os.environ["OS_PASSWORD"]), verify_certs=True)
query = {"query": {"bool": {"filter": [
    {"term": {"source": "web-03"}},
    {"range": {"timestamp": {"gte": "2026-10-19 00:00:00.000", "lt": "2026-10-20 00:00:00.000"}}},
]}}}

with open("graylog_web03_1019.jsonl", "w") as out:
    for hit in helpers.scan(client, index="graylog_*", query=query, size=1000):
        out.write(json.dumps(hit["_source"]) + "n")

Graylog stocke le timestamp comme yyyy-MM-dd HH:mm:ss.SSS en UTC, ce qui explique pourquoi la plage utilise ce format. Pour un backend utilisant Elasticsearch, utilisez le client elasticsearch de la même manière.

Téléchargez, assainissez et examinez dans LogTotal

  1. Téléchargez. Ouvrez logtotal.com et déposez le fichier. 
  2. Assainissez. 
  3. Examinez. 

Quand cela ne fonctionne pas

SymptômeCause probableFix
401 de l’APIErreur d’écriture de l’authentification du jetonUtilisez <token>:token
404 sur le point de terminaison de recherchePoint de terminaison non disponible dans votre versionUtilisez l’Option 2, ou l’API Views
La requête backend ne retourne rienMauvais préfixe d’index, ou format de timestampVérifiez les ensembles d’index; utilisez yyyy-MM-dd HH:mm:ss.SSS
Backend inaccessibleCluster non exposéDemandez un accès en lecture seule, ou utilisez l’API

FAQ

Message ou full_message ?

Le message est toujours là. full_message apparaît pour certaines entrées, comme GELF, et peut contenir plus de détails. Exportez les deux si vous les avez.

Cela fonctionne-t-il pour Graylog Cloud ?

La voie de l’API fonctionne. L’accès direct au backend n’est généralement pas disponible sur les plans hébergés.

Rejoignez la plateforme Detection as Code de SOC Prime pour améliorer la visibilité sur les menaces les plus pertinentes pour votre entreprise. Pour vous aider à démarrer et à générer une valeur immédiate, planifiez dès maintenant une réunion avec des experts de SOC Prime.