Instalacion de Graylog2 desde Appliance

Graylog2 permite centralizar logs de diversos dispositivos y es muy útil cuando se necesita encontrar la solución a problemas presentados en todo tipo de Infraestructura informática.

En esta entrada describiré los distintos pasos para realizar la instalación de Graylog2 usando el Appliance de máquina virtual disponible en su sitio web. Existen otras alternativas de instalación de Graylog2 pero esta es la más cómoda para iniciar el montaje de un concentrador de logs.

En concreto, se usará como virtualizador Hyper-V de Microsoft, pero el tutorial sirve para otras plataformas de virtualización.

Paso 1. Descargar archivos

Descargar Virtual Appliance en formato OVA https://packages.graylog2.org/appliances/ova
https://packages.graylog2.org/releases/graylog-omnibus/ova/graylog-2.2.2-1.ova
Descargar VirtualBox (solo para convertir archivo a vhdx, único soportado por Hyper-V) https://www.virtualbox.org/ e instalar VirtualBox.

(Descargar VirtualBox solo es necesario si se quiere convertir la imagen de la maquina virtual a otro formato como vhd/vhdx que son los únicos soportados por Hyper-V, si se usará otro ambiente virtualizador como VirtualBox, KVM, VMware se debe importar de forma normal el archivo .ova que creará la máquina virtual automáticamente e ir directo al Paso 4)

Paso 2. Convertir a VHDX

Renombrar la imagen graylog-2.2.2-1.ova a extensión .tar quedando graylog-2.2.2-1.tar
Abrir el archivo graylog.2.2.2-1.tar y descomprimir el archivo graylog-disk1.vmdk

Dentro del archivo graylog.2.2.2-1.tar se encuentran 3 archivos distintos, el archivo graylog-disk1.vmdk es el disco duro del appliance de máquina virtual y es el archivo más importante.
El archivo graylog.ovf es un archivo con la descripción de del appliance de máquina virtual, revisando este archivo se encuentra la definición de una tarjeta de red vmxnet3, 2 CPU virtuales, 4 GB de RAM y una unidad de almacenamiento (graylog-disk1.vmdk) de máximo 20 GB.
El último archivo es graylog.mf es un archivo con información del disco con el has en SHA1, solo usado para comprobar la integridad del archivo.

Ejecutar el comando de VirtualBox, VBoxManage convirtiendo el archivo a .vhd. Ahora requerimos convertir el archivo .vhd a .vhdx

 VBoxManage clonehd -format vhd graylog-disk1.vmdk graylog-disk1.vhd
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
 Clone medium created in format 'vhd'. UUID: 6c3f2e96-6ab2-4b30-aef9-91585acc3d75

Con esto se obtendrá el archivo .vhd, luego se requiere convertir a formato .vhdx (es el formato usado por las versiones recientes de Hyper-V).

Se requiere abrir el programa Hyper-V Manager en el servidor de Hyper-V o el cliente con la consola de Hyper-V instalada, luego ir a la sección Action → Edit Disk…

Luego continuar con el asistente y seleccionar el archivo graylog-disk1.vhd y continuar con el asistente con el botón Next >

En la siguiente pantalla se debe seleccionar la opción Convert

En las opciones de conversión, seleccionar VHDX

En el tipo de tamaño se puede seleccionar cualquier opción, en este caso se usa la opción Dynamically expanding para hacer mejor uso del almacenamiento disponible.

En la ventana de destino, se debe indicar la ruta y el nombre del archivo convertido (graylog-disk1.vhdx) y continuar con la opción Next >

Una vez se llega a la pantalla de resumen, verificar las opciones y empezar la conversión con el botón Finish

Una vez finalizado se obtendrá el archivo graylog-disk1.vhdx que se usará para crear la máquina virtual.

Paso 3. Creación de máquina virtual

Según la descripción del archivo, los requerimientos mínimos para el Appliance de Graylog2 es de 4 GB de RAM y 2 CPU. Para esto se creará la máquina con estas características o más dependiendo de la cantidad de logs que se configuraran como destino al servidor de logs.
Para tener en cuenta, en el asistente de creación de máquina virtual, en la sección de almacenamiento, se debe mover el archivo graylog-disk1.vhdx previamente al destino final de la máquina virtual y seleccionar este archivo como un disco existente para la creación de la máquina virtual.

