Comment parser les logs de HaProxy


#1

Bonjour,

Je débute sur la stack elastic et j'aimerai parser des logs de HaProxy.

exemple :

Dec  4 09:09:51 f6047fe55160 local0.info haproxy[1]: 10.255.0.2:11323 [04/Dec/2018:09:09:51.199] http http.actuators.css-1/http.actuators.css-1.1 0/0/1/12/14 200 664 - - ---- 406/11/0/0/0 0/0 "GET /node-1/css/health HTTP/1.1"

J'ai testé plusieurs patterns mais en vain.

Merci par avance.


(Mika) #2

Bonjour,

Je débute également dans le parsing. Si tu ne trouves pas de pattern pré configuré il y a cet outil -> Grok Constructor

Il m'a permis de bien comprendre le fonctionnement. Et je me suis également renseigné sur les expressions régulières pour paufiner le parsing.


#3

Bonjour,

Je connais ce site mais merci quand même :slight_smile:
Dans la version 6.5 de kibana tu as aussi un Grok Debugger dans l'onglet Dev Tools.

En fait comme HaProxy est load balancing trés connu, je me suis dis qu'il doit exister un pattern.


(David Pilato) #4

Genre: https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/haproxy

?

Aussi ceci: Need help in creating grok patterns for haproxy logs


(Mika) #5

Oui :slight_smile: mais là c'est la fonctionnalité du "builder" qui est intéressante :smile:


#6

J'ai testé les patterns du premier lien mais ça ne match pas mais je vais prendre comme base et essayer d'adapter.

Merci.


#7

Tu as raison.


#8

Voici ma solution :

%{SYSLOGTIMESTAMP:timestamp} %{DATA:Aloha_name} %{DATA:SyslogFacility} %{DATA:Haproxy_process}: %{DATA:client_ip}:%{INT:client_port} \[%{HAPROXYDATE:accept_date}\] %{NOTSPACE:frontend_name} %{NOTSPACE:backend_name}/%{NOTSPACE:server_name} %{INT:Tq}/%{INT:Tw}/%{INT:Tc}/%{INT:Tr}/%{INT:Tt} %{INT:http_status_code} %{NOTSPACE:bytes_read} - - ---- %{INT:actconn}/%{INT:feconn}/%{INT:beconn}/%{INT:srvconn}/%{NOTSPACE:retries} %{INT:srv_queue}/%{INT:backend_queue} "%{WORD:Method} %{URIPATHPARAM:request} HTTP/%{NUMBER:http_version}"

https://cdn.haproxy.com/wp-content/uploads/2017/07/aloha_load_balancer_memo_log.pdf