Skip to main content

Configuración del cliente con template

Ahora ya dispone de un cliente en el entorno (realmente dos si tiene en cuenta el propio servidor). Por lo que llega el momento de usar código para configurar las opciones que quiera que esten en la máquina cliente.

Volviendo a revisar el fichero /etc/puppetlabs/code/environments/production/hiera.yaml encuentra que el parámetro datadir contiene la ruta relativa a donde reside el fichero hiera.yaml. Tal y como indica, se encuentra a la misma altura.

cd /etc/puppetlabs/code/environments/production/data

Y tal y como se ha indicado en el fichero hiera.yaml los ficheros de los nodos residiran en una carpeta interna llamada nodes. Por defecto no existe, por lo que hay que crearla. Lo mismo sucede para los templates de sistema operativo (osfamily).

mkdir -p /etc/puppetlabs/code/environments/production/data/nodes

Cree el fichero para el nodo llamado puppet-client con

nano /etc/puppetlabs/code/environments/production/data/nodes/puppet-client.psc.local.yaml

Y añada el siguiente contenido de ejemplo, que instalará y configurará el agente Zabbix

---
classes:
  - zabbix_agent2

zabbix_agent2::zabbix_version: '6.2'
zabbix_agent2::repo_manage: true
zabbix_agent2::package_manage: true
zabbix_agent2::package_ensure: latest
zabbix_agent2::package_name: ['zabbix-agent2']
zabbix_agent2::service_enable: true
zabbix_agent2::service_ensure: 'running'
zabbix_agent2::service_manage: true
zabbix_agent2::service_name: 'zabbix-agent2'
zabbix_agent2::service_provider: ~
zabbix_agent2::service_hasstatus: true
zabbix_agent2::service_hasrestart: true
zabbix_agent2::config:
  PidFile: '/run/zabbix/zabbix_agent2.pid'
  LogFile: '/var/log/zabbix/zabbix_agent2.log'
  LogFileSize: 0
  Server: '192.168.0.24'
  ServerActive: '192.168.0.24'
  Hostname: "%{::hostname}"
  Include: '/etc/zabbix/zabbix_agent2.d/*.conf'
  ControlSocket: '/tmp/agent.sock'

Debe asegurarse de que tiene el módulo instalado en el servidor. Por defecto no viene, así que debe proceder a instalarlo.

puppet module install puppetlabs-apt
puppet module install puppetlabs-stdlib --version 6.6.0 --force
puppet module install gjerjens-zabbix_agent2

A continuación, en el cliente, ejecute el comando de actualización de puppet

puppet agent -vt

En el primer intento, puede que falle la instalación, ya que no habrá introducido el repositorio. Por lo que una vez vuelva a ejecutarlo se deberá instalar el paquete sin problemas.

Si ahora visualiza el contenido del fichero de configuración de Zabbix, podrá ver que se ha añadido el contenido.