Monthly Archives: November 2010

Instalando Fluxbox y personalizando la grafica en Centos 5.5

Vamos a ver como instalar fluxbox[2] desde las fuentes e instalarlo.

Primero vamos a tener que bajarlo de su sitio oficial:

[root@localhost ~]# wget http://prdownloads.sourceforge.net/fluxbox/fluxbox-1.1.1.tar.gz

Aca vemos como lo bajamos y lo descomprimimos:


[root@localhost opt]# tar xvzf fluxbox-1.1.1.tar.gz
[root@localhost opt]# ls
fluxbox-1.1.1  fluxbox-1.1.1.tar.gz
[root@localhost opt]# 

Luego tenemos que compilar las fuentes pero antes si no tienen las librerias ni las tools de desarrollo tenemos que hacer lo siguiente.

[root@localhost opt]#yum grouplist
Aca la salida esta cortada...
 Development Tools
 Development Libraries

[root@localhost opt]# yum groupinstall "Development Tools" "Development Libraries"

Ahora vamos a compilarlo:


[root@localhost opt]# cd fluxbox-1.1.1 
[root@localhost fluxbox-1.1.1]# ./configure -with-kde -with-gnome
aca va a tomarse un rato..
[root@localhost fluxbox-1.1.1]#make && make install

Tengan en cuenta que estas practicas la hize teniendo el equipo en runlevel 3 por defecto.
[root@localhost fluxbox-1.1.1]# cat /etc/inittab
id:3:initdefault:

Vamos a editar algunos archivos:

El siguiente archivo .xinitrc si no existen lo crean.
[root@localhost ~]# cat .xinitrc 
exec xterm &
exec /usr/local/bin/fluxbox
[root@localhost ~]# 

La primera linea lo que hace es ejecutar xterm 
La siguiente llama a fluxbox para arrancar.

Aca una foto de como quedaria:

Al redefinir el xinitrc no va ir a buscar a /etc/X11/ sino que usa la configuracion que le ponemos.
Tenemos instalado en nuestro equipo centos los siguientes grupos:
X Window System[3]
GNOME Desktop Environment[4]

Si arrancariamos en modo 5 iniciaria el servidor X y luego gnome desktop (gdm) es el que se va encargar de arrancar nuestra sesion grafica y nos proveera de una interfaz para poder loguearnos, luego de esto usara el window manager de gnome que es mwm (metacity).
Tambien podriamos tener el X display manager estandar[5][6]

Podriamos hacer que nuestro server X llame a otro window manager como es twm[1][7]

[root@localhost ~]# cat .xinitrc 
exec xterm &
exec xclock &
exec xeyes &
exec twm 
[root@localhost ~]#

Ahora lo que vamos hacer es jugar con el archivo .Xresources para que pueda personalizar ciertos programas .

[root@localhost ~]# cat .Xresources 
xterm*background: Black
xterm*foreground: Wheat
xterm*cursorColor: Orchid
xterm*reverseVideo: false
[root@localhost ~]#

Luego vamos a o borrar .xinitrc o sacar la linea que llama a fluxbox.

Luego iniciamos la grafica y vamos a tener algo asi:
Como ven al llamar al xterm cambio los valores de sus colores y demas..

Ahora lo que vamos hacer es cambiar nuestro Display Manager:

Vamos a instalar este

yum install xorg-x11-xdm.i386[8][12][10]

Luego editamos este archivo

vi /etc/sysconfig/desktop

[root@localhost ~]# cat /etc/sysconfig/desktop 
DESKTOP="twm"
DISPLAYMANAGER="xdm"
[root@localhost ~]# 

Luego Editamos este archivo /etc/X11/xdm/xdm-config

Y comentamos la ultima linea:
Los comentarios son !

! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
!DisplayManager.requestPort:    0

Luego editaremos este otro:
/etc/X11/xdm/Xservers

Pondremos esto:
:0 local /usr/bin/X
rino:0 foreing

Que me va a indicar quienes puede atender mi servidor X.

Luego configuramos para ver desde donde escucha y a que hosts.
/etc/X11/xdm/Xaccess
# First line for direct queries
*
# Following line for indirect queries
* CHOOSER BROADCAST

Luego creamos un archivo xdm en /etc/init.d con este contenido

