PDF de programación - Syslog

Imágen de pdf Syslog

Sysloggráfica de visualizaciones

Publicado el 28 de Junio del 2018
214 visualizaciones desde el 28 de Junio del 2018
86,4 KB
12 paginas
Creado hace 12a (20/11/2008)
Sistemas Operativos II

Servicios en Linux

Administración bitácoras

syslog

Roberto Gómez Cárdenas

rogomez@itesm.mx

http://homepage.cem.itesm.mx/rogomez

Lámina 1

Roberto Gómez C.

Las bitácoras: el sistema syslog

• Administración de la información generada por el

kernel y utilidades del sistema.

• Antes cada programa era libre de elegir su política de

logging.

• Comprende

– un demonio, funciones de biblioteca y un comando
– permite registrar errores en archivos definidos anteriormente

• Administra mensajes/anuncios en base a niveles y

entidades
– posible enviarlos a otras máquinas para su procesamiento

Lámina 2

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

1

Sistemas Operativos II

Servicios en Linux

Entidades y su origen

Entidades
auth
authpriv
cron
daemon
kern
lpr
mail
news
security
syslog
user
uucp
local0-7
mark
*

Programa que lo utiliza
Seguridad y comandos de autorización
Mensajes de autorización privados (no del sistema)
mensajes de los daemons at y cron
mensajes del resto de los daemons
mensaje del núcleo
mensajes del subsistema de impresión
mensajes del subsistema de correo electrónico
mensajes del subsistema de noticias
es igual a auth. Se encuentra en desuso
mensajes del propio subsistema de logs
mensajes genéricos de los usuarios
mensajes del subsistema UUCP (el cual ya no se usa)
reservados para uso local
Estampillas de tiempo generadas en tiempos regulares
Todas las facilidades, excepto “mark”

Lámina 3

Roberto Gómez C.

Los niveles de prioridad

(severidad)

Nivel
debug
info
notice
warning
warn
err
error
crit
alert
emerg
panic

Significado aproximado
mensajes de depuración de un programa
mensajes informativos
mensajes de sucesos significativos pero normales
mensajes de advertencia
es igual a warning. Está en desuso
mensajes de error
es igual a err. Está en desuso
mensajes que indican condiciones críticas
mensajes de alerta. Se debe emprender una acción al momento
el sistema se ha vuelto inoperable
es igual a emerg. Está en desuso.

Lámina 4

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

2

Sistemas Operativos II

Servicios en Linux

Las acciones

Acción

nombre-archivo

@hostname

@ipaddress

user1, user2, ...

*

Lámina 5

Significado
Escribir mensaje en un archivo ubicado dentro de la
máquina local
Redireccionar el mensaje al syslogd corriendo en
hostname
Redireccionar el mensaje al host en la dirección IP
ipaddress
Escribir mensaje en la pantalla de los usuarios si están
conectados
Escribir mensaje a todos los usuarios conectados

Roberto Gómez C.

Ejemplo archivo configuración

mail.debug
auth.info;auth.notice
auth.info;auth.notice
*.info,mail.none;auth.none
*.alert
local0.notice;local0.debug
local7.notice;local7.info

/usr/spool/mqueue/syslog
/usr/adm/auth.info
floreal
/usr/adm/syslog
/usr/adm/noticelog
/usr/spool/mqueue/POPlog
/tmp/essai.syslog

Lámina 6

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

3

Sistemas Operativos II

Servicios en Linux

Software que usa syslog

Programa
cron
ftpd
impad
inetd
login
lpd
named
passwd
popper
sendmail
shutdown
su
sudo
syslog
tcpd
vmlinuz
xinetd

Entidad
cron
ftp
mail
daemon
authpriv
lpr
daemon
auth
local0
mail
auth
auth
local2
syslog,mark
local7
kern
configurable info(default)

Nivel
info
debug-crit
info-alert
err,warning
info-err
info-err
info-err
notice,waring
debug,notice
debug-alert
notice
notice
notice,alert
info-err
debug-err
all

Descripción
System task-scheduling daemon
FTP daemon (wu-ftpd)
IMAP mail server
Internet superdeamon
Loging programs
Line printer deamon
Name server (DNS)
Password-setting program
POP3 mail server
Mail transport system
Halts the system
Switches UIDs
Limited su program
Internal errors,time stamps
TCP wrapper for inetd
The kernel
Variant of inetd (Red Hat)

Lámina 7

Roberto Gómez C.

Funciones de biblioteca

• Funciones para comunicarse con demonio

syslog

• Para usarlas en un programa en C se necesita

incluir /usr/include/syslog.h
• Se cuenta con tres funciones:

– openlog(cadena, opcion, entidad)
– syslog(prioridad, cadena, parámetros...)
– setlogmask(mascara)
– closelog( );

Lámina 8

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

4

Sistemas Operativos II

Servicios en Linux

La función openlog( )

• Sintaxis:

– openlog(ident, logopt, entidad)

• Mensajes son almacenados (logged) con las opciones

espificadas por logopt

• Mensajes empiezan por el string de identificación

ident

• Si openlog no es usado, se toman las opciones por

default
– ident: default al nombre de la máquina
– logopt: un string en blanco
– entidad: user

Lámina 9

Roberto Gómez C.

Opciones openlog( )

Opción

LOG_PID

LOG_CONS

LOG_NDELAY

Significado

PID del proceso será desplegado en cada mensaje

si comunicación con syslog es imposible, mensaje es
enviado a la consola del operador
conexión con demonio syslogd es establecida
inmediatamente

LOG_NOWAIT

utilizada con LOG_CONS para escribir en la consola del
operador

Ejemplo:

openlog(“adminscript”, LOG_PID, LOG_MAIL)

Lámina 10

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

