PICA: Perl Installation and Configuration Agent: Una solución inteligente para administración de sistemas | ||
---|---|---|
Anterior | Siguiente |
Llamamos «alarmas» a pequeños programas que comprueban el estado de los servicios del sistema y avisan de las posibles anomalías, intentando quizás recobrar el estado normal. Todos los ficheros y convenciones de PICA en torno a las alarmas reciben el nombre de PIFIA (PICA Framework for Integrated Alarms).
Las alarmas se instalan como ficheros normales en las máquinas remotas, aunque tienen algunas propiedades adicionales y la forma de declararlas es diferente a la de los objetos corrientes. El trato homogéneo de todos los objetos tiene varias ventajas:
No añadimos conceptos nuevos ni el administrador tiene que recordar otra sintaxis.
Pueden instalarse diferentes versiones en distintas máquinas, si fuera necesario o conveniente.
Evitamos un trato especial a las alarmas, que de esta forma pueden entenderse como simples ficheros. Esto facilita la creación de programas de gestión de alarmas (por nosotros y por terceros) y facilita que, en caso de problemas, los administradores puedan cambiarlas, moverlas, borrarlas, o manipularlas de cualquier forma manualmente.
Una vez copiadas en la máquina destino se ejecutan periódicamente (como un trabajo cron normal y corriente), evitando así la dependencia de la conexión con el servidor «principal», del que se copiaron originalmente las alarmas.
En el apartado de configuración ya hemos visto cómo declarar un objeto. Las diferencias entre los objetos normales y las alarmas son:
Las alarmas tienen una propiedad obligatoria adicional, priority, que indica la frecuencia con la que se ejecuta. La prioridad puede ser «Emergency», «Urgent» y «Warning».
En vez de la palabra file, las alarmas usan la palabra alarm.
No puede especificarse el atributo path, dado que las alarmas se copian siempre a un directorio especial (que, hasta cierto punto, puede personalizar el administrador).
Las alarmas añaden una construcción optativa llamada uses, para especificar dependencias de la alarma. Los ficheros especificados aquí, que se instalan siempre que se instala la alarma, son normalmente ficheros de configuración de las alarmas. Por supuesto, estos ficheros pueden declararse y copiarse aparte, pero se corre el peligro de copiar las alarmas y no los ficheros de configuración.
Para no mezclar los ficheros de alarmas con los demás objetos, por defecto las alarmas se buscan en $picasrc/alarms en vez de a partir de $picasrc.
Con todo esto, tenemos que un ejemplo de declaración de alarma podría ser:
Ejemplo 10. Ejemplo de declaración de alarma
alarm alarmaPrueba { source = prueba; priority = Urgent; vars { mivariable = mivalor; limite = 80; servidor = central; modo = simple; rutabin = /usr/local/bin; } uses { file alarmaPruebaConfig { source = alarms/config/prueba.conf; path = <# $picaalarms #>/config/prueba.conf; } } } |
Actualmente podemos decir que PIFIA se compone de:
Un módulo de Perl con definiciones útiles para escribir alarmas, como persistencia en forma de extensión de la sintaxis.
Tres programas para gestionar las alarmas de forma local (aunque están pensados para instalarse y ejecutarse remotamente con PICA).
Un programa que ejecuta periódicamente todas las alarmas que haya instaladas en un momento dado.
Un fichero para el cron, que ejecuta las alarmas en los intervalos apropiados.
Un fichero para incluir en objects.conf que define todos los ficheros necesarios para ejecutar las alarmas. Estos ficheros deben copiarse a cualquier máquina donde queramos ejecutarlas.