1. Centralisation et
monitoring des logs
sous Graylog
Gaëtan Dardy – CNRS
Délégation Rhône Auvergne DR7
Pierrick Prost – Open-IT
pierrick@open-it.ch
2. Open-IT – http://www.open-it.ch
Graylog
• Acteur open-source majeur dans la gestion des
log
• Crée en 2010, 7 ans plus tard les 66 developpeurs on permis de créer
un produit qui concurrence les outils propiétaires
(IBM,Solarwinds,ManageEngine…)
• Des références clients solides
• Evolution rapide, un projet en pleine
effervescence depuis 3ans
2
4. Open-IT – http://www.open-it.ch
Architecture
4
Architecture scalable basée sur des
technologies éprouvées:
• JAVA
• API REST
• Data warehouse Elastisearch
Ouvert sur plusieurs standard tels
SYSLOG, GLF, AMQP, Elasticsearch BEAT
que ce soit en UDP ou TCP :
5. Open-IT – http://www.open-it.ch
Recherche et consultation
5
• Recherche en temps réel dans le data warehouse Elasticsearch
• Puissant language de requête
• La creation à la volée de dashboard ciblés
en function du besoin avec de multiples widgets
• ACL par groupe, utilisateur, authentification LDAP
http_response_code:[500 TO 504]
("ssh login" AND (source:server1 OR source:server2))
Source:*-PROD
6. Open-IT – http://www.open-it.ch
Inputs, Sources et Extractors
6
• Capacité à pouvoir créer de multiples entrées sur des
interfaces / ports différents en function du protocole
source (Gelf, Syslog, AMQP, plaintext, kafka) en TCP
ou UDP.
• Sécurisation des échanges via TLS/SSL et certificats.
• Extraction de données en temps reel via les
fonctionnalités “extractor” (GROK,REGEX,SPLITTING…)
• Fonctionnalités de converstion (ici “Anonymize IPv4 Addresses”)
• Chaque émetteur de logs deviant alors une source indexé et
utilisable dans les recherches.
115.231.222.145 - - [28/Nov/2016:12:14:48 +0000] "GET /axis2 HTTP/1.1" 404 203 "-" "python-requests/2.7.0 CPython/2.7.9 Windows/2003Server"
XXX.XXX.XXX.XXX - - [28/Nov/2016:12:14:48 +0000] "GET /axis2 HTTP/1.1" 404 203 "-" "python-requests/2.7.0 CPython/2.7.9 Windows/2003Server"
7. Open-IT – http://www.open-it.ch
Streams rules, Outputs et Alerts
7
Stream: mécanisme pour router/catégoriser des messages en temps reel
115.231.222.145 - - [28/Nov/2016:12:14:48 +0000] "GET /axis2 HTTP/1.1" 404 203 "-" "python-requests/2.7.0 CPython/2.7.9 Windows/2003Server"
Input SYSLOG TCP
115.231.222.145 - - [28/Nov/2016:12:14:48 +0000] "GET /axis2 HTTP/1.1" 404 203 "-" "python-requests/2.7.0 CPython/2.7.9 Windows/2003Server"
Stream HTTP 404
Code
Field message must contain 404
Outputs
Graphite/Ganglia
JDBC
SYSLOG
Splunk
Riemann
Datadog
Alerts
Mail
SMS
HTTP Callback
Telegram
JIRA, REDMINE
SCRIPT
More than 4 messages in the leat 30 minutes
AND then wait at least 60 minutes until
triggering a new alert
Configuration 100% web
8. Open-IT – http://www.open-it.ch
Administration intuitive
8
Visualisation des nœuds graylog
• État de la JVM (CPU,RAM, buffer,Disque…)
• Synchro des différentes timezone
• État du cluster graylog
• …
Visualisation des nœuds ElasticSearch
• Nombre d’indices
• Configuration de la retention et de la rotation
• Statistiques
• …