PICA: Perl Installation and Configuration Agent

Una solución inteligente para administración de sistemas


Tabla de contenidos
Introducción
Fundamentos de PICA
Posibilidades de PICA
Configuración de PICA
Usos comunes de PICA
Gestión de alarmas: PIFIA
El PPP (Perl PreProcessor)
Ejemplos de usos reales de PICA
Conclusiones
Licencia

Introducción

PICA es una pequeña herramienta escrita en Perl para ayudar a los administradores de sistemas a mantener coherente la configuración de sus máquinas. Además de en el lenguaje Perl, PICA se basa en muchas ideas de la herramienta PIKT, y en SSH, para enviar todos los datos de unas máquinas a otras de forma segura.

¿Por qué escribimos PICA?

Necesitábamos una forma de mantener una copia de la configuración de los servidores en una de las máquinas, para luego poder copiar los ficheros necesarios a las que hiciera falta. Hasta el momento estábamos usando PIKT, pero había muchas cosas que no nos gustaban. La idea encajaba perfectamente con nosotros, pero necesitábamos más potencia, más flexibilidad, más seguridad y más comodidad. Las alternativas tampoco nos gustaban por diferentes razones, como veremos más adelante.

¿Por qué no PIKT?

PIKT es un programa escrito en C cuyo cometido es copiar ficheros a máquinas remotas, instalar alarmas y ejecutar órdenes remotamente. Es una herramienta bastante útil para administradores de sistemas, y nosotros la usamos durante un tiempo, pero decidimos escribir PICA y dejar de usar PIKT por varias razones, entre las que destacan:

  • Uso de portmapper para las comunicaciones, por el historial de problemas de seguridad y la apertura de un servicio que no usábamos para nada más.

  • Imposibilidad de enviar ficheros binarios.

  • Sistema de condiciones muy pobre.

  • Imposibilidad de generar partes de los ficheros dinámicamente.

  • Varios fallos graves en el propio programa, debidos en parte al perfil de su creador (administrador de sistemas y no programador).

  • Falta de una forma sencilla de distribuir ficheros sin tener que adaptarlos a una sintaxis determinada.

  • Necesidad de decidir de antemano qué servidores iban a tener ficheros distribuidos automáticamente, ya que hay que instalar un cliente en cada una de estas máquinas.

  • En general, un enfoque muy complejo, difícil de entender y un programa difícil de modificar para resolver un problema muy simple.

Alternativas a PIKT

Algunas de las alternativas a PIKT (y PICA) son cfengine, arusha, big sister, y gap. Ninguna de ellas satisfacía todas nuestras necesidades de administración, o resultaron demasiado complicadas para el problema que queríamos resolver.

Sin duda, y obviando PIKT, cfengine es la herramienta más parecida a PICA. Sus inconvenientes: tener que aprender muchos conceptos nuevos, compuesto por varios programas (instalación más compleja) y necesidad de aprender un lenguaje de configuración específico para usar la herramienta. Además, aparentemente no permite copiar los ficheros variando su contenido según la máquina o cualquier otra condición.

Arusha no termina de resolver nuestros problemas, por ser un «marco» en el que trabajar y construir las soluciones de administración. Por si fuera poco, necesita también conocer un lenguaje de configuración específico (en XML) para poder usarlo. PICA da una solución mucho más simple, más sencilla de aprender y que puede usarse al poco tiempo de instalar el programa.

Big sister es una aplicación de monitorización, que nada tiene que ver con PICA: ambas herramientas son complementarias y podrían usarse conjuntamente.

Por último, gap es un proyecto demasiado ambicioso para nuestros problemas diarios. Al igual que algunas de las otras alternativas, necesita aprender su forma de trabajo, y parece más enfocado hacia la monitorización y ejecución remota que a la simple copia de ficheros.

¿Dónde conseguir PICA?

La página oficial de PICA está en SourceForge, en la URL http://pica.sf.net, y se distribuye por la licencia GPL. Hay disponibles paquetes Debian y RPM, además del paquete original .tar.gz.