Pas de champ "system.syslog.program" dans graylog via filebeat + logstash
... / Pas de champ "system.sysl...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
question

Pas de champ "system.syslog.program" dans graylog via filebeat + logstash

Par
CyrilM4
Créé le 2019-10-14 10:46:56 (edited on 2024-09-04 12:28:15) dans Erreur connexion SSL

Bonjour à tous,

Je suis un débutant absolu en log management / graylog.

Je veux envoyer les logs system (syslog) de plusieurs serveurs Ubuntu 18.04 vers L.D.P.
Pour cela, J'ai pris un compte pro avec 1 collecteur et j'ai essayé 2 setups (avec succès).

1. Dans le premier, j'ai suivi les instructions du Guide OVH *"Shipping logs to Logs Data Platform with Filebeat"*
2. Dans le second, j'ai suivi les instructions du Guide OVH *"How to log your Linux with syslog-ng 3.8+"*

Les deux fonctionnent, **MAIS** j'ai 1 question:

**Pourquoi, dans la config n°1) filebeat + collector, graylog n'affiche pas les fields "system" (system.syslog.program notamment) ?**

C'est le cas:

* avec 2 versions de logstash (6.8 et 7.3)
* quelque soit la version de filebeat (testé avec la dernière et celle par défaut sur Ubuntu).

Dans les 2 cas, j'ai utilisé le "Formulaire de configuration": "Filebeat" dans la configuration du Collector.
Il me semble que le grok filter pour syslog parse bien le field: **system.syslog.program** mais celui-ci n'est pas visible dans **Graylog**.

} else if [fileset][name] == "syslog" {
grok {
match => { "message" => [
"%{SYSLOGTIMESTAMP:[system][syslog][timestamp]} %{SYSLOGHOST:[system][syslog][hostname]} %{DATA:[system][syslog][program]}(?:\[%{POSINT:[system][syslog][pid]:int}\])?: %{GREEDYMULTILINE:[system][syslog][message]}",
"%{SYSLOGTIMESTAMP:[system][syslog][timestamp]} %{GREEDYMULTILINE:[system][syslog][message]}"]
}
pattern_definitions => {
"GREEDYMULTILINE" => "(.|\n)*"
}
}

Ci dessous le meme message loggé une fois **via filebeat + logstash collector** et une fois **via syslog-ng**.
Désolé le copier/collé est pourri (Chaque field est sur 2 lignes; 1 ligne fieldname suivi de la ligne value).

#### Via syslog-ng
X-OVH-CONTENT-SIZE
272
X-OVH-DELIVERY-DATE
2019-10-14T10:08:03.942Z
X-OVH-INPUT
syslog_rfc5424
application_name
Odoo_appserver-mpy <=================== Ok
facility
daemon
level
6
message
2019-10-14 10:08:03,519 15141 INFO oursbleu_muppy_v12c IMQWorker: Queue[muppy] got no message.
pid
13328
priority
info
process_id
13328
sd_id
sdid@32473
source
carbon
timestamp
2019-10-14T10:08:03.000Z

#### via filebeat + logstash collector

@timestamp
2019-10-12T16:04:02.600Z
X-OVH-CONTENT-SIZE
611
X-OVH-DELIVERY-DATE
2019-10-12T16:04:08.739Z
agent_ephemeral_id
d0797f3f-727b-4a0e-a17b-7987802edbe3
agent_hostname
carbon
agent_id
91ffd1e1-5f8f-43a2-862e-5c3a5dce4f78
agent_type
filebeat
agent_version
7.4.0
beat_architecture
x86_64
beat_hostname
carbon
beat_id
7aee4f229fb64ad09bd08848f22f13bd
beat_name
carbon
beat_os_codename
bionic
beat_os_family
debian
beat_os_kernel
4.15.0-65-generic
beat_os_name
Ubuntu
beat_os_platform
ubuntu
beat_os_version
18.04.3 LTS (Bionic Beaver)
cloud_availability_zone
nova
cloud_instance_id
i-0000e1e2
cloud_instance_name
muppy-dev
cloud_machine_type
s1-8
cloud_provider
openstack
ecs_version
1.1.0
event_dataset
system.syslog
event_module
system
event_timezone
+00:00
fileset_name
syslog
input_type
log
log_file_path
/var/log/syslog
log_offset_int
3861984
message
Oct 12 16:04:02 carbon Odoo_appserver-mpy[13328]: 2019-10-12 16:04:02,318 29570 INFO lp_muppy_v12c IMQWorker: Queue[muppy] got no message.
service_type
system
source
carbon
tags_1
beats_input_codec_plain_applied
timestamp
2019-10-12T16:04:02.600Z

Quelqu'un pourrait-il m'aiguiller sur ce que je n'ai pas compris SVP ?

Je me demande aussi quel est le meilleur setup pour mon use case ? syslog-ng ou filebeat + logstash ? Je suis aussi preneur d'un avis éclairé sur ce point !!! ;-)

Merci d'avance,
Cyril


Les réponses sont actuellement désactivées pour cette question.