Paso 4. Finalización de configuración de máquina virtual

El Appliance usado por Graylog2 usa como distribución de Linux la versión de Ubuntu 14.04.5. Una vez iniciada la máquina virtual el servicio iniciará de forma automática y se podrá ingresar a través de la dirección http://ip_de_servidor/

Teniendo en cuenta esto, realizaremos unos cambios y configuraciones si son necesarios.
Para empezar, el usuario por defecto para ingresar es ubuntu y la contraseña también es ubuntu.

4.1. Error de red
Si en la red en la que se creó la máquina virtual no esta configurado un servicio DHCP, al iniciar la máquina virtual se tendrá obtendrá el error

Your appliance came up without a configurated IP Address. Graylog is probably not running correctly!.

Para solucionar esto se debe definir una IP fija en el servidor editando el archivo /etc/network/interfaces con los datos de la red en la que se encuentra el servidor.

 sudo nano /etc/network/interfaces
 auto eth0
 iface eth0 inet static
 address 10.0.3.100
 netmask 255.255.255.0
 gateway 10.0.3.1

Tambien se requiere editar el archivo /etc/resolvconf/resolv.conf.d/base con la información de los servidores de DNS deseados.

 sudo nano /etc/resolvconf/resolv.conf.d/base
 nameserver 10.80.3.1
 nameserver 8.8.8.8

Con la configuración de red correcta, es necesario reactivar la tarjeta de red y hacer uso del comando graylog-ctl (solo disponible en el formato Appliance de Graylog) para que la instalación de Graylog2 reconozca los cambios de red y el servicio inicie de forma correcta.

 sudo ifup eth0
 sudo graylog-ctl reconfigure

4.2. Ingresar de forma remota a la máquina virtual por SSH

Por defecto, el appliance cuenta con el servicio SSH instalado y activo por defecto, para iniciar sesión se debe usar un cliente SSH (putty sobre Windows, ssh sobre Linux)

 ssh 10.0.3.100 -l ubuntu

4.3. Cambiar la contraseña del usuario por defecto en Linux

Si el Appliance se va a usar para un ambiente de producción, se recomienda realizar el cambio de contraseña con el comando:

 ubuntu@graylog:~$ sudo passwd ubuntu
 Enter new UNIX password:
 Retype new UNIX password:
 passwd: password updated successfully

4.4. Cambiar la contraseña del usuario admin por defecto de Graylog2

Si el Appliance se va a usar para un ambiente de producción, se recomienda realizar el cambio de contraseña del usuario admin de la consola web de Graylog con los comandos:

 sudo graylog-ctl set-admin-password <password> sudo graylog-ctl reconfigure

4.5. Configurar servicio de correo electrónico

Para el envio de correos desde Graylog2 para alertas u otros objetivos se requiere definir el servidor smtp usando los comandos:

 sudo graylog-ctl set-email-config <smtp server> [--port=<smtp port> --user=<username> --password=<password> --from-email=<sender-address>]
 sudo graylog-ctl reconfigure

4.6. Definir zona horaria

Es muy recomendable configurar la zona horaria que corresponda a nuestro ambiente para no confundirnos al momento de analizar nuestros logs. Para realizar esto se deben usar los siguientes comandos:

 sudo graylog-ctl set-timezone <zone acronym>
 sudo graylog-ctl reconfigure

El campo <zone acronym> se usa una zona horaria según el formato Joda-Time http://www.joda.org/joda-time/timezones.html

4.7. Habilitar acceso SSL/TLS

Por seguridad al momento de acceder a la interfaz web, se puede configurar el acceso seguro usando SSL/TLS con los comandos

 sudo graylog-ctl enforce-ssl
 sudo graylog-ctl reconfigure

Una vez ejecutados estos comandos, se podrá iniciar sesión a la consola web desde: https://ip_de_servidor

