Creando agentes para envio de bitácoras

Para completar la publicación anterior, es necesario instalar un agente que sea responsable de enviar el contenido de las bitácoras a nuestro repositorio central. Para ello utilizaremos los mismos pasos para la instalación de logstash, con cambios en la configuración.

Instalación de logstash

electrocucaracha@precise64:~# add-apt-repository ppa:webupd8team/java
electrocucaracha@precise64:~# apt-get update
electrocucaracha@precise64:~# apt-get install oracle-java7-installer
electrocucaracha@precise64:~# cd /opt/
electrocucaracha@precise64:~# wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.0.tar.gz
electrocucaracha@precise64:~# tar -xvf logstash-1.4.0.tar.gz
electrocucaracha@precise64:~# cat < /etc/logstash-shipper-redis.conf
>input {
>  file {
>    type => "nova"
>    start_position => "beginning"
>    path => [
>             "/var/log/nova/nova.log",
>             "/var/log/nova/nova-api.log",
>             "/var/log/nova/nova-manage.log",
>             "/var/log/nova/nova-compute.log"
>    ]
>  }
>}
>filter {
>  if [type] == "nova" {
>    grok {
>      match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{AUDITLOGLEVEL:level} %{PROG:program} %{GREEDYDATA:message}" }
>    }
>    multiline {
>      pattern => "^(([0-9]+-(?:0?[1-9]|1[0-2])-(?:3[01]|[1-2]?[0-9]|0?[1-9]))|((?:0?[1-9]|1[0-2])/(?:3[01]|[1-2]?[0-9]|0?[1-9]))).*$"
>      negate => true
>      what => "previous"
>    }
>  }
>}
>output {
>  redis {
>    host => [ "mi_servidor_redis.com" ]
>    data_type => 'list'
>    key => 'logstash'
>    batch => true
>  }
>}
EOL
electrocucaracha@precise64:~# bin/logstash -f /etc/logstash-indexer-redis.conf

Solo hace falta configurar el agente para que inicie como servicio. Para ello utilizare Ubuntu upstart.

Instalación de logstash

electrocucaracha@precise64:~# cat </etc/init/logshipper.conf
>description     "logstash shipper agent"
>
>start on (net-device-up
>          and local-filesystems
>          and runlevel [2345])
>
>stop on runlevel [016]
>
>respawn
>respawn limit 10 30
>
># NB: Upstart scripts do not respect
># /etc/security/limits.conf, so the open-file limits
># settings need to be applied here.
>limit nofile 32000 32000
>
>console log
>
>script
>  exec sudo /opt/logstash-1.4.0/bin/logstash agent -f /etc/logstash-shipper-redis.conf
>end script
EOL