Siguiente: El sistema de parcheado
Subir: AIX
Anterior: El fichero /etc/security/group
Índice General
Al igual que sucede en cualquier sistema Unix, en AIX la información y los
errores generados por eventos en el sistema son gestionados por el demonio syslogd, que en función de su configuración (en el
archivo /etc/syslogd.conf) envía sus
registros a consola, a un fichero, a un programa, a otro sistema...tal y
como se explica en el capítulo dedicado a la auditoría de sistemas
Unix. No obstante, además de syslogd, AIX proporciona otro mecanismo
para la gestión de errores y mensajes del hardware, del sistema
operativo y de las aplicaciones, ofreciendo una información muy valiosa para
determinar cualquier tipo de problemas en el entorno ([Skl01]); mientras
que por defecto syslogd no realiza ningún tipo de registro en AIX,
este sistema no necesita ningún tipo de configuración adicional para
comenzar a realiza su trabajo. Además, viene `de serie', ya que este
mecanismo adicional forma parte de los paquetes bos.rte y bos.sysmgt.serv_aid, instalados por defecto con el operativo:
bruja:/etc# lslpp -l bos.rte bos.sysmgt.serv_aid
Fileset Level State Description
--------------------------------------------------------------------------
Path: /usr/lib/objrepos
bos.rte 4.3.3.10 COMMITTED Base Operating System Runtime
bos.sysmgt.serv_aid 4.3.3.50 COMMITTED Software Error Logging and
Dump Service Aids
Path: /etc/objrepos
bos.rte 4.3.3.0 COMMITTED Base Operating System Runtime
bos.sysmgt.serv_aid 4.3.3.50 COMMITTED Software Error Logging and
Dump Service Aids
bruja:/etc#
Al arrancar una máquina AIX desde /etc/inittab se invoca a /sbin/rc.boot, shellscript donde se inicializa el demonio errdemon,
encargado de monitorizar contínuamente el archivo /dev/error
y crear los registros de error en el fichero correspondiente; a diferencia de
syslogd, errdemon no escribe una entrada cada vez que se registra
un evento, sino que lo hace mediante buffers tal y como se le indica en
su base de datos de notificación de errores, /etc/objrepos/errnotify.
Además, el registro de errores por defecto se mantiene en /var/adm/ras/errlog, mientras que el último log generado se guarda en
memoria NVRAM de forma que en el arranque del sistema se añade al registro
cuando se inicializa el demonio.
Los registros guardados por errdemon están en modo binario (a
diferencia de los logs habituales en Unix) por defecto, como hemos
comentado, dentro del fichero
/var/adm/ras/errlog; de esta forma, para visualizarlos
necesitaremos ciertas herramientas que vienen con el sistema; podemos utilizar
desde línea de comandos la orden errpt o bien - como siempre en AIX
- invocarla desde SMIT. En cualquier caso, mediante esta herramienta
se genera en tiempo real un informe de errores:
bruja:/# errpt |head -2
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION
AA8AB241 0506081102 T O OPERATOR OPERATOR NOTIFICATION
bruja:/#
Como podemos ver, cada línea mostrada por esta orden es uno de los
registros procesados; la primera columna es un identificador de error único y
la segunda indica la hora en que se generó el mismo en formato mmddhhmmyy (mes, día, hora, minuto y año). La tercera describe el tipo
de error registrado: una `T' indica que es temporal, una `P' que es permanente y
una `U' que es desconocido. La cuarta columna define la clase del error (`S'
para errores software, `H' para hardware y `O' para entradas
generadas mediante errlogger, como veremos después). Finalmente, la
quinta columna indica el recurso afectado, y la última una descripción del
error. Si pensamos que el formato es algo complicado de interpretar a simple
vista (quizás tengamos razón), podemos utilizar la opción `-a' de
la orden, que muestra los registros con un mayor nivel de detalle, hasta el
punto de indicar las posibles causas del problema y su solución (aunque
realmente esta información no es tan útil como pueda parecer en principio):
bruja:/# errpt -a|head -36
-------------------------------------------------------------------------
LABEL: SRC
IDENTIFIER: E18E984F
Date/Time: Mon May 6 07:02:05
Sequence Number: 30479
Machine Id: 000000375C00
Node Id: bruja
Class: S
Type: PERM
Resource Name: SRC
Description
SOFTWARE PROGRAM ERROR
Probable Causes
APPLICATION PROGRAM
Failure Causes
SOFTWARE PROGRAM
Recommended Actions
PERFORM PROBLEM RECOVERY PROCEDURES
Detail Data
SYMPTOM CODE
0
SOFTWARE ERROR CODE
-9017
ERROR CODE
9
DETECTING MODULE
'srchevn.c'@line:'288'
FAILING MODULE
qdaemon
-------------------------------------------------------------------------
bruja:/#
El archivo errlog es un registro circular, es decir, almacena tantas
entradas como se define al arrancar el demonio errdemon. Al llegar una
nueva entrada, se almacena primero en un buffer intermedio para minimizar
la probabilidad de pérdida del registro, y a continuación se pasa al
fichero errlog; en este punto, si se va a sobrepasar el tamaño máximo
del archivo, se elimina la primera entrada registrada. Podemos consultar los
parámetros de configuración actuales mediante errdemon, y quizás
nos interese también modificar alguno de ellos en el arranque del sistema;
por ejemplo, [Bha01] recomienda incrementar el tamaño por defecto de
los buffers y del archivo de log para obtener un mejor registro de
auditoría:
bruja:/# /usr/lib/errdemon -l
Error Log Attributes
---------------------------------------------
Log File /var/adm/ras/errlog
Log Size 1048576 bytes
Memory Buffer Size 8192 bytes
bruja:/# /usr/lib/errdemon -s4194304 -B32768
The error log memory buffer size you supplied will be rounded up
to a multiple of 4096 bytes.
bruja:/# /usr/lib/errdemon -l
Error Log Attributes
---------------------------------------------
Log File /var/adm/ras/errlog
Log Size 4194304 bytes
Memory Buffer Size 32768 bytes
bruja:/#
Otra herramienta interesante para trabajar con el sistema de registro de AIX
es errlogger; la funcionalidad de la misma es similar a la de la orden
logger en otros Unices: añadir entradas al fichero de log desde
línea de comandos, por ejemplo a la hora de registrar eventos desde un
shellscript:
bruja:/# errlogger Mensaje de prueba
bruja:/# errpt |head -2
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION
AA8AB241 0506081102 T O OPERATOR OPERATOR NOTIFICATION
bruja:/# errpt -a |head -25
-------------------------------------------------------------------------
LABEL: OPMSG
IDENTIFIER: AA8AB241
Date/Time: Mon May 6 08:11:54
Sequence Number: 30480
Machine Id: 000000375C00
Node Id: bruja
Class: O
Type: TEMP
Resource Name: OPERATOR
Description
OPERATOR NOTIFICATION
User Causes
ERRLOGGER COMMAND
Recommended Actions
REVIEW DETAILED DATA
Detail Data
MESSAGE FROM ERRLOGGER COMMAND
Mensaje de prueba
-------------------------------------------------------------------------
bruja:/#
AIX ofrece más herramientas para realizar diferente tareas sobre su sistema
nativo de log: eliminar entradas (errclear), instalar nuevas
entradas en el archivo de configuración (errinstall), detener el
demonio errdemon (errstop); para obtener información adicional
podemos consultar el capítulo 10 de [IBM97a]. El sistema de log en AIX es una de las características más potentes que
el operativo nos ofrece, proporcionando un nivel de detalle y granularidad en
la clasificación de eventos muy superior al de syslogd; no obstante, la
cantidad de información registrada, y el hecho de que no existan herramientas
`de serie' (realmente sí que las hay, en muchos casos simples scripts desarrolladas por terceros) que informen de algún modo especial ante
errores graves, hacen que no se consulte mucho el log y se pierdan
entradas que son importantes, no sólo en lo referente a la seguridad del
sistema sino también en lo que concierne a su estabilidad.
Siguiente: El sistema de parcheado
Subir: AIX
Anterior: El fichero /etc/security/group
Índice General
2003-08-08