[root@localhost xdm]# cat /etc/init.d/xdm 
#!/bin/sh
    # xdm start/stop script for RedHat based systems
    #
    # chkconfig: 234 60 60
    # description: xdm permits remote users to logon to this X display
    # processname: /usr/X11R6/bin/xdm
    # config: /etc/X11/xdm/xdm-config

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

    [ -x /usr/bin/xdm ] || exit 0

    prog=/usr/bin/xdm

    RETVAL=0

    start () {
    	echo -n $"Starting $prog: "
        # start daemon
        daemon $prog
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch /var/lock/subsys/xdm
        return $RETVAL
    }

    stop () {
    	echo -n $"Stopping $prog: "
        killproc $prog
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/xdm
        return $RETVAL
    }

    restart () {
    	stop
        start
        RETVAL=$?
        return $RETVAL
    }

    # See how we were called.
    case "$1" in
    	 start)
        start
        ;;
         stop)
        stop
        ;;
         status)
        status $prog
        RETVAL=$?
        ;;
         restart)
        restart
        ;;
         condrestart)
        # only restart if it is already running
        [ -f /var/lock/subsys/xdm ] && restart || :
        ;;
         reload)
        echo -n $"Reloading $prog: "
        killproc $prog -HUP
        RETVAL=$?
        echo
        ;;
         *)
             echo $"Usage: $0 (start|stop|restart|condrestart|reload|status)"
             RETVAL=1
    esac

    exit $RETVAL

[root@localhost xdm]# 
Luego le dan permiso de ejecucion y lo agregan con chkconfig --add xdm,  chkconfig --level 3 xdm off

El ultimo paso para poder loguearnos es generar el archivo .xsession lo cual vamos a copiar el anterior .xinitrc porque sino tenemos un .xsession el xdm no vamos a poder loguearnos.

[root@localhost ~]# cat .xsession
exec xterm &
exec xclock &
exec xeyes &
startkde
[root@localhost ~]# 

Y hacemos un telinit 5 para ir al runlevel con X11.

Fijsen que ahora cambio…

Aca una vez que nos logueamos..

Ahora vamos a editar este archivo devuelta /etc/sysconfig/desktop

[root@localhost ~]# cat /etc/sysconfig/desktop
DESKTOP= “GNOME”
DISPLAYMANAGER= “gdm”
[root@localhost ~]#

Pasamos a telinit 3 y luego a telinit 5 y vamos a tener gdm como display manager.

Ahora podriamos instalar KDE

[root@localhost ~]# yum groupinstall “KDE (K Desktop Environment)”

Y luego editariamos devuelta el archivo /etc/sysconfig/desktop y pondriamos.

[root@localhost ~]# cat /etc/sysconfig/desktop 
DESKTOP= "kde"
DISPLAYMANAGER= "kdm"
[root@localhost ~]# 

Quedaria asi con KDM

Ahora vamos a personalizar un poco nuestro XDM
instalemos este paquete [root@localhost ~]# yum install xorg-x11-xbitmaps.i386

Y editemos este archivo:
[root@localhost xdm]# pwd
/etc/X11/xdm
[root@localhost xdm]# ls -l Xsetup_0
-rwxr-xr-x 1 root root 1003 Nov 26 20:29 Xsetup_0
[root@localhost xdm]#
Agreguenle esta linea –> al Xsetup_0
/usr/bin/xsetroot -bitmap\
/usr/include/X11/bitmaps/xsnow

Volvamos a editar este archivo:
[root@localhost xdm]# cat /etc/sysconfig/desktop
DESKTOP=”twm”
DISPLAYMANAGER=”xdm”
[root@localhost xdm]#

Y ahora reinicimos telinit 3 y telinit 5.

Probemos editar ahora algunas cosas mas
Probemos editar el /etc/X11/xdm/Xresources para modificar el panel de bienvenida, no se olviden que hoy hicimos lo mismo pero para nuestros programas..

Alguno de los parametros que pueden tocar.. investiguen…
xlogin*greeting: Welcome!
xlogin*namePrompt: Name:\040
xlogin*passwdPrompt: Password:
xlogin*fail: !WRONG!
xlogin*foreground: black
xlogin*background: steelblue
xlogin*greetColor: white
xlogin*promptColor: grey
xlogin*failColor: red

Y la lista sigue..

Fuentes:
[5]http://en.wikipedia.org/wiki/X_display_manager_(program_type)
[4]http://en.wikipedia.org/wiki/GNOME_Display_Manager
[3]http://en.wikipedia.org/wiki/X_Window_System_protocols_and_architecture
[7]http://en.wikipedia.org/wiki/X_window_manager
[6]http://en.wikipedia.org/wiki/X_session_manager
[1]http://en.wikipedia.org/wiki/Twm
[2]http://en.wikipedia.org/wiki/Fluxbox
[8]http://tldp.org/HOWTO/XDM-Xterm/config.html
[9]http://www.idevelopment.info/data/Unix/Linux/LINUX_ConfiguringXDMCPRedHatLinux.shtml
[10]http://www.geekvenue.net/chucktips/jason/chuck/991290514/index_html
[11]http://www.faqs.org/docs/Linux-mini/XDM-Xterm.html
[12]http://www.linuxjournal.com/article/3325?page=0,0
http://linuxandfriends.com/2008/09/06/change-default-display-manager-ubuntu-linux/

