Filebeat multi outputs


#1

Bonjour,

J'ai un filebeat (opérationnel) qui envoie des logs vers logstash puis elasticsearch.

Je voudrai activer le module haproxy de filebeat pour qu'il envoie les logs haproxy vers elasticsearch mais quand je lance la commande : filebeat setup -e

J'ai l'erreur suivante :

Exiting: error unpacking config data: more than one namespace configured accessing 'output' (source:'/etc/filebeat/filebeat.yml')

J'ai vu qu'on peut pas avoir plusieurs outputs avec filebeat.

Comment faire dans ce cas présent ?

Mon objectif est de profiter des dashboards haproxy et des mapping déjà présent dans le module.

Ci-dessous le contenu de mon fichier filebeat.yml :

#================================ Outputs =====================================
# Configure what output to use when sending the data collected by the beat.

#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["http://xxx.xxx.xx.xx:9200"]

#----------------------------- Logstash output --------------------------------
output.logstash:
  # The Logstash hosts
  hosts: ["xxx.xxx.xx.xx:5044"]

Merci d'avance.


(David Pilato) #2

Quelle version est-ce ?

A dire vrai je ne sais pas d'où vient ce message. Peut-être que @ruflin sait ?


#3

Ma version filebeat version 6.5.2.

J'ai lu ça ici :


(ruflin) #4

Est-il possible de "share" la configuration entière?

(sorry for my french)


#5

Salut,

voici le contenu de mon fichier filebeat.yml :

#=========================== Filebeat inputs =============================

filebeat.inputs:

- type: log
  # Change to true to enable this input configuration.
  enabled: true
  paths:
    - /var/lib/docker/volumes/logger_logs/_data/frontend_proxy.log
   fields:  {log_type: frontend_proxy}
  
- type: log
  paths:
    - /var/lib/docker/volumes/logger_logs/_data/transcity_rpe.log
  fields:  {log_type: transcity_rpe}
  ### Multiline options

  # The regexp Pattern that has to be matched. The example pattern matches all lines starting with [
  multiline.pattern: '^.+\]: 20[0-9]{2,2}-[0-9]{2,2}-[0-9]{2,2}T[0-9]{2,2}:[0-9]{2,2}:[0-9]{2,2}\.[0-9]{3,3}\+[0-9]{2,2}:[0-9]{2,2}'
  # Defines if the pattern set under pattern should be negated or not. Default is false.
  multiline.negate: true
  multiline.match: after
  
- type: log
  paths:
    - /var/lib/docker/volumes/logger_logs/_data/transcity_daq.log
  fields:  {log_type: transcity_daq}
  multiline.pattern: '^.+\]: 20[0-9]{2,2}-[0-9]{2,2}-[0-9]{2,2}T[0-9]{2,2}:[0-9]{2,2}:[0-9]{2,2}\.[0-9]{3,3}\+[0-9]{2,2}:[0-9]{2,2}'
  multiline.negate: true
  multiline.match: after
  
- type: log
  paths:
    - /var/lib/docker/volumes/logger_logs/_data/transcity_acm.log
  fields:  {log_type: transcity_acm}
  multiline.pattern: '^.+\]: 20[0-9]{2,2}-[0-9]{2,2}-[0-9]{2,2}T[0-9]{2,2}:[0-9]{2,2}:[0-9]{2,2}\.[0-9]{3,3}\+[0-9]{2,2}:[0-9]{2,2}'
  multiline.negate: true
  multiline.match: after

- type: log
  paths:
    - /var/lib/docker/volumes/logger_logs/_data/transcity_alm.log
  fields:  {log_type: transcity_alm}
  multiline.pattern: '^.+\]: 20[0-9]{2,2}-[0-9]{2,2}-[0-9]{2,2}T[0-9]{2,2}:[0-9]{2,2}:[0-9]{2,2}\.[0-9]{3,3}\+[0-9]{2,2}:[0-9]{2,2}'
  multiline.negate: true
  multiline.match: after

#============================= Filebeat modules ===============================

filebeat.config.modules:
  # Glob pattern for configuration loading
  path: ${path.config}/modules.d/*.yml

  # Set to true to enable config reloading
  reload.enabled: true

  # Period on which files under path should be checked for changes
  reload.period: 10s

#==================== Elasticsearch template setting ==========================
setup.template.settings:
  index.number_of_shards: 3
  #index.codec: best_compression
  #_source.enabled: false
#============================== Dashboards =====================================
setup.dashboards.enabled: true
#============================== Kibana =====================================
# Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API.
# This requires a Kibana endpoint configuration.
setup.kibana:
  host: "xxx.xxx.xx.xx:5601"
#================================ Outputs =====================================

#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["http://xxx.xxx.xx.xx:9200"]
#----------------------------- Logstash output --------------------------------
output.logstash:
  # The Logstash hosts
  hosts: ["xxx.xxx.xx.xx:5044"]
#================================ Procesors =====================================
# Configure processors to enhance or manipulate events generated by the beat.
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~
#================================ Logging =====================================
#============================== Xpack Monitoring ===============================
#xpack.monitoring.elasticsearch:
xpack.monitoring:
  enabled: true
  elasticsearch:
    hosts: ["http://xxx.xxx.xx.xx:9200"]