moira-alert.moira-trigger-role
moira-trigger-role
Si eres nuevo aquí, es mejor que revises nuestro README.
Rol de Ansible para crear, actualizar y eliminar disparadores de Moira basado en python-moira-client.
Uso del rol
Instalación
Ansible Galaxy
ansible-galaxy install moira-alert.moira-trigger-role
Rol de Ansible con Makefile
Coloca el contenido del ejemplo dentro de tu Makefile para descargar el rol de Ansible Galaxy
y crear un playbook para gestionar disparadores con parámetros predefinidos dentro de tus archivos de variables:
- name: gestionar disparadores de moira
hosts: nombreDelServicio
roles:
- role: moira-alert.moira-trigger-role
moira_api: http://localhost:8081/api
moira_triggers: '{{ ServiceNameTriggers }}'
delegate_to: 127.0.0.1
run_once: True
dry_run: False
Nota: Todas las tareas deben hacerse desde tu máquina de control de Ansible.
Configuración
Define los siguientes parámetros dentro de tus archivos de variables. Ejemplos prácticos se pueden encontrar aquí.
Autenticación
Parámetro | Descripción | Tipo | Requerido | Por defecto | Ejemplo |
---|---|---|---|---|---|
moira_api | URL de la API de Moira | Cadena | Sí | N/A | http://localhost/api/ |
moira_auth_custom | Encabezados de autorización personalizados | Diccionario | No | Ninguno | Authorization: apiKey |
moira_auth_user | Usuario de autenticación (Autenticación básica) | Cadena | No | Ninguno | admin |
moira_auth_pass | Contraseña de autenticación (Autenticación básica) | Cadena | No | Ninguno | pass |
moira_auth_login | Inicio de sesión de autenticación (Autenticación básica) | Cadena | No | Ninguno | admin |
Nota: Usa moira_auth_custom si estás utilizando mecanismos de autenticación adicionales en lugar de
autenticación básica simple, usa moira_auth_user, moira_auth_pass y moira_auth_login de lo contrario.
moira_auth_login debe contener un valor para el encabezado X-Webauth-User.
Estado del disparador
Parámetro | Descripción | Tipo | Requerido | Opciones | Por defecto | Ejemplo |
---|---|---|---|---|---|---|
state | Estado deseado de un disparador | Cadena | Sí | present absent |
N/A | present |
id | ID del disparador | Cadena | Sí | N/A | N/A | trigger_1 |
name | Nombre del disparador | Cadena | Sí | N/A | N/A | Disparador 1 |
tags | Lista de etiquetas del disparador | Lista | Sí | N/A | N/A | - Proyecto - Servicio |
targets | Lista de objetivos del disparador Ver funciones disponibles de graphite |
Lista | Sí | N/A | N/A | - prefix.*.postfix |
warn_value | Valor para establecer el estado WARN | Flotante | No | N/A | Ninguno | 300 |
error_value | Valor para establecer el estado ERROR | Flotante | No | N/A | Ninguno | 600 |
trigger_type | Tipo de disparador | Cadena | No | rising falling expression |
N/A | rising |
expression | Expresión tipo C | Cadena | No | N/A | Cadena vacía | t1 >= 10 ? ERROR : (t1 >= 1 ? WARN : OK) |
ttl | Cuando no haya métricas para el disparador, Moira cambiará la métrica a estado TTLState después de TTL segundos | Entero | No | N/A | 600 | 600 |
ttl_state | Estado del disparador al expirar 'ttl' | Cadena | No | NODATA DEL ERROR WARN OK |
NODATA | WARN |
is_remote | Usar almacenamiento remoto. Obsoleto, usa trigger_source en su lugar |
Booleano | No | Verdadero Falso |
Falso | Falso |
trigger_source | Especificar la fuente del disparador, sobrescribe is_remote | Cadena | No | graphite_local graphite_remote prometheus_remote |
Ninguno | graphite_local |
cluster_id | Especificar id del clúster | Cadena | No | N/A | Ninguno | default |
desc | Descripción del disparador | Cadena | No | N/A | Cadena vacía | descripción de prueba del disparador |
mute_new_metrics | Si es verdadero, el primer evento NODATA → OK será omitido | Booleano | No | Verdadero Falso |
Falso | Falso |
disabled_days | Días para que el disparador esté en modo silencioso | Lista | No | N/A | Lista vacía | - Lun - Mié |
timezone_offset | Desplazamiento horario (minutos) | Entero | No | N/A | 0 | -180 |
start_hour | Hora de inicio para enviar alertas | Entero | No | N/A | 0 | 9 |
start_minute | Minuto de inicio para enviar alertas | Entero | No | N/A | 0 | 0 |
end_hour | Hora de finalización para enviar alertas | Entero | No | N/A | 23 | 17 |
end_minute | Minuto de finalización para enviar alertas | Entero | No | N/A | 59 | 0 |
alone_metrics | Configurar algunos objetivos como métricas únicas | Objeto, ejemplo: | No | N/A | {'t1': Falso, 't2': Verdadero, ... 'tN': Verdadero} | {'t1': Falso, 't2': Falso} |
Tareas del rol
Gestionar dependencias
Tarea para verificar si python-moira-client está instalado (a través de pip).
Gestionar disparadores
Usa el estado 'present' para crear y editar disparadores existentes:
- name: crear disparador
moira_trigger:
...
state: present
...
Para eliminar disparadores existentes, usa el estado 'absent':
- name: eliminar disparador
moira_trigger:
...
state: absent
...
Ansible role to create, update and delete Moira triggers
ansible-galaxy install moira-alert.moira-trigger-role