puppet11
Puppet(XI): Reportes
Hasta ahora hemos visto como configurar y utilizar Puppet, a continuación vamos a ver como obtener información sobre lo que Puppet está haciendo.
Puppet incorpora varias opciones para los reportes. Yo voy a utilizar la opción de generar gráficas con la herramienta RRDTool y luego dejarlas accesibles vía web. Para ello se han instalado los parquetes rrdtool y ruby-RRDtool.
# yum install rrdtool ruby-RRDtool
Una vez hecho esto añadimos al fichero de configuración /etc/puppet/puppet.conf del servidor Puppet las siguientes líneas:
[puppetmasterd]
reports = rrdgraph
Ahora en la configuración de los clientes
/etc/sysconfig/puppet añadimos la siguiente opción:
# Activar reportes
PUPPET_EXTRA_OPTS=--report
Este cambio lo hacemos en este fichero y no en /etc/puppuet/puppet.conf para evitar el problema que sucede con el servidor Puppet si a la vez es un cliente como sucede en nuestro caso.
Con estos cambios se nos generan unas gráficas RRD en el directorio /var/lib/puppet/rrd del servidor Puppet. Para poder visualizarlas via web se han añadido las siguientes líneas a la configuración del Apache del servidor Puppet /etc/httpd/conf/httpd.conf):
<Directory "/var/lib/puppet/rrd">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
ServerAdmin webmaster@ehu.es
DocumentRoot /var/www/html
ServerName servidorpuppet.ehu.es
ErrorLog logs/error_log
CustomLog logs/access_log combined
Alias /puppet /var/lib/puppet/rrd
</VirtualHost>
Para acceder a ellas simplemente nos hemos de conectar a la siguiente dirección: http://servidorpuppet/puppet
Este mecanismo de reporte es muy limitado. Para mejorar estos reportes existen otras herramientas como Puppet-DashBoard y The Foreman.
PUPPET-DASHBOARD
(http://www.puppetlabs.com/puppet/related-projects/dashboard/)
Herramienta GUI para ver que está haciendo Puppet. Es desarrollado por el mismo equipo que mantiene Puppet. Es una herramienta poco madura, de hecho la versión 1.0 acaba de salir hace pocas semanas.
El resumen de mi primera impresión es el siguiente:
- Documentación prácticamente inexistente
- Va muy lenta (en este caso habría que tener en cuenta que el servidor sobre el que la tenía instalada tenía unos recursos bastante limitados)
- Escasez de opciones de configuración
- Permite visualización de todo en acceso anónimo. Permite el registro de usuarios aunque no he encontrado diferencias entre los usuarios registrados y los anónimos.
Instalación:
# yum install rubygems rubygem-rake ruby-mysql # rpm -Uvh http://yum.puppetlabs.com/base/puppet-dashboard-1.0.0-4.noarch.rpm
Nos creamos una BBDD en el servidor MySQL. Editamos el fichero /usr/share/puppet-dashboard/config/database.yml (usamos el database.yml.example como ejemplo y hemos de configurar la sección Development)
# cd /usr/share/puppet-dashboard
# rake install
(nos crea las tablas de la BBDD)
# service puppet-dashboard start
(nos lanza el demonio en el puerto 3000)
Nos conectamos a http://servidorpuppet.ehu.es:3000 y ya vemos el reporte de ejemplo.
FOREMAN
(http://theforeman.org)
Otro interfaz para visualizar los reportes de Puppet con mayor funcionalidad. Mi primera impresión ha sido la siguiente:
- Va muy lenta (en este caso habría que tener en cuenta que el servidor sobre el que la tenía instalada tenía unos recursos bastante limitados)
- Más documentación que en Puppet-DashBoard
- Validación contra LDAP (aunque no la he conseguido hacer funcionar)
- Permite enviar reportes por email
Instalación:
# yum install rubygems rubygem-rake rubygem-sqlite3-ruby
Descargar los siguientes paquetes e instalarlos:
http://theforeman.org/repo/el5/noarch/foreman-0.1.4.3.noarch.rpm
http://theforeman.org/repo/el5/noarch/rubygem-rack-1.0.1-1.noarch.rpm
# service foreman restart
Conectarse a http://servidorpuppet.ehu.es:3000
La configuración se hace a través del propio interfaz web o de los ficheros
del directorio /usr/share/foreman/config/.
… Y de momento esto es todo …