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