jueves, 21 de enero de 2016

Cómo ver los archivos de registro de Linux en tiempo real

Todas las distribuciones de Linux utilizan archivos de registro para registrar los eventos del sistema, incluyendo conectar dispositivos, sesiones nuevas y otros mensajes. La mayoría de las distribuciones guardan estos archivos en el directorio /var/log. Los comandos less y tail son útiles para leer estos archivos en tiempo real. Como los archivos están protegidos, hace falta iniciar una sesión como usario "root" o usar "sudo" para leerlos.

El comando tail
Use el comando tail -f para ver las últimas líneas de un archivo y las actualizaciones del mismo. Por ejemplo, el comando tail -f /var/log/auth.log muestra eventos de autenticación como sesiones nuevas y el uso de "sudo" en el sistema. Si un usuario inicia una nueva sesión, verá la actualización del archivo con la nueva información usando este comando. Finalice el comando tail pulsando las teclas Ctrl y C simultáneamente.

El comando less
El comando less +F es casi igual a usar tail -f, pero proporciona acceso al archivo entero en vez de las últimas líneas y también muestra cualquier actualización en tiempo real. Finalice el comando pulsando las teclas Ctrl y C simultáneamente, seguido por la tecla Q.

Archivos comunes
Los archivos de registro varían por distribución. No obstante, la mayoría de las distribuciones tienen al mínimo los siguientes archivos:

auth.log: Información sobre eventos de autenticación de usuarios.
boot.log: Muestra eventos y servicios empezados cuando se inicia el sistema.
crond.log: Tareas de cron
daemon.log: Alertas de servicios como ntfs-3g o dhcpd.
dmesg.log: Mensajes del kernel
errors.log: Errores del sistema
everything.log: Mensajes misceláneos no cubiertos por los otros archivos.
httpd.log: Mensajes y errores de Apache.
mail.log: Mensajes del servidor de correo electrónico.
messages.log: Alertas generales del sistema.
mysqld.log: Archivo de MySQL.
secure: Registro de seguridad.
syslog.log: Registro del sistema de registro.
Xorg.0.log: Registro del sistema X, primera pantalla (1, para el segundo, etc.).

miércoles, 20 de enero de 2016

Crear Virtual Host en Nginx


Vamos a crear el archivo de host virtual para domain1:

Entra como root en un terminal y coloca la siguiente linea

# nano /etc/nginx/sites-available/domain1.com

Recuerde que debe ajustar la ruta de acuerdo a su instalación. Así que la instalación de la fuente requeriría:

# sudo nano /usr/local/nginx/sites-available/domain1.com

 Los contenidos se ven así:


server {

            listen   80;
            server_name  www.domain1.com;
            rewrite ^/(.*) http://domain1.com/$1 permanent;

           }


server {

            listen   80;
            server_name domain1.com;

            access_log /home/demo/public_html/domain1.com/log/access.log;
            error_log /home/demo/public_html/domain1.com/log/error.log;

            location / {

                        root   /home/demo/public_html/domain1.com/public/;
                        index  index.html;

                        }

            }


Nota: Este ejemplo host virtual es bastante básico. Sin embargo, el siguiente artículo sobre hosts virtuales Nginx incluirá detalles de muchas más opciones de configuración que están disponibles.

El primer módulo de servidor en el archivo es una regla de reescritura simple que vuelve a dirigir a los visitantes a domain1.com de www.domain1.com.

Puede, por supuesto, tener presente a la inversa, si lo prefiere.

El segundo módulo de servidor tiene información muy básica incluyendo el 'server' que es el nombre de dominio que desea servir.

A continuación se definen las ubicaciones de registro para facilitar el análisis y, finalmente, establece la raíz del servidor y el archivo de índice.

Como se ha dicho, se trata de una configuración muy básica en esta etapa. 

sites-enabled

El último paso de configuración es 'permitir' nuestro sitio.
Esto se hace con un enlace simbólico en el directorio 'sites-enabled' de la siguiente manera:

ln -s /etc/nginx/sites-available/domain1.com /etc/nginx/sites-enabled/domain1.com

Una vez más, dependiendo de cómo se instaló Nginx, es posible que tenga que ajustar los caminos:

ln -s /usr/local/nginx/sites-available/domain1.com /usr/local/nginx/sites-enabled/domain1.com

Reiniciar Nginx

Aunque hay una opción de reinicio para el guión de inicio Nginx, no siempre funciona como se espera y no puede facilitar los cambios que ha realizado.

Como tal, le recomiendo un enfoque de parada y arranque en lugar de un simple reinicio:

sudo /etc/init.d/nginx stop ...

sudo /etc/init.d/nginx start

 

jueves, 14 de enero de 2016

Errores y Soluciones en XEN

Error 1:
Error generado al crear una mv llamada constructor:
Creating swap on /dev/vg0/constructor-swap
Done

