Konfigurere logstash på Centos 6
1: Vi begynner med å lage foldere for konfigurasjonsfiler og loggfiler.
{code class="brush:bash"}
# mkdir /etc/logstash
# mkdir /var/log/logstash
... mer kommer
2: Vi laster så ned init script til logstash. Dette slik at vi kan starte / stoppe og sjekke status på en enklere måte.
{code class="brush:bash"}
# wget http://cookbook.logstash.net/recipes/using-init/logstash.sh
# mv logstash /etc/init.d/logstash
# chmod +x /etc/init.d/logstash
Jeg legger til noen få endringer i denne.
{code class="brush:bash"}
LOGFILE=/var/log/logstash/logstash.log
JARNAME=logstash-1.1.9-monolithic.jar
FILE=/etc/logstash/hostname.conf
ARGS="-jar ${JARNAME} agent -v -f ${FILE} --log ${LOGFILE}"
3: Vi lager så fil input / output conf filen vi skal bruke
{code class="brush:bash"}
# vi /etc/logstash/hostname.conf
Vi legger inn et syslog input og elasticseach som output (+ debug).
{code class="brush:bash"}
input {
syslog {
type => syslog
port => 5514
}
}
output {
stdout {
debug => true
debug_format => "json"
}
elasticsearch {
host => "127.0.0.1"
}
}
4: Vi må konfigurere elasticsearch
{code class="brush:bash"}
# vi /opt/elasticsearch/config/elasticsearch.yml
Vi begynner med å skru på kompresjon på tcp-kommunikasjonen.
{code class="brush:bash"}
# Enable compression for all communication between nodes (disabled by default):
transport.tcp.compress: true
5: Vi må laste ned og installere Kibana
{code class="brush:bash"}
# git clone git://github.com/rashidkpc/Kibana.git
# gem install bundler
# bundle install
# vi KibanaConfig.rb
Sett Elasticsearch = "localhost:9200"
{code class="brush:bash"}
# ruby kibana.rb
6: Konfigurer rsyslog på hosten som skal sende logger inn til logstash
{code class="brush:bash"}
# vi /etc/rsyslog.conf
Legg til følgende nederst i filen. Om du har en mappe "rsyslog.d" kan du lage en ny fil "logstash.conf" istedetfor.
{code class="brush:bash"}
#Forward to logstash
*.* @@logstash_host.no:5514
Restart rsyslog
{code class="brush:bash"}
# /etc/init.d/rsyslog restart
7: Husk å åpne portene som trengs.
kibana - 5601
elasticseach - 9200
syslog - 5514
8: Starte alle tjenester som skal kjøre på logstashserveren
{code class="brush:bash"}
# /etc/init.d/logstash start
# /opt/elasticsearch/bin/./elasticsearch
# ruby /opt/kibana/kibana-daemon.rb start
9: Oppsummering
Vi har nå et oppsett som faktisk kan brukes for å shippe logger rundt omkring. Vi har fått testet en reell input (syslog) og en reell output (elasticsearch). Vi kan bruke andre verktøy en Kibane for å visulisere datene vi har i elasticsearch, og dette kommer jeg sikkert til å prøve etterhvert.