cloudalchemy.node_exporter

OBSOLETO

Este rol ha sido descontinuado en favor de la colección prometheus-community/ansible.

Rol de Ansible: exportador de nodo

Licencia Rol de Ansible Etiqueta de GitHub

Advertencia

Debido a limitaciones de galaxy.ansible.com, tuvimos que mover el rol a https://galaxy.ansible.com/cloudalchemy/node_exporter y usar _ en lugar de - en el nombre del rol. Este es un cambio rompedor y, desafortunadamente, afecta a todas las versiones del rol de exportador de nodo, ya que ansible galaxy no ofrece ninguna forma de redireccionamiento. Pedimos disculpas por los inconvenientes.

Descripción

Despliega el exportador de nodo de Prometheus usando Ansible.

Requisitos

  • Ansible >= 2.7 (Puede funcionar en versiones anteriores, pero no podemos garantizarlo)
  • gnu-tar en el host del desplegador de Mac (brew install gnu-tar)
  • Passlib es necesario al usar la función de autenticación básica (pip install passlib[bcrypt])

Variables del Rol

Todas las variables que se pueden sobreescribir están almacenadas en defaults/main.yml y se enumeran en la tabla a continuación.

Nombre Valor por Defecto Descripción
node_exporter_version 1.1.2 Versión del paquete del exportador de nodo. También acepta "última" como parámetro.
node_exporter_binary_local_dir "" Permite el uso de paquetes locales en lugar de los distribuidos en GitHub. El parámetro puede configurarse a un directorio donde se almacena el binario node_exporter en el host donde se ejecuta Ansible. Esto anula el parámetro node_exporter_version.
node_exporter_web_listen_address "0.0.0.0:9100" Dirección en la que escuchará el exportador de nodo.
node_exporter_web_telemetry_path "/metrics" Ruta bajo la cual se expondrán métricas.
node_exporter_enabled_collectors ["systemd",{textfile: {directory: "{{node_exporter_textfile_dir}}"}}] Lista de diccionarios que definen coleccionistas habilitados adicionalmente y su configuración. Añade coleccionistas a los habilitados por defecto.
node_exporter_disabled_collectors [] Lista de coleccionistas deshabilitados. Por defecto, el exportador de nodo deshabilita los coleccionistas que se enumeran aquí.
node_exporter_textfile_dir "/var/lib/node_exporter" Directorio utilizado por el Textfile Collector. Para obtener permisos para escribir métricas en este directorio, los usuarios deben estar en el grupo del sistema node-exp. Nota: Más información en la guía TROUBLESHOOTING.md.
node_exporter_tls_server_config {} Configuración para la autenticación TLS. Las claves y valores son los mismos que en la documentación del exportador de nodo.
node_exporter_http_server_config {} Configuración para soporte HTTP/2. Las claves y valores son los mismos que en la documentación del exportador de nodo.
node_exporter_basic_auth_users {} Diccionario de usuarios y contraseñas para la autenticación básica. Las contraseñas se hash automáticamente con bcrypt.

Ejemplo

Playbook

Úsalo en un playbook de la siguiente manera:

- hosts: all
  roles:
    - cloudalchemy.node_exporter

Configuración de TLS

Antes de ejecutar el rol de exportador de nodo, el usuario necesita provisionar su propio certificado y clave.

- hosts: all
  pre_tasks:
    - name: Crear el directorio cert de node_exporter
      file:
        path: "/etc/node_exporter"
        state: directory
        owner: root
        group: root

    - name: Crear cert y clave
      openssl_certificate:
        path: /etc/node_exporter/tls.cert
        csr_path: /etc/node_exporter/tls.csr
        privatekey_path: /etc/node_exporter/tls.key
        provider: selfsigned
  roles:
    - cloudalchemy.node_exporter
  vars:
    node_exporter_tls_server_config:
      cert_file: /etc/node_exporter/tls.cert
      key_file: /etc/node_exporter/tls.key
    node_exporter_basic_auth_users:
      randomuser: examplepassword

Sitio de Demostración

Proporcionamos un sitio de ejemplo que demuestra una solución completa de monitoreo basada en Prometheus y Grafana. El repositorio con el código y enlaces a instancias en ejecución está disponible en GitHub y el sitio está hospedado en DigitalOcean.

Pruebas Locales

La manera preferida de probar el rol localmente es usar Docker y molecule (v3.x). Debes instalar Docker en tu sistema. Consulta "Comenzar" para un paquete de Docker adecuado para tu sistema. Ejecutar tus pruebas es tan sencillo como ejecutar molecule test.

Integración Continua

Combinar molecule y CircleCI nos permite probar cómo se comportarán nuevas PR al usarse con múltiples versiones de Ansible y varios sistemas operativos. Esto también nos permite crear escenarios de prueba para diferentes configuraciones de roles. Como resultado, tenemos una matriz de pruebas bastante amplia, que puede tomar más tiempo que las pruebas locales, así que por favor sé paciente.

Contribuyendo

Consulta la guía para colaboradores.

Solución de Problemas

Consulta solución de problemas.

Licencia

Este proyecto está bajo la Licencia MIT. Consulta LICENSE para más detalles.

Acerca del proyecto

Prometheus Node Exporter

Instalar
ansible-galaxy install cloudalchemy.node_exporter
Licencia
mit
Descargas
3.3M
Propietario
Setup your monitoring stack with ansible