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: present
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.