4.8. Actualizar el Sistema Operativo

Existen comandos para actualizar Graylog2, pero esto no actualiza los paquetes nativos de Ubuntu. Para realizar actualización del Sistema Operativo se puede usar el siguiente comando:

 sudo apt update && sudo apt upgrade

4.9. Cambio de nombre de servidor

Por defecto el servidor tiene el nombre graylog, para poder renombrarlo se debe hacer uso del comando:

 sudo hostnamectl set-hostname nombre_servidor

Y luego editar tambien el archivo /etc/hosts

 sudo nano /etc/hosts

Paso 5. Ingreso a interfaz de Graylog2

Para iniciar sesión en la interfaz de Administración de Graylog2 se debe ingresar desde un navegador soportado (Firefox 45+, Chrome 50+, IE 11, Edge 25+, Safari 9+) usando la IP definida por DHCP o de manera estática:
http://ip_de_servidor

Si se habilitó el acceso por SSL/TLS se debe usar la dirección https://ip_de_servidor . Al hacerlo se presentará una advertencia del certificado dado que se encuentra firmado por el mismo servidor. En Firefox se puede agregar una excepción permanente para continuar.


Fuentes:

https://developerschallenges.com/2016/06/01/how-to-run-graylog-on-ubuntu-server-in-hyper-v/
http://docs.graylog.org/en/2.2/pages/installation/virtual_machine_appliances.html
http://docs.graylog.org/en/2.2/pages/configuration/graylog_ctl.html
http://blog.worldofjani.com/?p=991
https://sometechthings.wordpress.com/2015/08/31/graylog-vm-setup-start-to-finish/
https://askubuntu.com/questions/87665/how-do-i-change-the-hostname-without-a-restart
https://askubuntu.com/questions/143819/how-do-i-configure-my-static-dns-in-interfaces

Diodon, an Indicator Applet to manage the clipboard on Ubuntu

The clipboard management is something really important for me at the time of using an Operative System. Diodon is an excellent clipboard manager that is integrated with Ubuntu and its Unity interface.

DiodonIndicator-enTo install it we just need to use the PPA available from their Launchpad site (since the next Ubuntu version, 13.04 Raring Ringtail, Diodon will be available from the official repositories), we can make it on a console:

sudo add-apt-repository ppa:diodon-team/stable
sudo apt-get update
sudo apt-get install diodon

Once installed we can run it from the Dash looking for their name, diodon.
A little icon will show up with a clip shape on the Indicators bar (or a blowfish if you aren’t using the default Ubuntu icons). When you press this little icon you will get a list with the last words or files copied or marked, and option to clean this list, go to the preferences or to close Diodon.

On the preferences windows we can define keyboard shortcuts, the number of entries to keep, enable some addon and more.

DiodonOpciones-enI hope that this little tool can help you in your daily use of Ubuntu.

Diodon, un Indicator Applet para gestión de portapapeles en Ubuntu

La gestión de portapapeles es algo para mi muy importante a la hora de usar un Sistema Operativo. Diodon es un excelente gestor de portapapeles que se integra muy bien con Ubuntu y su interfaz Unity.

DiodonIndicator-es

Para instalarlo solo debemos hacer uso del PPA disponible en el sitio de Launchpad (a partir de Ubuntu 13.04 Raring Ringtail, Diodon estará disponible en los repositorios oficiales), desde una consola podemos hacerlo de esta manera:

sudo add-apt-repository ppa:diodon-team/stable
sudo apt-get update
sudo apt-get install diodon

Una vez instalado podemos ejecutarlo desde el Dash y buscándolo con el nombre de diodon.
Aparecerá un ícono pequeño en forma de clip en la barra de Indicators (o de un pez globo si no se están usando los iconos predeterminados de Ubuntu). Al hacer clic sobre este ícono obtendremos un listado de las últimas palabras o archivos que hemos copiado o seleccionado, la opcion de limpiar el listado, entrar a las configuraciones o cerrar Diodon.

En las preferencias podremos definir atajos de teclado, el número de registros que queremos mantener, activar algún complemento entre otras opciones.