Instalando Zabbix en Ubuntu 10.04 Server

Instalacion de Zabbix en un Ubuntu Server 10.04.

Primer Paso :
Instalar las dependencias:
root@ubuntu:~# sudo apt-get install build-essential mysql-server libmysqlclient15-dev php5 php5-gd php5-mysql snmp libsnmp-dev snmpd libcurl4-openssl-dev fping

Tengan en cuenta que nos va a pedir la clave para el usuario de mysql.

Segundo Paso:
Creacion de usuarios y grupo.

root@ubuntu:~# adduser zabbix
Adding user `zabbix' ...
Adding new group `zabbix' (1001) ...
Adding new user `zabbix' (1001) with group `zabbix' ...
Creating home directory `/home/zabbix' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for zabbix
Enter the new value, or press ENTER for the default
	Full Name []:
	Room Number []:
	Work Phone []:
	Home Phone []:
	Other []:
Is the information correct? [Y/n] y
root@ubuntu:~# adduser zabbix admin
Adding user `zabbix' to group `admin' ...
Adding user zabbix to group admin
Done.
root@ubuntu:~#

Tercer Paso:
Bajar e instalar las fuentes de zabbix.

root@ubuntu:~# su – zabbix
To run a command as administrator (user “root”), use “sudo “.
See “man sudo_root” for details.

zabbix@ubuntu:~$
zabbix@ubuntu:~$ wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/1.8.3/zabbix-1.8.3.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fzabbix%2Ffiles%2F&ts=1289855421&use_mirror=ufpr
O bajarlo de aca. –> http://sourceforge.net/projects/zabbix/files/
zabbix@ubuntu:~$ time tar xzvpf zabbix-1.8.3.tar.gz

Cuarto Paso:
Configurar las bases.
zabbix@zabbix@ubuntu:~$ sudo mysql -u root -p -e”create database zabbix;”
Enter password:
zabbix@ubuntu:~$
Configurar el acceso para zabbix
zabbix@ubuntu:~$ sudo mysql -u root -p mysql -e”grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix’;”
Enter password:
zabbix@ubuntu:~$

zabbix@ubuntu:~$ mysql -D zabbix -uzabbix -pzabbix < /home/zabbix/zabbix-1.8.3/create/schema/mysql.sql
zabbix@ubuntu:~$ mysql -D zabbix -uzabbix -pzabbix < /home/zabbix/zabbix-1.8.3/create/data/data.sql
zabbix@ubuntu:~$ mysql -D zabbix -uzabbix -pzabbix < /home/zabbix/zabbix-1.8.3/create/data/images_mysql.sql

Quinto Paso:
Vamos a configurar e instalar desde las fuentes.
zabbix@ubuntu:~/zabbix-1.8.3$ ./configure –prefix=/usr –with-mysql –with-net-snmp \
> –with-libcurl –enable-server –enable-agent &&
> make
…ahora va empezar a compilar…
Luego..
make install
Tienen que ver que termine sin errores.

Sexto Paso:
Configuraciones del sistema.

Editamos /etc/services y agregamos al final esto
zabbix_agent 10050/tcp # Zabbix ports
zabbix_trap 10051/tcp

Archivos de configuracion:
zabbix@ubuntu:~/zabbix-1.8.3$ sudo mkdir /etc/zabbix
zabbix@ubuntu:~/zabbix-1.8.3$ sudo chown -R zabbix.zabbix /etc/zabbix/
zabbix@ubuntu:~/zabbix-1.8.3$ cp misc/conf/zabbix_* /etc/zabbix/

Editamos:
vi /etc/zabbix/zabbix_agentd.conf

Y verificamos que el zabbix_agentd.conf tenga esto:
Server=127.0.0.1

Editamos este otro:
zabbix@ubuntu:~/zabbix-1.8.3$ vi /etc/zabbix/zabbix_server.conf

Buscamos estos parametros:
# Database user
DBUser=zabbix
# Database password
# Comment this line if no password used
DBPassword=zabbix

Ahora copiamos los script de arranque:

