systemadmin.es > Gestión de cofiguración > Instalar mcollective con RabbitMQ

Instalar mcollective con RabbitMQ

Vamos a ver como realizar la configuración inicial de mcollective en Ubuntu 14.04

La terminología habla de los servidores como los agentes que instalamos en las maquinas a controlar, mientras que el cliente es desde dónde lazamos los comandos. Me voy a referir al servidor dónde vamos a instalar el RabbitMQ (seguramente el servidor de puppet) como el master.

Por lo tanto, en el master instalamos:

# aptitude install mcollective mcollective-client rabbitmq-server ruby-stomp

Deberemos habilitar stomp y management:

rabbitmq-plugins enable rabbitmq_stomp
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart

Nos bajamos el rabbitmqadmin y le damos permisos de ejecución:

wget http://127.0.0.1:15672/cli/rabbitmqadmin -P /usr/local/bin
chmod +x /usr/local/bin/rabbitmqadmin

Creamos el usuario para los agentes:

rabbitmqadmin declare user name=mcollective password=marionette tags=mco
rabbitmqadmin declare permission vhost=/ user=mcollective configure=.* write=.* read=.*
rabbitmqadmin declare exchange name=mcollective_broadcast type=topic
rabbitmqadmin declare exchange name=mcollective_directed type=direct

Y definimos el listen del servicio:

cat <<EOF > /etc/rabbitmq/rabbitmq.config
[
 {rabbitmq_stomp, [{tcp_listeners, [{"0.0.0.0", 6163}]}]}
].
EOF

Reiniciamos para aplicar los cambios:

service rabbitmq-server restart

A continuación definimos la configuración para el cliente de mcollective (/etc/mcollective/client.cfg) cambiando según nuestro caso:

  • usuario del RabbitMQ
  • contraseña del RabbitMQ
  • psk: clave compartida

Un ejemplo de client.cfg sería:

cat <<EOF > /etc/mcollective/client.cfg 
direct_addressing = 1
connector = rabbitmq

plugin.psk = viscacatalunya

plugin.rabbitmq.vhost = /
plugin.rabbitmq.pool.size = 1
plugin.rabbitmq.pool.1.host = puppet
plugin.rabbitmq.pool.1.port = 6163
plugin.rabbitmq.pool.1.user = mcollective
plugin.rabbitmq.pool.1.password = marionette
EOF

En los agentes instalaremos:

apt-get install mcollective

La configuración del agente, deberá ser simétrica a la del master:

cat <<EOF > /etc/mcollective/server.cfg
direct_addressing = 1
connector = rabbitmq

plugin.psk = viscacatalunya

plugin.rabbitmq.vhost = /
plugin.rabbitmq.pool.size = 1
plugin.rabbitmq.pool.1.host = puppet
plugin.rabbitmq.pool.1.port = 6163
plugin.rabbitmq.pool.1.user = mcollective
plugin.rabbitmq.pool.1.password = marionette
EOF

Reiniciamos mcollective para aplicar:

service mcollective restart

Para verificar que ya tenemos los agentes conectados al master podemos hacer un mco ping para ver los agentes registrados:

# mco ping
ejemplo1                                  time=13.99 ms


---- ping statistics ----
1 replies max: 13.99 min: 13.99 avg: 13.99 

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>