Files
2026-06-09 18:40:21 +02:00

7.9 KiB


title: Graylog created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, logs, siem, observability, alerting, dashboards, java, elasticsearch, mongodb] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Logs, https://github.com/Graylog2/graylog2-server]

📋 Graylog

La plateforme SIEM-like open source de référence : collecte, indexation, recherche, alertes, dashboards et threat intelligence dans une seule UI. Attention : la licence SSPL n'est pas reconnue comme open source stricte par l'OSI.

📋 Informations Générales

Champ Valeur
Site web graylog.org
GitHub Graylog2/graylog2-server
License SSPL-1.0 (⚠️ pas OSS strict)
Langage Java
Étoiles GitHub 8k
Dernière MAJ 2026-06-05
Catégorie [[cat-logs

📝 Description

Graylog est une plateforme de gestion de logs open source avec une stack technique lourde mais complète : Graylog Server (Java) + MongoDB (métadonnées) + OpenSearch/Elasticsearch (indexation). Cette stack apporte une vraie profondeur fonctionnelle : recherches full-text performantes, agrégations, dashboards, alertes, et même des fonctionnalités de type SIEM (Security Information & Event Management).

L'UI de Graylog est particulièrement aboutie pour un outil open source : streams (routage temps réel), pipelines (parsing/transform/enrich), alertes (email, Slack, PagerDuty), dashboards (graphiques temps réel), et une API REST complète. La version Enterprise ajoute LDAP/SAML, archivage, et compliance reporting.

⚠️ Licence SSPL : depuis la v4.0, Graylog est passé sous Server Side Public License. Cette licence (imposée par MongoDB en 2018) impose que toute personne offrant le logiciel en SaaS doive publier ses modifications. Elle n'est pas reconnue par l'OSI comme open source. Pour un labo perso, ça ne change rien. Pour un produit SaaS commercial, c'est problématique.

Public cible : équipes de sécurité (SOC), entreprises qui veulent un SIEM open source, labos avancés qui ont besoin d'alertes et de pipelines de logs, admins qui gèrent des parcs de serveurs moyens.

  • UI web complète : recherche, dashboards, streams, alertes
  • Recherche full-text performante (via OpenSearch)
  • Pipelines : parsing, grok, regex, enrichissement (GeoIP, etc.)
  • Streams : routage temps réel des logs par règles
  • Alertes : seuils, agrégations, escalade
  • Dashboards temps réel
  • Threat intelligence : intégration MITRE ATT&CK, listes d'IPs
  • Inputs multiples : Syslog (UDP/TCP/TLS), GELF, Beats, HTTP, Kafka
  • RBAC : utilisateurs, rôles, équipes
  • API REST complète
  • ⚠️ License SSPL : pas SaaS-friendly
  • ⚠️ Stack lourde : Java + MongoDB + OpenSearch (RAM)

🚀 Installation

Option 1 : Docker Compose (stack complète)

# docker-compose.yml
version: '3.8'
services:
  mongodb:
    image: mongo:7.0
    container_name: graylog-mongo
    restart: unless-stopped
    volumes:
      - mongo-data:/data/db

  opensearch:
    image: opensearchproject/opensearch:2.15.0
    container_name: graylog-opensearch
    restart: unless-stopped
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms2g -Xmx2g"
      - DISABLE_SECURITY_PLUGIN=true
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - opensearch-data:/usr/share/opensearch/data

  graylog:
    image: graylog/graylog:6.0
    container_name: graylog
    restart: unless-stopped
    environment:
      GRAYLOG_PASSWORD_SECRET: CHANGEME-256BIT-SECRET
      GRAYLOG_ROOT_PASSWORD_SHA2: SHA256-HASH-OF-YOUR-PASSWORD
      GRAYLOG_HTTP_EXTERNAL_URI: http://graylog.example.com:9000/
      GRAYLOG_MONGODB_URI: mongodb://mongodb:27017/graylog
      GRAYLOG_ELASTICSEARCH_HOSTS: http://opensearch:9200
    depends_on:
      - mongodb
      - opensearch
    ports:
      - "9000:9000"   # Web UI
      - "1514:1514"   # Syslog TCP
      - "1514:1514/udp"  # Syslog UDP
      - "12201:12201"   # GELF
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.graylog.rule=Host(`graylog.example.com`)"
      - "traefik.http.routers.graylog.entrypoints=websecure"
      - "traefik.http.routers.graylog.tls.certresolver=letsencrypt"

volumes:
  mongo-data:
  opensearch-data:

Option 2 : OVA (VM préconfigurée)

Graylog fournit une image OVA prête à l'emploi (test/lab).

⚙️ Configuration Initiale

  1. Démarrer la stack : docker compose up -d
  2. Accéder à l'UI : http://IP:9000 (login: admin / mot de passe root)
  3. Créer un input : System > Inputs > Syslog UDP > Launch
  4. Créer une stream : Streams > Create > règles de filtrage
  5. Créer un pipeline : System > Pipelines > règles de parsing (grok, regex)
  6. Configurer les alertes : Alerts > Event Definitions
  7. Activer le threat intel : Security > Threat Intel
  8. Connecter les sources : rsyslog, filebeat, nxlog côté clients

🔄 Alternatives

Open Source

  • app-loki — Plus léger, label-based
  • app-elasticsearch — Directement (sans Graylog par-dessus)
  • app-parseable — Moderne, columnar
  • app-quickwit — Recherche full-text légère
  • Wazuh — SIEM complet (open source, plus security-focused)
  • ELK Stack — Elasticsearch + Logstash + Kibana (parent commun de Graylog)

Comparaison Graylog vs autres

Critère Graylog ELK Stack Loki Wazuh
UI intégrée Complète Kibana (Grafana)
Alertes Avancées (ElastAlert) (Grafana) SIEM
Pipelines Built-in Logstash
SIEM features
Recherche full-text
RAM 4-8 Go 8-16 Go 1-2 Go 4-8 Go
License SSPL-1.0 SSPL/Elastic AGPL-3.0 GPL-2.0
Setup Moyen Complexe Facile Moyen

Verdict : Graylog est le plus complet des outils open source pour la gestion de logs avec UI. Idéal si vous voulez des pipelines et alertes intégrées. Pour un labo léger, app-loki est plus simple. Pour un vrai SIEM, Wazuh est plus adapté.

Propriétaires (ce que Graylog remplace)

  • Splunk (cher, enterprise)
  • IBM QRadar (SIEM, très cher)
  • LogRhythm (SIEM)
  • Datadog Logs + Monitoring
  • Sumo Logic

🔐 Sécurité

  • ⚠️ Logs = données sensibles : Graylog gère souvent des logs de sécurité (auth, firewall)
  • Chiffrement at-rest : LUKS/ZFS + chiffrement OpenSearch (TLS + passwords)
  • Chiffrement in-transit : TLS obligatoire (Traefik + syslog TLS)
  • Authentification : local, LDAP, Active Directory, SAML (Enterprise)
  • RBAC : Users > Teams > Roles (read/write/admin par stream)
  • ⚠️ Rétention : GDPR/RGPD — configurer index_set.retention_strategy (deletion ou rotation)
  • PII filtering : pipelines Grok/regex pour anonymiser
  • Audit log : System > Audit Log (qui a fait quoi)
  • Backups chiffrés : app-restic sur /var/lib/graylog-data et MongoDB
  • ⚠️ License SSPL : vérifier la compatibilité avec votre cas d'usage commercial

📚 Ressources

Pages Liées