martes, 15 de diciembre de 2009

Configurar Bitacoras logs, syslog

Esta configuración al hice para un servidores en Suse pero también puede hacerse para servidores en Debían.

Se edita el /etc/syslog-ng/syslog-ng.conf.in

luego se actualiza la tabla de los archivos de configuración

SuSEconfig

Se reinicia el demonio del syslog

/etc/init.d/syslog start

/etc/sysconfig/syslog



Para enviar las bitácoras de un servidor y configurar que un servidor los reciba se configura un puerto UDP las direcciones ip y el servidor

Leyendo el man syslog-ng.conf

Primero tienes que pensar como se generan los log,

El diagrama de procesos de como se generan un log

En el sistema de syslog hace uso de subsistemas llamados facilities (Recursos), el cual es usado para recopilar data por tipo de sistema, en este caso se puede crear el facilities (recursos)del kernel, del cron o de una determinado Daemon (Demonio).

Teniendo la función llamada sources, en la cual se utilizan Filters para generar vistas de lo que a mi me interesa y colocando las priorities (Prioridades)a los mensajes pudiendo filtrar mensajes que no me interesan,

Luego esto se envía a través de un modulo llamado destination(Destiantario) y se crea el archivo destino donde se quiere colocar /file/print/dev

Como tarea pa la casa pueden activar el log del cron Extraer el log dl cron del archivo /var/log/messages

/etc/logrotate.d/

Se coloca un archivo de configuración en el cual están las diferentes acciones que ahy que hacer con logs determinados

por ejemplo:

vim /etc/logrotate.d

coloco

/var/log/cron {
Create
compress
rotate
ifempty
missingok
}

Las acciones que se le pueden aplicar a los log se encuentra en el man logrotate.d

Por ejemplo:
/var/log/messages {
rotate 5
weekly
postrotate
/sbin/killall -HUP syslogd
endscript
}



informacion adiconal

http://taquiones.net/sysadmin/syslog-ng.html

Este archivo de configuración acepta que rotaciones al rotar la 6 se borra el archivo
se hace semanalmente y luego de que se rota se hacer un reinicio de la aplicación syslogd


Tareas3:


en un servidor que escuche syslog por udp/514

Los otros dos equipos deben enviar sus logs de cron al servidor anterior.
El servidor debe dividir o filtrar salida por equipo.

Aplicar rotación de los mismos.

lunes, 7 de diciembre de 2009

Puertos Archivos y Procesos, Que archivo o puerto usa determinado proceso.


Cuando tengas problemas en localizar el puerto que usa determinada aplicación puedes usar dos comandos:

netstat y Fuser

En el man de cada comando puedes ver la funcionalidades de cada uno.

Con el netstat puedes ver los estatus de las conexiones, conexiones abiertas, conexiones establecidas y hasta el PID del programa.

Pero cuando este comando no lo muestra, entonces usas fuser este comando te puede ayudar, identificando los procesos que usan archivos o sockets. Por ejemplo cuando se tranca el pendrive osea algun porceso lo tiene ocupado y no lo puedes sacar o expulsar(sacar a la fuerza no es correcto, se puede corromper la data)....pues buscas que proceso te esta usando el dispositivo.

Mostrar los dispositivos montados

# mount


/dev/sdb1 /mnt/Usb

# fuser /dev/sdb1
pid

y swaassss listo ahy te parece lo mandas a matar y ya.

kill pid



Otro ejemplo en la salida del comando netstat que se muestra a continuacion

msanguino@linux-2jsj:~> netstat -putan
(No info could be read for "-p": geteuid()=1000 but you should be root.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 10.20.0.13:427 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:427 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:2544 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN -
tcp 0 0 10.20.0.13:35574 74.125.53.91:80 ESTABLISHED -
tcp 0 0 10.20.0.13:44764 66.249.80.191:80 ESTABLISHED -
tcp 0 0 :::22 :::* LISTEN -
tcp 0 0 ::1:25 :::* LISTEN -
udp 0 0 255.255.255.255:427 0.0.0.0:* -
udp 0 0 10.20.0.13:427 0.0.0.0:* -
udp 0 0 224.0.1.22:427 0.0.0.0:* -
udp 0 0 239.255.255.253:427 0.0.0.0:* -
udp 0 0 0.0.0.0:68 0.0.0.0:* -
udp 0 0 0.0.0.0:111 0.0.0.0:* -
udp 0 0 0.0.0.0:631 0.0.0.0:*

veo que no muestra el pid del proceso que tiene abierto el puerto 111 entonces digo

fuser 111/tcp

1127

y te muestra el pid del proceso que abre el puerto,

Observacion para correr este comando solo puedes ser superusuario.