zabbix@ubuntu:~/zabbix-1.8.3$ sudo cp misc/init.d/debian/zabbix-server /etc/init.d
zabbix@ubuntu:~/zabbix-1.8.3$ sudo cp misc/init.d/debian/zabbix-agent /etc/init.d

Configurar el script de inicio del server:
zabbix@ubuntu:~/zabbix-1.8.3$ sudo vi /etc/init.d/zabbix-server
NAME=zabbix_server
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin
#DAEMON=/home/zabbix/bin/${NAME}
DAEMON=/usr/sbin/${NAME} # esta es la nueva linea.

Configurar script de inicio del agent:

zabbix@ubuntu:~/zabbix-1.8.3$ sudo vi /etc/init.d/zabbix-agent

NAME=zabbix_agentd
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin
#DAEMON=/home/zabbix/bin/${NAME}
DAEMON=/usr/sbin/${NAME}

Configurar permisos de algunos archivos y de scripts de inicio:

zabbix@ubuntu:~/zabbix-1.8.3$ sudo chmod 755 /etc/init.d/zabbix-server
zabbix@ubuntu:~/zabbix-1.8.3$ sudo update-rc.d zabbix-server defaults
update-rc.d: warning: /etc/init.d/zabbix-server missing LSB information
update-rc.d: see
Adding system startup for /etc/init.d/zabbix-server …
/etc/rc0.d/K20zabbix-server -> ../init.d/zabbix-server
/etc/rc1.d/K20zabbix-server -> ../init.d/zabbix-server
/etc/rc6.d/K20zabbix-server -> ../init.d/zabbix-server
/etc/rc2.d/S20zabbix-server -> ../init.d/zabbix-server
/etc/rc3.d/S20zabbix-server -> ../init.d/zabbix-server
/etc/rc4.d/S20zabbix-server -> ../init.d/zabbix-server
/etc/rc5.d/S20zabbix-server -> ../init.d/zabbix-server
zabbix@ubuntu:~/zabbix-1.8.3$

zabbix@ubuntu:~/zabbix-1.8.3$ sudo chmod 755 /etc/init.d/zabbix-agent
zabbix@ubuntu:~/zabbix-1.8.3$ sudo update-rc.d zabbix-agent defaults
update-rc.d: warning: /etc/init.d/zabbix-agent missing LSB information
update-rc.d: see
Adding system startup for /etc/init.d/zabbix-agent …
/etc/rc0.d/K20zabbix-agent -> ../init.d/zabbix-agent
/etc/rc1.d/K20zabbix-agent -> ../init.d/zabbix-agent
/etc/rc6.d/K20zabbix-agent -> ../init.d/zabbix-agent
/etc/rc2.d/S20zabbix-agent -> ../init.d/zabbix-agent
/etc/rc3.d/S20zabbix-agent -> ../init.d/zabbix-agent
/etc/rc4.d/S20zabbix-agent -> ../init.d/zabbix-agent
/etc/rc5.d/S20zabbix-agent -> ../init.d/zabbix-agent
zabbix@ubuntu:~/zabbix-1.8.3$

Arrancar el Servicio:
Ambos, server y agent.
zabbix@ubuntu:~/zabbix-1.8.3$ sudo /etc/init.d/zabbix-server start
Starting Zabbix server daemon: zabbix_server
zabbix@ubuntu:~/zabbix-1.8.3$
zabbix@ubuntu:~/zabbix-1.8.3$ sudo /etc/init.d/zabbix-agent start
Starting Zabbix agent daemon: zabbix_agentd
zabbix@ubuntu:~/zabbix-1.8.3$

Chequear que este andando:

zabbix@ubuntu:~/zabbix-1.8.3$ ps -aux | grep zabbix
–muchos…
zabbix 21104 0.0 0.2 47904 1340 ? SN 19:26 0:00 /usr/sbin/zabbix_server
zabbix 21106 0.0 0.2 47904 1320 ? SN 19:26 0:00 /usr/sbin/zabbix_server
zabbix 21272 0.0 0.1 3148 620 ? SN 19:31 0:00 /usr/sbin/zabbix_agentd
zabbix 21273 0.0 0.1 3148 740 ? SN 19:31 0:00 /usr/sbin/zabbix_agentd
—mas—