Creating ext4 filesystem on /dev/vg0/constructor-disk
Done
Installation method: debootstrap
Running command 'xt-install-image --hostname=constructor --location=/tmp/6vnnMmd7_H --dist= --install-method=debootstrap --mirror= --cache=yes --cachedir=/var/cache/apt/archives/ --arch=amd64 2>&1' failed with exit code 256.
Aborting
See /var/log/xen-tools/constructor.log for details
/tmp/6vnnMmd7_H/etc/ssh/ssh_host_rsa_key.pub: No such file or directory
Running command 'umount /tmp/6vnnMmd7_H/proc 2>&1' failed with exit code 8192.
Aborting
See /var/log/xen-tools/constructor.log for details


Solución 1:
Los repositorios no son los de debian debes ingresar a /etc/apt/sources.list y colocar los repositorios oficiales de debian, una vez colocados los repositorios de debian, se debe actualizar el equipo y por ultimo colocar el comando y crear nuevamente la mv

Error 2:
Error generado al levantar la maquina creada con el siguiente comando /etc/xen/constructor.cfg -c
libxl: error: libxl.c:4106:libxl_set_memory_target: new target 0 for dom0 is below the minimum threshold 

failed to free memory for the domain

Solución 2:
La memoria del dom0 se encuentra full ya que hay suficientes maquinas virtuales encendidas y están consumiendo el 100% de la memoria, para poder levantar esta maquina virtual se deben apagar unas de las maquinas virtuales que están encendidas o no estén utilizando

Error 3:
Al iniciar un DOM0 las mv no inician automáticamente

Solución 3:  Si desea que una maquina virtual en especifico sea iniciada automáticamente al inicio del sistema cree un enlace simbólico del archivo de configuración de la Dom0 al directorio /etc/xen/auto, por ejemplo, si desea iniciar automáticamente la maquina de nombre LDAP use:

# ln -s /etc/xen/ldap.cfg /etc/xen/auto

Nota:
Si desea arrancar las maquinas virtuales en un orden en especifico, se recomienda que agregue un sufijo númerico al nombre del enlace simbólico en /etc/xen/auto, por ejemplo: 00fwproxy, 01ns1, 02ldap1, etc.

Error 4:
Al iniciar el DOM0 no inicia el iptables, debido a eso las maquinas que se levanten no navegaran.

Solución 4: Al archivo cortafugefo.sh / iptables.sh se le debe colocar el numero 1 en el archivo --> /proc/sys/net/ipv4/ip_forward luego en el archivo /etc/rc.local se debe colocar al final la ruta donde esta el cortafuego.sh / iptables.sh



Error 5:
Problemas de memoria ram ¿Como asignarle mas memoria al DOM0?

Solución 5: 
Por omisión en un sistema Xen la mayoría de la memoria de los host es asignada al dom0 en el incio y el tamaño de la memoria es dinámicamente modificada (opción "ballooned") de manera automática con el fin de acomodar nuevos invitados (guest) que pueden iniciar en un futuro. 

Como sea en un sistema el cual es dedicado a ejecutar invitados Xen es mejor darle una cantidad estática de RAM y deshabilitar la opción dinámica (ballooning). 

El siguiente ejemplo asigna 1024MB de RAM como reservado al dom0
Para este fin debemos agregar primero la opción dom0_mem en la linea de comando del hipervisor. Esto se hace editando /etc/default/grub y agregando:
# Parámetro para todos los inicios Xen
GRUB_CMDLINE_XEN="dom0_men=1024"

Nota:
Recuerde aplicar el cambio de la configuración de Grub ejecutando update-grub
 
OPCIONAL:
Entonces edita /etc/xen/xend-config.sxp para configurar el conjunto de herramientas que corresponden para cambiar la siguiente configuración:
(dom0-min-mem 1024)  
(enable-dom0-ballooning no) 
En este punto ya deberá reiniciar el dom 0 (host) para que tomen efecto los cambios. 
Error 6:
Reinicio automáticos del DOM0

Solución 6: 
Nota: si Xen se estrella al reiniciar automaticamente, tal vez necesites usar noreboot en las opciones de Xen para prevenirlo de que se reinicie aumoáticamente.

Para esto debe editar el archivo -> /etc/default/grub y agrega la opción "noreboot" en la linea de GRUB_CMDLINE_XEN, por ejemplo: 

GRUB_CMDLINE_XEN="noreboot"

Nota:
Recuerde aplicar el cambio de la configuración de Grub ejecutando update-grub

Error 7
root@bailadores:~# xl create /etc/xen/Hosting.cfg -c
Parsing config from /etc/xen/Hosting.cfg
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge online [-1] exited with error status 1
libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0
libxl: error: libxl_create.c:1226:domcreate_attach_vtpms: unable to add nic devices
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge offline [-1] exited with error status 1
libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0

Solución 7:
Editar el archivo /etc/xen-tools/xen-tools.conf y ubicar la linea bridge y colocarle br0 que es el puente de la red hacia las ip internas
bridge = br0

Luego editar el archivo /etc/xen/Hosting.cfg ubicar la linea Networking y la vamos a ver así:
#  Networking
#
vif         = [ 'ip=192.168.5.102 ,mac=00:16:3E:46:3A:A9]

#

Y debemos agregarle , bridge=br0' al final de la linea después de la macadress y quedara de la siguiente manera:
#  Networking
#
vif         = [ 'ip=192.168.5.102 ,mac=00:16:3E:46:3A:A9, bridge=br0' ]

#