Plataforma Logs

De Ardemans Wiki
Revisión a fecha de 08:30 2 may 2013; Pmblanco (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Instalacion de redis

Para la instalación de redis primero nos bajamos la versión estable más reciente desde http://redis.io/download. En nuestro caso nos hemos bajado la version redis-2.6.12, y lo hemos descargado a /usr/src/redis-2.6.12.tar.gz. En ese mismo directorio lo hemos desempaquetado.

La compilación la hemos realizado de la siguiente manera:

make PREFIX=/opt/redis-2.6.12
make install PREFIX=/opt/redis-2.6.12

Después he copiado el fichero de configuración redis.conf en /opt/redis-2.6.12/etc. Antes he creado ese directorio

Tambien he creado los directorios

/opt/redis-2.6.12/var /opt/redis-2.6.12/var/log /opt/redis-2.6.12/var/data /opt/redis-2.6.12/var/run

Tambien se crea un enlace simbólico

ln -s /etc/redis-2.6.12 /etc/redis

En el fichero de configuración hemos cambiado los datos referentes a donde se guardan los logs, y tambien el parametro "dir" que indica cual es el directorio de datos.

Añadimos el siguiente fichero de inicio de redis para centos al /etc/init.d/redisd

#!/bin/sh
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig:   - 85 15
# description:  Redis is a persistent key-value database
# processname: redis-server
# config:      /etc/redis/redis.conf
# config:      /etc/sysconfig/redis
# pidfile:     /var/run/redis.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

prefix="/opt/redis"

redis="$prefix/bin/redis-server"
prog=$(basename $redis)

REDIS_CONF_FILE="$prefix/etc/redis.conf"

[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis

lockfile=/var/lock/subsys/redis

start() {
    [ -x $redis ] || exit 5
    [ -f $REDIS_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $redis $REDIS_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    stop
    start
}

reload() {
    echo -n $"Reloading $prog: "
    killproc $redis -HUP
    RETVAL=$?
    echo
}

force_reload() {
    restart
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 2
esac

Después solo queda por darle permisos de ejecucion

chmod 755 /etc/init.d/redisd

y habilitar el script en el inicio del arranque

chkconfig redisd on


Instalación de java

Descargamos la version 7 de java en /usr/src y después desde /opt ejecutamos descompresión como:

tar zxvf /usr/src/jdk1.7.0_21.tar.gz

creamos el enlace simbolico /opt/java apuntando al directorio de descompresión y modificamos el /etc/bashrc para añadir el JAVA_HOME y añadir la ruta al PATH

export JAVA_HOME=/opt/java
export PATH=$PATH:$JAVA_HOME/bin

Instalacion de elasticsearch

Desde la página http://www.elasticsearch.org/ nos descargamos la última version estable. En el momento en el que escribo esta guia logstash recomienda usar la verion 0.20.5, pero puede que más adelante se puedan usar versiones superiores, asi que es lo primero que tenemos que revisar.

Descomprimimos el tar.gz desde /opt y creamos el enlace simbolico en /opt/elasticsearch.

Revisamos el numero de "open file descriptors" que tenemos en nuestra máquina, haciendo cat /proc/sys/fs/file-max. Elasticsaerch recomienda entre 32k y 64k.

Para configurar como servicio elasticsearch existe ya un conjunto de scripts que podemos descargar des github, en la dirección: https://github.com/elasticsearch/elasticsearch-servicewrapper/archive/master.zip. Después de descomprimirlo copiamos el directorio service que hay dentro de /opt/elasticsearch/bin

Para configurar el arranque creamos un enlace simbolico de /opt/elasticsearch/bin/service/elasticsearch en /etc/init.d. y añadimos al arranque automático con

chkconfig elasticsearch on


De entrada no hemos tocado nada de la configuración. Si mas adelante tenemos que crear unaconfiguracion en cluster tendremos que añadir algunos parámetros. Tambien habrá que cambiarlos si queremos que los datos de elasticsearch vayan a un disco especifico para este propósito.

También se puede revisar, para propositos de rendimiento, añadir el parámetro de bloqueo de uso de memoria, para garantizar que el proceso de elasticsearch no usa memoria swap, ya que eso hace que el rendimiento de la jvm caiga en picado


Instalacion de Kibana

Kibana corre con ruby, y para hacer funcionar kibana vamos a necesitar instalar varios paquetes:

yum install ruby ruby-devel rubygems gcc-c++

Despues, siguiend la instrucciones de instalación rápida de la página de kibana ejecutamos los siguientes pasos:

Primero descargamos el paquete de kibana desde http://kibana.org/intro.html en /usr/src. Hacemos el tar corresponidiente al fichero que nos descargamos y lo llevamos a /opt/kibana-0.2.0 (en mi caso). Creamos el típico enlace simbólico en /opt/kibana a este directorio

Dentro del directorio /opt/kibana editamos el fichero KibanaConfig.rb para ver la dirección de nuestro elasticsearch. En nuestro caso, como kibana y elasticsearch están en el mismo servidor no ten3emos que hacer ningun cambio, ya que por fecto viene localhost:9200. Tambien cambiamos el KibanaHost, que por defecto hace que abra el puerto solo escuchando por la ip de lo. Lo cambaimos a 0.0.0.0

Lo siguiente es instalar la gema bundler

gem install bundler

y lanzar la instalacion de bundler

bundler install

Esta parte no la controlo muy bien, pero son los pasos que se dan en la página de kibana.

Una vez hecho esto, para arrancar la interface de kibana solo hay que ejecutar

ruby kibana.rb