DiodonOpciones-esEspero les sea muy útil esta pequeña herramienta cuando esten usando Ubuntu.

Instalacion de Zenoss 3.2.1 en Ubuntu 12.04

Zenoss es una herramienta de monitoreo de estados y rendimiento de equipos bastante completa, su instalación se puede realizar en Ubuntu usando un paquete .deb o instalando desde el código fuente.

El problema del paquete .deb es que este incluye el motor de base de datos MySQL, por lo que si queremos hacer una instalacion en un equipo que posteriormente o que actualmente maneja bases de datos MySQL tendremos problemas por el uso del puerto y por la version de MySQL, dado que estaremos atados a la version incluida por Zenoss. Por lo cual es recomendable realizar una instalación usando los archivos fuentes. Continuar leyendo “Instalacion de Zenoss 3.2.1 en Ubuntu 12.04”

Instalacion de Icinga 1.7.1 en Ubuntu 12.04

Icinga es una herramienta de monitoreo que inicio como un fork de Nagios. Por lo cual es compatible con los plugins de este último.

La instalación de Icinga se puede realizar usando los paquetes que se encuentran de forma nativa en Ubuntu 12.04 con el comando

sudo apt-get install icinga nagios-plugins

Lastimosamente esta instalación aunque funcional, no nos provee la nueva interfaz web de administración de Icinga.

Por esta razón es necesario realizar una instalación por código fuente, este tutorial realiza los pasos de instalación de Icinga 1.7.1 en Ubuntu 12.04, probablemente funcione en versiones similares, pero se deberá tener en cuenta actualizar los vínculos de descarga y nombre de ubicación de los archivos. Continuar leyendo “Instalacion de Icinga 1.7.1 en Ubuntu 12.04”

Consejos para migración a Software Libre en una empresa

Leyendo un correo que me enviaron preguntándome si podía colaborar con una migración de una empresa a Software Libre…. les comente que en realidad no podría ayudarles por cuestiones de tiempo todo lo que pudiera…. pero al responderle con una serie de consejos me anime y pues salio larga la respuesta, así que que mejor que compartirla!

1. Paciencia, y sin afanes. Cambiar el sistema operativo de un equipo es muy sencillo y rápido, pero cambiar la mentalidad y la forma de trabajar de las personas requiere cuidado y paciencia.

Continuar leyendo “Consejos para migración a Software Libre en una empresa”

Reclamando espacio reservado en particiones Ext en Linux

El otro día se me presento un problema simple en muchos ambientes informáticos… Falta de espacio en discos (en este caso de servidores). Grave problema, sin embargo no es que se necesitara mucho…

Para verificar el espacio en disco en un equipo con Linux basta con usar el siguiente comando en la terminal:

df -h

Este comando sirve para mostrar cuanto espacio hay disponible en las diferentes particiones que se encuentran montadas.

Ejemplo de comando en mi equipo