5

Sistemas Operativos II

Servicios en Linux

Los valores de las entidades

• En mayúsculas precedidas por LOG_

Valor
LOG_AUTH
LOG _AUTHPRIV
LOG_CRON
LOG_DAEMON
LOG_FTP
LOG_KERN
LOG_LOCALn
LOG_LPR
LOG_MAIL
LOG_NEWS
LOG_SYSLOG
LOG_USER
LOG_UUCP

Entidad asociada
mensajes autorización/seguridad (en desuso)
mensajes autorización/seguridad
demonio cron
demonios sistema
demonio ftp
mensajes al núcleo
reservado para uso local, n 0,1,2,3,4,5,6 o 7
subsistema de impresión
susbsistema de correo
susbsistema de noticias USENET
mensajes generados internamente por syslogd
Mensaje genericos usuraio
Subsistema UUCP

Lámina 11

Roberto Gómez C.

Función syslog

• Sintaxis:

– syslog(nivel, mensaje, ...)

• Usada para transmitir mensajes a syslog, el cual lo

almacena con el nivel especificado

• Opciones:

– la fecha, hora, hostname y string de identificación de la

llamada openlog( ) son añadidos al mensaje en el archivo de
bitácoras

– mensaje puede ser seguido de uno o varios parámetros al

estilo del printf( )

• Ejemplo:

syslog(LOG_INFO,”Envio a ‘%s’ fallo despues %d intentos.”,$user,$Intentos);

Lámina 12

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

6

Sistemas Operativos II

Servicios en Linux

Niveles

• Precedidos por los caracteres LOG_

Nivel

Significado

LOG_EMERG

sistema no se puede usar

LOG_ALERT

una acción se debe tomar de inmediato

LOG_CRIT

condiciones crítica

LOG_ERR

condiciones de error

LOG_WARNING

condiciones de advertencia

LOG_NOTICE

condición normal pero significativa

LOG_INFO

mensaje información

LOG_DEBUG

mensaje nivel depuración

Nota;

función setlogmask puede usarse para restringir logging a ciertos niveles

Lámina 13

Roberto Gómez C.

Función closelog( );

• Cierra el canal de bitácoras
• Debe llamarse esta rutina si se desea reabrir el

canal de bitácoras con opciones diferentes

• Es buena práctica el llamar a closelog( ) cuando

el programa termine, pero no es estrictamente
necesario hacerlo.

Lámina 14

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

7

Sistemas Operativos II

Servicios en Linux

Ejemplo uso funciones syslog

#include <stdio.h>
#include <syslog.h>

int main(int argc, char *argv[ ])
{

if (argc != 3) {

openlog(“adminscript”, “cons.pid”, LOG_LOCAL7);
syslog(LOG_ERR, “Error en parametros en aplicación local 7.”);
closelog();
exit(0);

}
:
:

}

Lámina 15

Roberto Gómez C.

Salida del ejemplo

• Se produce la siguiente entrada, donde 191

es el PID de adminscript

Dec 28 22:56:24 sancerre.bordeaux.vino adminscript[191]: Error en
parametros en aplicación local 7

Lámina 16

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

8

Sistemas Operativos II

Servicios en Linux

El comando logger

• Permite interactuar con syslog a nivel shell
• Sintaxis

logger [-t trace] [-p prioridad] [-f archivo] [-i] [mensaje...]

– t: cadena de caracteres será colocada al principio de cada

mensaje en lugar del nombre del usuario

– p: urgencia indicada por el par entidad.prioridad
– f: contenido archivo mencionado es usado como mensaje
– i: número de procesos (PID) del comando logger

ejecutado es aumentado al mensaje

• Ejemplo

Lámina 17

karmax@utopia:~$ logger -p user.info -t " ls ejecutado correctamente"
root@utopia:~# tail -1 /var/log/messages
Oct 18 06:58:49 utopia ls ejecutado correctamente

Roberto Gómez C.

Rotación bitácoras

• Una forma de mantener información bitácoras por un

periodo fijo se conoce como rotación.

• En rotación se mantiene archivos de respaldo que

datan de un día, de dos días ... etc.

• Cada día un programa renombra archivos para empujar

datos viejos al final de la cadena.

• Ejemplo: archivo logfile

– copias respaldo pueden ser llamadas logfile.1, logfile.2 ... etc
– si se trabaja la semana se llega hasta logfile.7 pero no

logfile.8

– a diario, los datos de logfile.7 se pierden ya que logfile.6 los

sobre-escribe

Lámina 18

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

9

Sistemas Operativos II

Servicios en Linux

Paquete logrotate

• El paquete logrotate contiene una tarea de cron
que hace circular automáticamente los archivos
de log al archivo de configuración
/etc/logrotate.conf y los archivos de
configuración en el directorio /etc/logrotate.d.

• Por defecto, se configura para circular cada

semana y mantener la validez de los archivos
previos de log durante cuatro semanas.

Lámina 19

Roberto Gómez C.

Ejemplo archivo configuración

logrotate

• Rota /var/log/messages

cada semana.

• Mantiene 5 versiones del

archivo

• Notifica syslog cada vez

que el archivo es re-
inicializado.

• Archivos bitácoras Samba

son rotados cada semana
– no son movidos y

restablecidos, sino copiados
y truncados

#Example log rotation policy
error sa-book@admin.com
rotate 5
weekly
/var/log/messages{

postrotate

/bin/kill – HUP `cat/var/run/syslogd.pid`

endscript.

}
/var/log/samba/*.log{

notifempty
copytruncate
sharedscripts
postrotate

/bin/kill – HUP `cat /var/lock/samba/*.p
  • Links de descarga
http://lwp-l.com/pdf12206

Comentarios de: Syslog (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad