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
- Démarrer la stack :
docker compose up -d - Accéder à l'UI :
http://IP:9000(login:admin/ mot de passe root) - Créer un input : System > Inputs > Syslog UDP > Launch
- Créer une stream : Streams > Create > règles de filtrage
- Créer un pipeline : System > Pipelines > règles de parsing (grok, regex)
- Configurer les alertes : Alerts > Event Definitions
- Activer le threat intel : Security > Threat Intel
- 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-dataet MongoDB - ⚠️ License SSPL : vérifier la compatibilité avec votre cas d'usage commercial
📚 Ressources
Pages Liées
- cat-logs — Catégorie Logs
- app-loki — Alternative légère
- app-grafana — Visualisation (peut compléter)
- app-uptime-kuma — Monitoring uptime
- securisation-home-lab — Bonnes pratiques sécurité