Sexto Paso:
Configuracion web para monitoreo .
zabbix@ubuntu:~/zabbix-1.8.3$ mkdir /home/zabbix/public_html
zabbix@ubuntu:~/zabbix-1.8.3$ cp -R frontends/php/* /home/zabbix/public_html/

Configuracion del sitio :
zabbix@ubuntu:~/zabbix-1.8.3$ sudo nano /etc/apache2/sites-enabled/000-default

y le agregamos esto al final

Alias /zabbix /home/zabbix/public_html/
<Directory /home/zabbix/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

Configurar parametros de php5

zabbix@ubuntu:~/zabbix-1.8.3$ sudo vi /etc/php5/apache2/php.ini

Cambiar a este:
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 300

luego:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/Buenos_Aires

Sacan su time zone desde aca –> http://us3.php.net/manual/en/timezones.php

; http://php.net/max-input-time
max_input_time = 300

; http://php.net/post-max-size
post_max_size = 16M

Reiniciamos apache:

zabbix@ubuntu:~/zabbix-1.8.3$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 … waiting [ OK ]
zabbix@ubuntu:~/zabbix-1.8.3$

Luego Tenemos 8 Pasos:

Primero desde un navegador ponemos:

http:/192.168.1.102/zabbix

Paso 2:

Paso 3:

Paso 4:

Paso 5

Paso 6
Aca presten atencion que nos va a pedir que copiemos la configuracion en un directorio del usuario zabbix.

[rino@rino BOINC]$ scp /media/bkp/zabbix.conf.php zabbix@192.168.1.102:/home/zabbix/public_html/conf/
zabbix@192.168.1.102’s password:
zabbix.conf.php 100% 1034 1.0KB/s 00:00
[rino@rino BOINC]$

Paso 7:

Paso 8:

Luego vamos a tener esta pantalla:
La cual el usuario es admin, passwd zabbix

Uno de los menues:

En la proxima entrega vamos a ver como se sigue configurando.

Fuentes:
[1] http://www.zabbix.com/wiki/howto/install/ubuntu/ubuntuinstall

Preparando LPIC-1 108.2 Bitácoras del sistema

*. Aqui veremos lo mas importante de este topico.*

En este topico vamos a ver un poco como funciona los eventos de logs.

Historia:

syslog fue desarrollado por Eric Allman como parte del proyecto Sendmail,inicialmente (años 1980) sólo para éste proyecto.
Sin embargo, se comprobó que era muy útil, y otras aplicaciones empezaron también a usar syslog.
Hoy en día, syslog está presente por defecto en casi todos los sistemas Unix y GNU/Linux, y también se encuentran diversas implementaciones de syslog para otros sistemas operativos, como Microsoft Windows.

Es ahora, después de tantos años, cuando syslog está en proceso de convertirse en estándar, para -entre otras cosas-
poder mejorar la seguridad de sus implementaciones. IETF asignó un grupo de trabajo, y en 2001, se documentó
su funcionamiento en el RFC 3164 [1]. La estandarización del contenido del mensaje y de las diferentes capas de abstracción fueron planificadas en 2006.

Algunas de las ventajas que podemos tener:
* Todos los logs estan centralizados, en un directorio en particular o en un servidor.

* Modelo cliente/servidor para syslogd en donde guarda los eventos de forma centralizada para poder monitorear mas facilmente y realizar reportes.

* Syslogd permite que múltiples procesos escriban en el mismo fichero de registro, evitando al mismo tiempo

cuestiones de bloqueo de archivos.
Hay una serie de aplicaciones disponibles para Linux que implementan la funcionalidad syslogd y ofrecen una funcionalidad adicional. Algunos ejemplos son rsyslog[2] y syslog-ng[3].

A los efectos del examen LPI, que cubren sólo el servidor de base syslogd[1].
Protocolo:
El protocolo syslog es muy sencillo: existe un ordenador servidor ejecutando el servidor de syslog, conocido como syslogd (demonio de syslog). El cliente envía un pequeño mensaje de texto (de menos de 1024 bytes).

Los mensajes de syslog se suelen enviar vía UDP, por el puerto 514, en formato de texto plano. Algunas implementaciones del servidor, como syslog-ng, permiten usar TCP en vez de UDP, y también ofrecen Stunnel para que los datos viajen cifrados mediante SSL/TLS.

Aunque syslog tiene algunos problemas de seguridad, su sencillez ha hecho que muchos dispositivos lo implementen, tanto para enviar como para recibir. Eso hace posible integrar mensajes de varios tipos de sistemas en un solo repositorio central.
* Configurando Syslogd *
El comportamiento de syslogd es controlado por el archivo de configuración /etc/syslog.conf. Este archivo de texto contiene líneas que indican lo que va a estar registrado y dónde. Cada línea contiene directivas en esta forma:
facility.level action
Facility :
La prioridad es un número de 8 bits[4] que indica tanto el recurso (tipo de aparato que ha generado el mensaje) como la severidad (importancia del mensaje), números de 5 y 3 bits respectivamente. Los códigos de recurso y severidad los decide libremente la aplicación, pero se suele seguir una convención para que clientes y servidores se entiendan.
Esto representa el creador del mensaje (es decir, el kernel o un proceso) y es uno de los siguientes: auth (el facility security es el equivalente a auth, su uso está en desuso), authpriv, cron, daemon, kern, lpr, mail, mark (es para uso interno syslogd sólo), news, syslog, users, uucp , o local0 hasta local7. El uso de estos designadores de instalación le permite controlar el

destino de los mensajes en función de su origen. Instalaciones de local0 a local7 son para cualquier uso que usted tal vez desee asignar a ellos en sus propios programas y scripts. Es posible que su distribución se haya asignado uno o más de los

los servicios locales ya. Verifique su configuración antes de utilizar una instalación local.

Numero Facility
0 Mensajes del kernel
1 Mensajes del nivel de usuario
2 Sistema de correo
3 Demonios de sistema
4 Seguridad/Autorización
5 Mensajes generados internamente por syslogd
6 Subsistema de impresión
7 Subsistema de noticias sobre la red
8 Subsistema UUCP
9 Demonio de reloj
10 Seguridad/Autorización
11 Demonio de FTP
12 Subsistema de NTP
13 Inspección del registro
14 Alerta sobre el registro
15 Demonio de reloj
16 Uso local 0
17 Uso local 1
18 Uso local 2
19 Uso local 3
20 Uso local 4
21 Uso local 5
22 Uso local 6
23 Uso local 7

Niveles:
Especifica un umbral de gravedad más allá de los mensajes que se registran, y es uno de los siguientes (de menor a mayor gravedad): debug, info, notice, warning (o warn ), err (o error), crit, alert, o emerg (o panic). (warn, error, and panic son obsoletos, pero es posible verlos en los sistemas más antiguos.) También hay un nivel especial llamado none que deshabilita un servicio(facility). El nivel define la cantidad de detalles registrados en el archivo de registro.El punto separa las facility de los level, y juntos conforman el selector de mensajes. El asterisco (*) se puede utilizadar para describir todas las facilitys o levels.
Códigos de severidad
Los 3 bits menos significativos del campo prioridad dan 8 posibles grados.[4]

Numero Level
0 Emergencia: el sistema está inutilizable
1 Alerta: se debe actuar inmediatamente
2 Crítico: condiciones críticas
3 Error: condiciones de error
4 Peligro: condiciones de peligro
5 Aviso: normal, pero condiciones notables
6 Información: mensajes informativos
7 Depuración: mensajes de bajo nivel

Cálculo de la prioridad
Para conocer la prioridad final de un mensaje, se aplica la siguiente fórmula:
Prioridad = Recurso * 8 + Severidad
Por ejemplo, un mensaje de kernel (Recurso=0) con Severidad=0 (emergencia), tendría Prioridad igual a 0*8+0 = 0. Uno de FTP (11) de tipo información (6) tendría 11*8+6=94. Como se puede ver, valores más bajos indican mayor prioridad.
Action
La directiva de acción es, sin duda mal llamada. Representa el destino de mensajes que corresponden a un selector dado (facility.level). La acción puede ser un nombre de archivo (incluyendo la ruta completa), un nombre precedido por el signo @,
o una lista separada por comas de los usuarios o un asterisco (es decir, todos los usuarios registrados recibirán el registro en sus consolas). Es en donde va a parar el evento mismo con sus datos.

Ahora vamos a ver un par de ejemplos y archivos de configuracion:

El archivo de configuracion de syslog esta en /etc/syslog.conf.

[root@villadalmine etc]# cat syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*							/dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none		/var/log/messages

# The authpriv file has restricted access.
authpriv.*						/var/log/secure

# Log all the mail messages in one place.

# Log cron stuff
cron.*							/var/log/cron

# Everybody gets emergency messages
*.emerg							*

# Save news errors of level crit and higher in a special file.
uucp,news.crit						/var/log/spooler

# Save boot messages also to boot.log
local7.*						/var/log/boot.log
[root@villadalmine etc]#

En esta linea:
cron.* /var/log/cron

Estamos mandando los log de cron en todos sus niveles al archivo /var/log/cron

uucp,news.crit /var/log/spooler

En este caso tenemos dos faility separados por , en donde ambos van a guardar los eventos de log de nivel crit en el archivo spooler.

*.info;mail.none;authpriv.none;cron.none /var/log/messages

En este caso tenemos los ; que separan distintos eventos de log en donde cada uno hace referencia un facility distinto.

Dependiendo de su espacio de disco disponible, puede optar por guardar menos información, elevando el nivel del archivo de mensajes.
El servidor syslogd mantiene los identificadores de archivo abierto para todos los archivos definidos en /etc/syslog.conf. Esto significa que el único proceso que puede escribir en estos archivos es syslogd.
No configurar sus programas para escribir directamente a estos archivos! En su lugar, llame a un programa para que registre sus logs con uno de los syslog locales.
El servicio de syslog en realidad se compone de dos procesos, syslogd y klogd. Syslogd se utiliza para registrar los eventos del proceso de usuario, mientras que klogd se utiliza para registrar los eventos de procesos del núcleo. Ellos trabajan en conjunto y utilizan el mismo archivo de configuración, por lo que realmente sólo hay que asegurarse de que están en ejecución!

[root@villadalmine etc]# ps ax | egrep -i “(syslogd|klogd)”
10069 ? Ss 1:08 syslogd -m 0
32293 pts/0 S+ 0:00 egrep -i (syslogd|klogd)
[root@villadalmine etc]#

Modelo Cliente/Servidor de logs:

Syslogd también tiene la capacidad para registrar mensajes en la red. Si un proceso syslogd se inicia con la opción-r, se escucha en la red para los mensajes entrantes de syslogd. Por defecto, syslogd utiliza el puerto UDP 514 para esta comunicación. Un práctica comun es configurar el servidor maestro de registros que recibe todos los mensajes de log de sus clientes. En el lado del cliente, debe configurar el servicio syslogd para que guarde todo de forma local y tambien aquellos logs que quiera registra en el servidor maestro de registro. Esto se consigue añadiendo la siguiente línea en el archivo syslog.conf .[5]

Cliente:

*.* @192.168.1.100

Esto significa que los mensajes que coincidan con todas los facility y los levels deben ser enviadas a la IP 192.168.1.100.

Usted puede determinar si un servidor está escuchando syslogd para las entradas de registro remoto dela siguiente manera.

Asegurarse de editar /etc/init.d/syslogd
if [ -f /etc/sysconfig/syslog ] ; then
. /etc/sysconfig/syslog
else
# SYSLOGD_OPTIONS=”-m 0″
SYSLOGD_OPTIONS=”-r ”
KLOGD_OPTIONS=”-2″
fi

Luego:
netstat -anp | grep -i “:514”
udp 0 0 0.0.0.0:514 0.0.0.0:* 26645/syslogd

Rotacion de Logs:

En la mayoría de las distribuciones se instalará una configuración por defecto de syslog para usted, incluyendo
logs al messages y otros archivos de registro de logs en /var/log. Para evitar que cualquiera de estos archivos
crezca sin vigilancia a tamaños extremos, un sistema de rotación archivo de registro se debe instalar
también. Los cron del sistema se ejucutaran comandos (generalmente una vez al día) para extablecer entre otras cosas
nuevos archivos de registro de logs, los archivos antiguos se cambian el nombre con sufijos numéricos. Con este
tipo de rotación, los actuales seran /var/log/messages y los que rotaron seran /var/log/messages.1. La rotación se configura
con un número máximo de archivos para guardar, y los más antiguos se eliminan cuando la rotación se ejecuta.
La utilidad que establece la rotación es logrotate. Este comando sirve configurar uno o más archivos, que se especifican como argumentos del comando logrotate. Estos archivos de configuración pueden contener directivas para incluir otros archivos también. El archivo de configuración por defecto es /etc/logrotate.conf.

Ejemplo:

[root@rino ~]# cat /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 9 weeks worth of backlogs
rotate 9

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
	minsize 1M
    rotate 9
}

/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 9
}

# system-specific logs may be also be configured here.
[root@rino ~]#

Tambien aca vemos lo demas logrotate..

[root@rino logrotate.d]# ls -la /etc/logrotate.d/
total 68
drwxr-xr-x.   2 root root  4096 Nov 11 23:08 .
drwxr-xr-x. 139 root root 12288 Nov 14 22:36 ..
-rw-r--r--.   1 root root    62 Sep 22 17:13 clamav-update
-rw-r--r--.   1 root root    71 Sep 17 13:30 cups
-rw-r--r--    1 root root   185 Oct 27 07:01 httpd
-rwxr-xr-x    1 root root   106 Aug 30  2007 jetty
-rw-r--r--    1 root root   136 Aug  5 11:46 ppp
-rw-r--r--.   1 root root   296 Jun 28 04:41 psacct
-rwxr-xr-x.   1 root root    72 Mar 10  2010 sav
-rw-r--r--.   1 root root   121 Oct  4 17:42 setroubleshoot
-rw-r--r--.   1 root root   219 Oct 18 17:11 sssd
-rw-r--r--    1 root root   228 Sep  9 03:26 syslog
-rw-r--r--.   1 root root    95 May 17 05:09 vsftpd
-rw-r--r--.   1 root root   100 May 13  2010 wpa_supplicant
-rw-r--r--.   1 root root   100 Oct  5 10:03 yum
[root@rino logrotate.d]#

Logrotate ha sido diseñado para facilitar la administración de sistemas que generan gran cantidad de archivos de registro (logs). El programa permite el cambio, compresión, eliminación y envío automático por correo de los archivos de registro. Cada archivo puede ser tratado diariamente, semanalmente, mensualmente o siempre que se haga demasiado grande.

Normalmente, logrotate se ejecuta como tarea diaria de tipo cron. El programa no modificará un archivo repetidas veces a no ser que el criterio para ese archivo se base en el tamaño del mismo y logrotate se ejecute varias veces al día.

En la línea de comandos pueden indicarse un número ilimitado de archivos de configuración. Más tarde, estos archivos de configuración pueden invalidar las opciones dadas en archivos de configuración anteriores, por lo tanto, el orden en que se listan los archivos de configuración de logrotate es muy importante. Normalmente, debería usarse un sólo archivo de configuración que incluya tantos otros archivos de configuración como sean necesarios. Véase más abajo cómo usar la directiva include para conseguirlo. Si se proporciona un nombre de directorio en la línea de comandos, cada uno de los archivos que se encuentren en ese directorio se usará como archivo de configuración.[6-7-8-9]

Herramientas de logs:

Tenemos el comando logger para testear si el syslog esta registrando los eventos.

[root@rino logrotate.d]# logger -p syslog.info “Mensaje de Prueba”
[root@rino logrotate.d]#
En otra terminal
[root@rino ~]# tail -f /var/log/message
Nov 14 23:57:43 rino rino: Mensaje de Prueba

Como ven el evento se grabo.

Otra tarea que podemos realizar es el monitoreo de logs, exiten diversas herramientas pero vamos unicamente a mencionar la mas basica que es con el comando tail.

El formato de log es:

* Hora y fecha
* Origen del log
* Remitente del mensaje (kernel, sendmail o un usuario)
* Texto del mensaje

Asi se veria….

[root@villadalmine log]# tail -n 10 secure
Nov 14 18:16:01 villadalmine sshd[13693]: pam_unix(sshd:auth): check pass; user unknown
Nov 14 18:16:01 villadalmine sshd[13693]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=211.99.249.143
Nov 14 18:16:02 villadalmine sshd[13669]: Failed password for invalid user test from 211.99.249.143 port 54910 ssh2

Utilizar el logrotate manualmente:[10-11]
[root@rino etc]# logrotate -s /var/log/logstatus logrotate.conf
[root@rino etc]#

Como ven conla opcion -s le decimos donde tire la salida…

[root@rino log]# tail -f logstatus
"/var/log/jetty/jetty-console.log" 2010-11-15
"/var/log/maillog" 2010-11-15
"/var/log/wpa_supplicant.log" 2010-11-15
"/var/log/secure" 2010-11-15
"/var/log/ppp/connect-errors" 2010-11-15
"/var/log/messages" 2010-11-15
"/var/log/cron" 2010-11-15
"/var/account/pacct" 2010-11-15
"/var/log/httpd/access_log" 2010-11-15
"/var/log/vsftpd.log" 2010-11-15

Fuentes:

[1] http://es.wikipedia.org/wiki/Syslog

[2] http://en.wikipedia.org/wiki/Rsyslog

[3] http://en.wikipedia.org/wiki/Syslog-ng
[4] http://www.ietf.org/rfc/rfc3164.txt
[5] http://www.fogonacaixadagua.com.br/2009/09/rsyslog-gravando-no-mysql-e-com-interface-web-para-consultas/
[6] http://eithel-inside.blogspot.com/2010/05/logrotate-para-mantener-nuestros-logs.html
[7] http://es.tldp.org/Paginas-manual/man-pages-es-extra-0.8a/man8/logrotate.8.html
[8] http://helektron.com/tutorial-configurar-logrotate-en-un-servidor-linuxunix-despues-de-generar-las-estadisticas/
[9] http://www.logadmin.net/2007/02/logrotate-domina-tus-archivos-de-log.html
[10] http://www.thegeekstuff.com/2010/07/logrotate-examples/
[11] http://www.thegeekstuff.com/2009/08/10-awesome-examples-for-viewing-huge-log-files-in-unix/