darkwizard242.node_exporter
Rol de Ansible: Node Exporter
Rol para instalar (por defecto) node_exporter en sistemas Debian/Ubuntu y EL.
Requisitos
Ninguno en particular.
El archivo de servicio systemd creado para node_exporter transmite la salida estándar y el error estándar a syslog
, y el SyslogIdentifier se establece como node_exporter
. Por lo tanto, puedes revisar los registros de node_exporter
ejecutando el comando sudo journalctl -u node_exporter.service
en el sistema. Además, puede que desees configurar rsyslog para recopilar registros con nombre del programa node_exporter
y enviarlos a un archivo específico para mantener los archivos de registro. Para la rotación de registros, el rol darkwizard242.logrotate está disponible en Ansible Galaxy.
Variables del rol
Las variables disponibles se enumeran a continuación (ubicadas en defaults/main.yml
):
Lista de variables:
node_exporter_app: node_exporter
node_exporter_version: 1.5.0
node_exporter_osarch: linux-amd64
node_exporter_archive_format: tar.gz
node_exporter_dl_url: "https://github.com/prometheus/{{ node_exporter_app }}/releases/download/v{{ node_exporter_version }}/{{ node_exporter_app }}-{{ node_exporter_version }}.{{ node_exporter_osarch }}.{{ node_exporter_archive_format }}"
node_exporter_app_group: "{{ node_exporter_app }}"
node_exporter_app_group_desired_state: present
node_exporter_app_user: "{{ node_exporter_app }}"
node_exporter_app_user_desired_state: present
node_exporter_app_user_home_state: no
node_exporter_app_user_shell: /bin/false
node_exporter_temp_path: /tmp
node_exporter_bin_path: /usr/local/bin
node_exporter_bin_path_mode: '0755'
node_exporter_bin_path_remote_src: yes
node_exporter_systemd_service_setup: true
node_exporter_systemd_service_name: "{{ node_exporter_app }}"
node_exporter_systemd_service_flags: --collector.systemd --collector.processes --collector.mountstats
node_exporter_systemd_service_template: "{{ node_exporter_app }}.service.j2"
node_exporter_systemd_service_template_dest: "/etc/systemd/system/{{ node_exporter_app }}.service"
node_exporter_systemd_service_template_user: root
node_exporter_systemd_service_template_group: root
node_exporter_systemd_service_template_dest_mode: '0644'
node_exporter_systemd_service_template_backup: yes
node_exporter_systemd_service_desired_state: restarted
node_exporter_systemd_service_desired_boot_enabled: yes
node_exporter_app_port: 9100
node_exporter_app_check_status_code: 200
node_exporter_app_check_status_code_retries: 10
node_exporter_app_check_status_code_delay: 5
Tabla de variables:
Variable | Descripción |
---|---|
node_exporter_app | Define la aplicación a instalar, es decir, node_exporter |
node_exporter_version | Definido para obtener dinámicamente la versión deseada a instalar. Por defecto: 1.5.0 |
node_exporter_osarch | Define la arquitectura del sistema operativo. Se utiliza para obtener el tipo correcto de binarios según la arquitectura del sistema operativo. Por defecto: linux-amd64 |
node_exporter_archive_format | Definido para usar al descargar el archivo. |
node_exporter_dl_url | Define la URL para descargar el binario de node_exporter. |
node_exporter_app_group | Nombre del grupo al que pertenecerá el propietario de node_exporter. Por defecto node_exporter . |
node_exporter_app_group_desired_state | present indica crear el grupo si no existe. La alternativa es absent. |
node_exporter_app_user | Nombre del usuario que será propietario de node_exporter. Por defecto node_exporter . |
node_exporter_app_user_desired_state | present indica crear el usuario si no existe. La alternativa es absent. |
node_exporter_app_user_home_state | Se establece en 'no' para no crear un directorio principal para el usuario node_exporter . |
node_exporter_app_user_shell | Variable utilizada para definir si el usuario debería tener un shell predeterminado. Se establece en /bin/false ya que no es requerido. |
node_exporter_temp_path | Ruta temporal donde se descarga y extrae el archivo de node_exporter. |
node_exporter_bin_path | Ruta en la que se coloca el node_exporter real. |
node_exporter_bin_path_mode | Permisos para el binario de node_exporter . |
node_exporter_bin_path_remote_src | Definido para permitir que ansible maneje la operación de descompresión en hosts remotos. |
node_exporter_systemd_service_setup | Utilizado como condición cuando se configura un archivo de servicio systemd para node_exporter . Si se establece en false , no se creará el archivo de servicio. |
node_exporter_systemd_service_name | Nombre del archivo de servicio systemd cuando node_exporter_systemd_service_setup está configurado en true. |
node_exporter_systemd_service_flags | Variable para almacenar y pasar cualquier bandera de línea de comandos de node_exporter en su archivo de servicio cuando node_exporter_systemd_service_setup está configurado en true. |
node_exporter_systemd_service_template | Archivo de plantilla de servicio systemd fuente Jinja2 para colocar en el host donde se aplica el rol cuando node_exporter_systemd_service_setup está configurado en true. |
node_exporter_systemd_service_template_dest | Nombre de archivo de destino del servicio systemd de node_exporter cuando node_exporter_systemd_service_setup está configurado en true. |
node_exporter_systemd_service_template_user | Propietario del archivo de servicio systemd de node_exporter cuando node_exporter_systemd_service_setup está configurado en true. |
node_exporter_systemd_service_template_group | Grupo del archivo de servicio systemd de node_exporter cuando node_exporter_systemd_service_setup está configurado en true. |
node_exporter_systemd_service_template_dest_mode | Modo del archivo de servicio systemd de node_exporter cuando node_exporter_systemd_service_setup está configurado en true. |
node_exporter_systemd_service_template_backup | Para hacer una copia de seguridad de cualquier archivo de servicio systemd existente de node_exporter cuando node_exporter_systemd_service_setup está configurado en true. |
node_exporter_systemd_service_desired_state | Estado deseado del servicio systemd de node_exporter cuando node_exporter_systemd_service_setup está configurado en true. |
node_exporter_systemd_service_desired_boot_enabled | Para habilitar el servicio node_exporter cuando node_exporter_systemd_service_setup está configurado en true. |
node_exporter_app_port | Como el puerto predeterminado de node_exporter es 9100, esta variable se utiliza en un manejador que verifica si node_exporter se está ejecutando en el puerto 9100 o no. |
node_exporter_app_check_status_code | Código de estado que el manejador busca cuando se ejecuta la verificación de node_exporter. |
node_exporter_app_check_status_code_retries | Número de veces que el manejador intenta verificar si node_exporter está en ejecución. |
node_exporter_app_check_status_code_delay | Número de segundos que el manejador espera entre verificaciones de node_exporter. |
Dependencias
Ninguna
Ejemplo de Playbook
Para el comportamiento predeterminado del rol (es decir, la instalación de node_exporter) en playbooks de ansible.
- hosts: servers
roles:
- role: darkwizard242.node_exporter
Para personalizar el comportamiento del rol (es decir, especificar la versión deseada de node_exporter) en playbooks de ansible.
- hosts: servers
roles:
- role: darkwizard242.node_exporter
vars:
node_exporter_version: 1.0.1
Para personalizar el comportamiento del rol (es decir, deshabilitar la configuración del servicio systemd node_exporter) en playbooks de ansible.
- hosts: servers
roles:
- role: darkwizard242.node_exporter
vars:
node_exporter_systemd_service_setup: false
Licencia
Información del autor
Este rol fue creado por Ali Muhammad.
Installs & configures 'node_exporter' for scraping node metrics.
ansible-galaxy install darkwizard242.node_exporter