dorancemc.ansible_nagioscore

Nagios Core

Rol para desplegar Nagios Core

Requisitos

Ninguno

Variables del Rol

Los objetos están definidos en archivos yaml y se convierten en archivos de configuración a partir de plantillas.
Puedes ver más detalles sobre las variables en la carpeta default/main.

Las variables definidas por sistema operativo están en la carpeta vars/.

Reemplaza los valores predeterminados en el archivo vars.yaml y encripta este archivo.

Para modificar los datos de las variables, copia la carpeta nagios que se encuentra dentro de la carpeta principal a tu carpeta de inventario local, preferentemente en la carpeta group_vars/ o host_vars/.

- Hosts y Servicios

Los hosts y los servicios se pueden definir en una variable o por archivo.
En localhost.yaml encontrarás un ejemplo para definir nuevos hosts. Copia la carpeta files/nagios en tu ubicación preferida.

Puedes crear archivos por host para definir los hosts y los servicios. Crea la carpeta y actualiza la variable para indicar la ubicación de los archivos.
# nagios_hosts_path: inventory/nagios_hosts

En la carpeta de inventario crea un archivo como este:

_host:
  host_name: nombre_del_host #requerido
  address: 192.168.0.1 #si no está definido, se reemplaza por el nombre
  alias: Descripción del Servidor
  use: template #si no está definido, nagios_host_template_default var es la plantilla predeterminada
_services:
  servicename: servicecommand!arguments # se define con 'nagios_service_template_default' como plantilla de servicio
  servicename-other: 
    use: service_template
    check_command: servicecommand!arguments!arguments #sintaxis: <nombre_comando>!$ARG1$!$ARG2$
                                                      #consulta el archivo commands.yaml para validar el servicecommand y los parámetros

Define los grupos de hosts y grupos de servicios en las variables nagios_hostgroups y nagios_servicegroups,
luego puedes agregar si un host y un servicio pertenecen allí.

- Contactos

Consulta el archivo contacts.yaml para obtener más detalles sobre las variables. Para asegurar que el usuario se eliminó del archivo httpasswd, agrega los datos state: absent en la definición del contacto, el usuario será eliminado de la definición de contactos y del archivo htpasswd.

- Grupos de Contactos

Los grupos de contactos son la mejor manera de manejar notificaciones, crear un contacto y unirse a grupos. Si se define un contact_group en el host, todos los servicios heredan el mismo grupo de contactos, o puedes definir un grupo de contactos por servicio.

Dependencias

Ninguna

Ejemplo de Playbook

Define tu grupo nagios e incluye todos tus servidores nagios allí

[nagios]
nagios.ejemplo.com ansible_host=192.168.243.220

Incluye esto en tu configuración predeterminada del playbook:

- hosts: nagios
  roles:
    - { role: dorancemc.ansible-nagioscore, tags: [ nagioscore ] }

Ejecuta tu playbook para aplicar este rol

ansible-playbook --limit ubuntu playbook.yaml --tags nagioscore

Si deseas aplicar solo la configuración, aplica la etiqueta nagios_config

ansible-playbook --limit ubuntu playbook.yaml --tags nagios_config

Grafana

Este despliegue admite la integración con Grafana. Después del despliegue, puedes instalar Grafana manualmente
y seguir estas instrucciones para completar la integración.
https://support.nagios.com/kb/article/nagios-core-using-grafana-with-pnp4nagios-803.html#Grafana_Config

O utiliza la receta de ansible y configura estas variables para completar la integración.
https://github.com/cloudalchemy/ansible-grafana

grafana_plugins:
  - sni-pnp-datasource

grafana_datasources:
  - name: PNP
    type: sni-pnp-datasource
    isDefault: true
    access: proxy
    url: 'http://127.0.0.1/pnp4nagios/'
    basicAuth: false

Licencia

BSD

Información del Autor

Dorance Martinez @dorancemc

Acerca del proyecto

Role to install Nagios Core and run hosts configuration

Instalar
ansible-galaxy install dorancemc.ansible_nagioscore
Licencia
Unknown
Descargas
84
Propietario