Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Següent revisió
Revisió prèvia
info:cursos:openwebinars:elk:beats:filebeats [03/12/2021 12:02] – creat mateinfo:cursos:openwebinars:elk:beats:filebeats [05/12/2021 02:30] (actual) – [instalación y configuración] mate
Línia 1: Línia 1:
 = ELK: Beats (filebeats) = ELK: Beats (filebeats)
 {{ :info:cursos:openwebinars:elk:beats:4.2_filebeats.pdf |}} {{ :info:cursos:openwebinars:elk:beats:4.2_filebeats.pdf |}}
 +
 +  * archivos en formato log
 +  * servicio ligero
 +  * robusto: filebeat lee y reenvía logs. Recuerda una interrupción y por donde se quedó.
 +  * módulos: (apache, system, mysql, ...) para facilitar la captura
 +  * no sobrecarga el sistema (back-pressure sensitive protocol):{{ :info:cursos:openwebinars:elk:beats:pasted:20211205-014114.png?600 }}
 +  * prospector: monitoriza ficheros, uno por cada uno, enviado a un spooler
 +
 +== instalación y configuración
 +  * <code bash>curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.4.2-amd64.deb
 +sudo dpkg -i filebeat-5.4.2-amd64.deb
 + service filebeat { start | status | stop}</code>
 +  * como metricbeats, puede enviar a logstatsh o elasticsearh directamente
 +  * **/etc/filebeat/filebeat.yml**:<code yaml>filebeat.prospectors:
 +- input_type: log
 +  paths:
 +    - /var/log/apache2/access.log*
 +    - /var/log/apache2/other_vhosts_access.log*
 +  exclude_files: [".gz$"]
 +output.logstash:
 +  hosts:["172.16.2.21:61000"]</code>
 +    * parámetros de autenticación para Elasticsearch
 +    * certificados para Logstash
 +  * <code yaml; /etc/filebeat/filebeat.conf>
 +input {
 +  beats {
 +    port=>"61000"
 +    tags => ["apache2"]
 +  }
 +}
 +
 +filter {
 +   grok {
 +      match => { "message" => ["%{IPORHOST:[apache2][access][remote_ip]} - %{DATA:[apache2][access][user_name]} \[%{HTTPDATE:[apache2][access][time]}\] \"%{WORD:[apache2][access][method]} %{DATA:[apache2][access][url]} HTTP/%{NUMBER:[apache2][access][http_version]}\" %{NUMBER:[apache2][access][response_code]} %{NUMBER:[apache2][access][body_sent][bytes]}( \"%{DATA:[apache2][access][referrer]}\")?( \"%{DATA:[apache2][access][agent]}\")?",
 +        "%{IPORHOST:[apache2][access][remote_ip]} - %{DATA:[apache2][access][user_name]} \\[%{HTTPDATE:[apache2][access][time]}\\] \"-\" %{NUMBER:[apache2][access][response_code]} -" ] }
 +      remove_field => "message"
 +   }
 +   mutate {
 +      add_field => { "read_timestamp" => "%{@timestamp}" }
 +   }
 +   date {
 +      match => [ "[apache2][access][time]", "dd/MMM/YYYY:H:m:s Z" ]
 +      remove_field => "[apache2][access][time]"
 +   }
 +   useragent {
 +      source => "[apache2][access][agent]"
 +      target => "[apache2][access][user_agent]"
 +      remove_field => "[apache2][access][agent]"
 +   }
 +   geoip {
 +      source => "[apache2][access][remote_ip]"
 +      target => "[apache2][access][geoip]"
 +   }
 +}
 +
 +
 +output {
 +  elasticsearch {
 +    host => ...
 +    manage_template => false
 +    index=>"%{[@metadata][beat]-%{YYYY.MM.dd}"
 +    document_type => "%{[@metadata][type]}"
 +}</code>
 +  * crear indice en kibana **filebeats-%%*%%**
 +
  • info/cursos/openwebinars/elk/beats/filebeats.1638561762.txt.gz
  • Darrera modificació: 03/12/2021 12:02
  • per mate