# Diferentes entradas y filtros de logstash

**URL:** <https://discuss.elastic.co/t/diferentes-entradas-y-filtros-de-logstash/101616>\
**Category:** Elastic en Español\
**Created:** [September 25, 2017, 12:34am UTC](https://discuss.elastic.co/t/diferentes-entradas-y-filtros-de-logstash/101616 "2017-09-25T00:34:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Erick\_Garcia\_Perez](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/erick_garcia_perez/32/22244_2.png) [@Erick\_Garcia\_Perez](https://discuss.elastic.co/u/Erick_Garcia_Perez)\
**Post date:** [September 25, 2017, 12:34am UTC](https://discuss.elastic.co/t/diferentes-entradas-y-filtros-de-logstash/101616/1 "2017-09-25T00:34:59Z")

</div>

Buenas tardes!  
Como puedo tener diferentes archivos de entrada con logstash y diferentes filtros.  
Yo lo tengo asi y queria saber si es correcto  
input {  
file{  
path =\> "/home/clusterelastic/cluster/nodo1/logstash-5.5.2/logsaleer/access"  
type =\> "apache\_access"  
#start\_position =\> "beginning"  
sincedb\_path =\> "/dev/null"  
}  
file{  
path =\> "/home/clusterelastic/cluster/nodo1/logstash-5.5.2/logsaleer/mysql\_error.log"  
type =\> "mysql"  
}  
file{  
path =\> "/home/clusterelastic/cluster/nodo1/logstash-5.5.2/logsaleer/catalina.out"  
type =\> "tomcat"  
codec =\> multiline {  
pattern =\> "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))"  
what =\> "previous"  
}  
}

```
 #file{
    #path => "/home/clusterelastic/cluster/nodo1/logstash-5.5.2/logsaleer/localhost_access_log.2017-08-21" 
   # type => "apache_access"
  
   
#}

```

}

filter {  
if [type] in ["apache" , "apache\_access" , "apache-access" ,"access"] {  
grok {  
match =\> ["message"," %{IP:clientip} - - [%{NOTSPACE:date} -%{INT}] "%{WORD:action} /%{WORD}/%{WORD}/%{NOTSPACE:login}  
%{WORD:protocol}/%{NUMBER:protocolNum}" %{NUMBER:status} %{NUMBER} "%{NOTSPACE}" "%{NOTSPACE:client} (%{WORD}; %{WORD:clientOs}%{GREEDYDATA}"]  
}  
}

}  
output {  
#elasticsearch {  
#hosts =\> ["localhost:9200"]  
#}  
csv{  
fields =\>["request"]  
path =\>"/home/clusterelastic/cluster/csv-salida.csv"

}  
stdout { codec =\> rubydebug }  
}

---

<div class="post-metadata">

**Author:** ![gmoskovicz](https://avatars.discourse-cdn.com/v4/letter/g/ecae2f/32.png) [@gmoskovicz](https://discuss.elastic.co/u/gmoskovicz)\
**Post date:** [September 25, 2017, 12:58pm UTC](https://discuss.elastic.co/t/diferentes-entradas-y-filtros-de-logstash/101616/2 "2017-09-25T12:58:32Z")

</div>

Hola Erick,

Esto pareceria estar correcto!!

La **unica** forma de hacer esto en un logstash unico es utilizando condicionales. Quiere decir que asignar o utilizar una propiedad de los inputs, para luego checkear con un **if** es la forma correcta de hacerlo.

Los condicionales funcionan en los filtros o salidas, pero no en las entradas ya que no tiene sentido. Antes de ejecutar la entrada aun no existe ningun evento. Y ademas, luego las entradas funcionan en paralelo no es secuencia, entonces es como todas entradas separadas aunque parece una cola de entradas. Los filtros y salidas si funcionan como una cola, en las que todas se van a ejecutar en forma secuencial.

Saludos!

--Gabriel

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 23, 2017, 12:58pm UTC](https://discuss.elastic.co/t/diferentes-entradas-y-filtros-de-logstash/101616/3 "2017-10-23T12:58:51Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