Al revisar estos datos me di cuenta de que algo no cuadraba. En el porcentaje de disco usado aparecía 100% !! Pero el servidor aun seguía funcionando con normalidad, salvo algunos servicios, los principales se encontraban en buen estado, por lo que me dio curiosidad, sera que existía alguna partición temporal o algo similar que permitiera esto? Pues bien buscando un poco encontré la razón (http://backdrift.org/freeing-disk-space-in-linux). Al parecer en las particiones de disco ext (ext1, ext2, ext3, ext4) se reserva un porcentaje de disco para el usuario root, este porcentaje es de 5% y no es visible a simple vista, ni siquiera quitando la opción -h a el comando df (esto muestra el espacio disponible en bytes, y no en Gigabytes, Megabytes o nomenclatura sencilla para el “humano”).

Esta funcionalidad de reservar espacio es bastante útil en muchos casos, debido a que si el servidor se encontraba quedándose sin espacio los servicios primordiales (como ssh, u otros) para conectarse y poder solucionar el inconveniente aun seguirán arriba y funcionando, dado que se ejecutan como usuario root. Sin embargo actualmente tenemos capacidades inmensas de almacenamiento y los procesos que comentaba no requieren tampoco Gigabytes de espacio para funcionar, por lo que 5% de espacio en discos de 10 GB puede que no sea mucho, pero en unidades de 2 Teras o mas, puede ser una cantidad bastante grande y que esta siendo desaprovechada en nuestros sistemas. Por lo cual como en Linux (y en casi todo el software libre) todo lo podemos modificar, podemos elegir el porcentaje mas adecuado para nuestros sistemas.

En la captura anterior se puede ver que / esta montado en el dispositivo /dev/sda2, y que este tiene 8.1 Gigabytes libres, ejecutando solo df obtenemos los siguientes datos:

darkhole@devolo:~$ df
S.ficheros     1K-bloques     Usado Disponible Uso% Montado en
/dev/sda2        14947420   5799384    8398060  41% /
udev              1999596         4    1999592   1% /dev
tmpfs              802748       972     801776   1% /run
none                 5120         0       5120   0% /run/lock
none              2006860       188    2006672   1% /run/shm
/dev/sda5       225038232 219050860    3734296  99% /home
/dev/sda3        62914556  53979008    8935548  86% /windows
darkhole@devolo:~$

Lo que nos nos muestra 8398060 bytes disponibles. Para ver que cantidad de bytes tenemos reservada al usuario root podemos usar el comando tune2fs de la siguiente manera:

darkhole@devolo:~$ sudo tune2fs -l /dev/sda2
[sudo] password for darkhole:
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name:   &lt;none&gt;
Last mounted on:          /
Filesystem UUID:          15538882-88ce-4446-9f9e-14e132155dcc
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              938400
Block count:              3749888
Reserved block count:     187494
Free blocks:              2287126
Free inodes:              670455
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      915
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8160
Inode blocks per group:   510
RAID stride:              1
RAID stripe width:        1
Flex block group size:    16
Filesystem created:       Sun Oct  2 08:09:59 2011
Last mount time:          Sun Mar 25 19:28:07 2012
Last write time:          Sun Mar 25 23:06:16 2012
Mount count:              17
Maximum mount count:      20
Last checked:             Sat Mar 17 11:15:19 2012
Check interval:           15552000 (6 months)
Next check after:         Thu Sep 13 11:15:19 2012
Lifetime writes:          181 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
First orphan inode:       509
Default directory hash:   half_md4
Directory Hash Seed:      c746e6e0-cc7d-481c-9e0f-fd024886127e
Journal backup:           inode blocks
darkhole@devolo:~$

Aquí podemos ver que tenemos reservados (Reserved block count) 187494 bytes para el usuario root (lo que hace un promedio de 5 %, el valor predeterminado). Aunque esta partición no sea muy grande, mi equipo no es un servidor y no tiene servicios críticos, por lo cual no deseo que ese 5% este reservado para root, por lo cual puedo cambiarlo con el comando tune2fs y definir un porcentaje deseado, en este caso 1%:

darkhole@devolo:~$ sudo tune2fs -m 1 /dev/sda2
tune2fs 1.42 (29-Nov-2011)
Setting reserved blocks percentage to 1% (37498 blocks)
darkhole@devolo:~$

Con esto ya tenemos mas espacio que podemos corroborar usando de nuevo el comando df:

darkhole@devolo:~$ df -h
S.ficheros     Tamaño Usado  Disp Uso% Montado en
/dev/sda2         15G  5,6G  8,6G  40% /
udev             2,0G  4,0K  2,0G   1% /dev
tmpfs            784M  972K  783M   1% /run
none             5,0M     0  5,0M   0% /run/lock
none             2,0G  188K  2,0G   1% /run/shm
/dev/sda5        215G  209G  3,6G  99% /home
/dev/sda3         60G   52G  8,6G  86% /windows
darkhole@devolo:~$

Puede que no sea mucho el tamaño que logramos, pero en unidades de Teras de almacenamiento pueden ser Gigabytes valiosos los que no estamos usando, o en mi caso mi partición /home también es bastante grande como para poder obtener ese 4% que me es muy útil (aunque se nota ya estoy corto de espacio!).