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ó

info:cursos:openwebinars:elk:logstash:process [02/12/2021 14:11] – creat mateinfo:cursos:openwebinars:elk:logstash:process [03/12/2021 11:56] (actual) mate
Línia 1: Línia 1:
 = ELK: Logstask(procesamiento) = ELK: Logstask(procesamiento)
 {{ :info:cursos:openwebinars:elk:logstash:3.2_procesamiento.pdf |}} {{ :info:cursos:openwebinars:elk:logstash:3.2_procesamiento.pdf |}}
 +
 +{{:info:cursos:openwebinars:elk:logstash:pasted:20211203-110504.png}}
 +  * <code json; /etc/logstash/conf.d/test1.conf>
 +input {
 +  file {
 +    path => "/home/openweb/Documents/dataset/test.json"
 +    start_position => "beginning"
 +    codec => "json"
 +}}
 +
 +output {
 +  stdout { codec => rubydebug }
 +}
 +</code>
 +
 +== input
 +  * JSON
 +  * [[https://www.elastic.co/guide/en/logstash/current/input-plugins.html]]
 +
 +  * lanzar logstash:''/usr/share/logstash/bin/logstash -f /etc/logstash/
 +conf.d/logstash.conf %%--%%path.settings=/etc/logstash''
 +  * pasarle información: ''echo '{ "name":"John", "surname":"Pitt","age":"30", "cars":[ "Ford", "BMW", "Fiat" ] }' >> "/home/opweb/Documents/dataset/test.json"''
 +
 +== filter
 +  * [[https://www.elastic.co/guide/en/logstash/current/filter-plugins.html]]
 +  * mutate:<code json>filter {
 +   mutate {
 +     remove_field => [ "@version" ]
 +     add_field => { "tipoUsuario" => "cliente" }
 +     gsub => ["surname", " - ", ""]
 +   }
 +}</code>
 +  * grok:<code json>filter{
 + grok {
 +   match => { "personalInformation" => [ "Information:%{WORD:Name} %{WORD:Surname} %{NUMBER:age} %{NUMBER:height}" ] }
 + }
 +}
 +</code>
 +    * ficheros sin formato "previo" o establecido.
 +  * CIDR&GEOIP:<code json>filter {
 + if [srcip] and [srcip] != "N/A" {
 +   cidr {
 +     add_tag => ["src_ip_priv"]
 +     address => ["%{srcip}"]
 +     network => ["172.16.0.0/12","10.0.0.0/8","192.168.0.0/16","169.254.0.0/16","0.0.0.0/32"]
 +   }
 +  if "src_ip_priv" not in [tags] {
 +    geoip {
 +      target => "src_geoip"
 +      source => "srcip"
 +      fields => ["city_name", "continent_code","country_code2", "country_code3", "country_name","ip", "latitude", "longitude","location"]
 +    }
 +  }
 + }
 +}
 +</code>
 +  * instalación plugin: ''/usr/share/logstash/bin/logstash-plugin install logstash-filter-cidr''
 +
 +== output
 +  * [[https://www.elastic.co/guide/en/logstash/current/output-plugins.html]]
 +
 +== codecs
 +  * otro filtro que puede operar como parte del input o output
 +  * transporte <-> formato
 +  * populares:
 +    * JSON
 +    * Multiline: junta varias líneas para recoger un único evento (como excepciones en Java)
 +    * otros: avro,collectd,nmap,fluent,plain,s3_plain
 +
 +== escalado
 +{{ :info:cursos:openwebinars:elk:logstash:pasted:20211203-114057.png?500 }}
 +  * procesado simple a cluster:{{ :info:cursos:openwebinars:elk:logstash:pasted:20211203-114135.png?500 }}
 +  * buffer:{{ :info:cursos:openwebinars:elk:logstash:pasted:20211203-114210.png?500 }}
 +  * Múltiples conexiones{{ :info:cursos:openwebinars:elk:logstash:pasted:20211203-114726.png?500 }}
 +  * HA: {{ :info:cursos:openwebinars:elk:logstash:pasted:20211203-114855.png?500 }}
 +  * multihilo:{{ :info:cursos:openwebinars:elk:logstash:pasted:20211203-115017.png?500 }}
 +    * podemos decidir los cores que dedicamos a cada parte del proceso
 +    * podemos dejarlo en auto y que se autogestione
 +    * supervisar para ver si se produce cuello de botella en alguno de los puntos
  • info/cursos/openwebinars/elk/logstash/process.1638483070.txt.gz
  • Darrera modificació: 02/12/2021 14:11
  • per mate