Los tipos de medios se exportan con todos los objetos relacionados y relaciones de objetos.
Para exportar tipos de medios, haga lo siguiente:
Dependiendo del formato seleccionado, los tipos de medios se exportan a un archivo local con un nombre por defecto:
zabbix_export_mediatypes.yaml
- en exportación YAML (opción por defecto para exportar);zabbix_export_mediatypes.xml
- en exportación XML;zabbix_export_mediatypes.json
- en exportación JSON.Para importar tipos de medios, haga lo siguiente:
Reglas de importación:
Regla | Descripción |
---|---|
Actualizar existentes | Los elementos existentes se actualizarán utilizando los datos del archivo de importación. De lo contrario, no se actualizarán. |
Crear nuevos | Se crearán nuevos elementos utilizando los datos del archivo de importación. De lo contrario, no se crearán. |
Un mensaje de éxito o fallo de la importación se mostrará en la interfaz.
Exportar a YAML:
zabbix_export:
version: '8.0'
media_types:
- name: Pushover
type: WEBHOOK
parameters:
- name: endpoint
value: 'https://api.pushover.net/1/messages.json'
- name: eventid
value: '{EVENT.ID}'
- name: event_nseverity
value: '{EVENT.NSEVERITY}'
- name: event_source
value: '{EVENT.SOURCE}'
- name: event_value
value: '{EVENT.VALUE}'
- name: expire
value: '1200'
- name: message
value: '{ALERT.MESSAGE}'
- name: priority_average
value: '0'
- name: priority_default
value: '0'
- name: priority_disaster
value: '0'
- name: priority_high
value: '0'
- name: priority_information
value: '0'
- name: priority_not_classified
value: '0'
- name: priority_warning
value: '0'
- name: retry
value: '60'
- name: title
value: '{ALERT.SUBJECT}'
- name: token
value: '<PUSHOVER TOKEN HERE>'
- name: triggerid
value: '{TRIGGER.ID}'
- name: url
value: '{$ZABBIX.URL}'
- name: url_title
value: Zabbix
- name: user
value: '{ALERT.SENDTO}'
status: DISABLED
max_sessions: '0'
script: |
try {
var params = JSON.parse(value),
request = new HttpRequest(),
data,
response,
severities = [
{name: 'not_classified', color: '#97AAB3'},
{name: 'information', color: '#7499FF'},
{name: 'warning', color: '#FFC859'},
{name: 'average', color: '#FFA059'},
{name: 'high', color: '#E97659'},
{name: 'disaster', color: '#E45959'},
{name: 'resolved', color: '#009900'},
{name: 'default', color: '#000000'}
],
priority;
if (typeof params.HTTPProxy === 'string' && params.HTTPProxy.trim() !== '') {
request.setProxy(params.HTTPProxy);
}
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw 'Incorrect "event_source" parameter given: "' + params.event_source + '".\nMust be 0-3.';
}
if (params.event_value !== '0' && params.event_value !== '1'
&& (params.event_source === '0' || params.event_source === '3')) {
throw 'Incorrect "event_value" parameter given: ' + params.event_value + '\nMust be 0 or 1.';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = '7';
}
if (params.event_value === '0') {
params.event_nseverity = '6';
}
priority = params['priority_' + severities[params.event_nseverity].name] || params.priority_default;
if (isNaN(priority) || priority < -2 || priority > 2) {
throw '"priority" should be -2..2';
}
if (params.event_source === '0' && isNaN(params.triggerid)) {
throw 'field "triggerid" is not a number';
}
if (isNaN(params.eventid)) {
throw 'field "eventid" is not a number';
}
if (typeof params.message !== 'string' || params.message.trim() === '') {
throw 'field "message" cannot be empty';
}
data = {
token: params.token,
user: params.user,
title: params.title,
message: params.message,
url: (params.event_source === '0')
? params.url + '/tr_events.php?triggerid=' + params.triggerid + '&eventid=' + params.eventid
: params.url,
url_title: params.url_title,
priority: priority
};
if (priority == 2) {
if (isNaN(params.retry) || params.retry < 30) {
throw 'field "retry" should be a number with value of at least 30 if "priority" is set to 2';
}
if (isNaN(params.expire) || params.expire > 10800) {
throw 'field "expire" should be a number with value of at most 10800 if "priority" is set to 2';
}
data.retry = params.retry;
data.expire = params.expire;
}
data = JSON.stringify(data);
Zabbix.log(4, '[ Pushover Webhook ] Sending request: ' + params.endpoint + '\n' + data);
request.addHeader('Content-Type: application/json');
response = request.post(params.endpoint, data);
Zabbix.log(4, '[ Pushover Webhook ] Received response with status code ' + request.getStatus() + '\n' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, '[ Pushover Webhook ] Failed to parse response received from Pushover');
response = null;
}
}
if (request.getStatus() != 200 || response === null || typeof response !== 'object' || response.status !== 1) {
if (response !== null && typeof response === 'object' && typeof response.errors === 'object'
&& typeof response.errors[0] === 'string') {
throw response.errors[0];
}
else {
throw 'Unknown error. Check debug log for more information.';
}
}
return 'OK';
}
catch (error) {
Zabbix.log(4, '[ Pushover Webhook ] Pushover notification failed: ' + error);
throw 'Pushover notification failed: ' + error;
}
description: |
Por favor, consulte la guía de configuración aquí: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/pushover
Establezca el parámetro token con la clave de su aplicación Pushover.
Al asignar el medio Pushover al usuario de Zabbix, añada la clave de usuario en el campo enviar a.
message_templates:
- event_source: TRIGGERS
operation_mode: PROBLEM
subject: 'Problema: {EVENT.NAME}'
message: |
El problema comenzó a las {EVENT.TIME} el {EVENT.DATE}
Nombre del problema: {EVENT.NAME}
Equipo: {HOST.NAME}
Gravedad: {EVENT.SEVERITY}
Datos operativos: {EVENT.OPDATA}
ID de problema original: {EVENT.ID}
{TRIGGER.URL}
- event_source: TRIGGERS
operation_mode: RECOVERY
subject: 'Resuelto en {EVENT.DURATION}: {EVENT.NAME}'
message: |
El problema se ha resuelto a las {EVENT.RECOVERY.TIME} el {EVENT.RECOVERY.DATE}
Nombre del problema: {EVENT.NAME}
Duración del problema: {EVENT.DURATION}
Equipo: {HOST.NAME}
Gravedad: {EVENT.SEVERITY}
ID de problema original: {EVENT.ID}
{TRIGGER.URL}
- event_source: TRIGGERS
operation_mode: UPDATE
subject: 'Problema actualizado en {EVENT.AGE}: {EVENT.NAME}'
message: |
{USER.FULLNAME} {EVENT.UPDATE.ACTION} problema el {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
El estado actual del problema es {EVENT.STATUS}, la antigüedad es {EVENT.AGE}, reconocido: {EVENT.ACK.STATUS}.
- event_source: DISCOVERY
operation_mode: PROBLEM
subject: 'Descubrimiento: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}'
message: |
Regla de descubrimiento: {DISCOVERY.RULE.NAME}
IP del dispositivo: {DISCOVERY.DEVICE.IPADDRESS}
DNS del dispositivo: {DISCOVERY.DEVICE.DNS}
Estado del dispositivo: {DISCOVERY.DEVICE.STATUS}
Tiempo en funcionamiento del dispositivo: {DISCOVERY.DEVICE.UPTIME}
Nombre del servicio del dispositivo: {DISCOVERY.SERVICE.NAME}
Puerto del servicio del dispositivo: {DISCOVERY.SERVICE.PORT}
Estado del servicio del dispositivo: {DISCOVERY.SERVICE.STATUS}
Tiempo en funcionamiento del servicio del dispositivo: {DISCOVERY.SERVICE.UPTIME}
- event_source: AUTOREGISTRATION
operation_mode: PROBLEM
subject: 'Autoregistro: {HOST.HOST}'
message: |
Nombre del equipo: {HOST.HOST}
IP del equipo: {HOST.IP}
Puerto del agente: {HOST.PORT}
Los elementos exportados se explican en la siguiente tabla.
Elemento | Tipo | Descripción | |
---|---|---|---|
name | string | (obligatorio) Nombre del tipo de medio. | |
type | string | (obligatorio) Transporte utilizado por el tipo de medio. Valores posibles:1 EMAIL (0), SMS (1), SCRIPT (2), WEBHOOK (4). |
|
status | string | Indica si el tipo de medio está habilitado. Valores posibles:1 ENABLED (0, por defecto), DISABLED (1) |
|
max_sessions | integer | El número máximo de alertas que se pueden procesar en paralelo. Valores posibles para SMS:1 1 (por defecto). Valores posibles para otros tipos de medio:1 0-100 (donde 0 - ilimitado). |
|
attempts | integer | El número máximo de intentos para enviar una alerta. Valores posibles:1 1-10 (por defecto: 3). |
|
attempt_interval | string | El intervalo (usando segundos o sufijo de tiempo) entre los intentos de reintento. Valores posibles:1 0-60s (por defecto: 10s). |
|
description | string | Descripción del tipo de medio. | |
message_templates | Elemento raíz para las plantillas de mensajes del tipo de medio. | ||
event_source | string | (obligatorio) Fuente del evento. Valores posibles:1 TRIGGERS (0), DISCOVERY (1), AUTOREGISTRATION (2), INTERNAL (3), SERVICE (4). |
|
operation_mode | string | Modo de operación. Valores posibles:1 PROBLEM (0), RECOVERY (1), UPDATE (2). |
|
subject | string | Asunto del mensaje. | |
message | string | Cuerpo del mensaje. |
Véase también: Objeto tipo de medio (consulte la propiedad correspondiente con el mismo nombre).
Correo electrónico
Los siguientes elementos adicionales se exportan solo para el tipo de medio Correo electrónico.
Elemento | Tipo | Descripción | |
---|---|---|---|
provider | string | Proveedor de correo electrónico. | |
smtp_server | string | Servidor SMTP. | |
smtp_port | integer | Puerto del servidor SMTP al que conectarse. Por defecto: 25. |
|
smtp_helo | string | SMTP helo. | |
smtp_email | string | Dirección de correo electrónico desde la que se enviarán las notificaciones. | |
smtp_security | string | Nivel de seguridad de la conexión SMTP a utilizar. Valores posibles:1 NONE (0, por defecto), STARTTLS (1), SSL_OR_TLS (2). |
|
smtp_verify_host | string | Verificación SSL del host para SMTP. Valores posibles:1 NO (0, por defecto), YES (1). |
|
smtp_verify_peer | string | Verificación SSL del par para SMTP. Valores posibles:1 NO (0, por defecto), YES (1). |
|
smtp_authentication | string | Método de autenticación SMTP a utilizar. Valores posibles:1 NONE (0, por defecto), PASSWORD (1), OAUTH (2). |
|
username | string | Nombre de usuario. | |
password | string | Contraseña de autenticación. | |
redirection_url | string | URL del frontend de Zabbix a la que redirigir tras la autorización OAuth. | |
client_id | string | Identificador de cliente registrado en el servidor de autorización OAuth. | |
authorization_url | string | URL de OAuth, con parámetros, para obtener los tokens de acceso y actualización. | |
token_url | string | URL de OAuth para intercambiar el token de autorización por tokens de acceso y actualización. | |
message_format | string | Formato del mensaje. Valores posibles:1 TEXT (0), HTML (1, por defecto). |
Véase también: Objeto tipo de medio (consulte la propiedad correspondiente con el mismo nombre).
SMS
Los siguientes elementos adicionales se exportan solo para el tipo de medio SMS.
Elemento | Tipo | Descripción | |
---|---|---|---|
gsm_modem | string | (requerido) Nombre del dispositivo serie del módem GSM. |
Consulte también: Objeto tipo de medio (consulte la propiedad relevante con el mismo nombre).
Script
Los siguientes elementos adicionales se exportan solo para el tipo de medio Script.
Elemento | Tipo | Descripción | |
---|---|---|---|
nombre del script | string | (requerido) Nombre del script. | |
parámetros | Elemento raíz para los parámetros del script. | ||
sortorder | string | (requerido) Orden de los parámetros del script pasados al script como argumentos de línea de comandos. | |
value | string | Valor del parámetro del script. |
Ver también: Objeto tipo de medio (consulte la propiedad relevante con el mismo nombre).
Webhook
Los siguientes elementos adicionales se exportan solo para el tipo de medio Webhook.
Elemento | Tipo | Descripción | |
---|---|---|---|
script | string | Script. | |
timeout | string | Intervalo de tiempo de espera para la solicitud HTTP del script Javascript. Valores posibles:1 1-60s (por defecto: 30s). |
|
process_tags | string | Indica si se deben procesar las etiquetas devueltas. Valores posibles:1 NO (0, por defecto), SÍ (1). |
|
show_event_menu | string | Indica la presencia de una entrada en el menú de eventos si la macro {EVENT.TAGS.*} se resolvió correctamente en los campos event_menu_url y event_menu_name .Valores posibles:1 NO (0, por defecto), SÍ (1). |
|
event_menu_url | string | URL de la entrada del menú de eventos. Soporta la macro {EVENT.TAGS.*}. | |
event_menu_name | string | Nombre de la entrada del menú de eventos. Soporta la macro {EVENT.TAGS.*}. | |
parameters | Elemento raíz para los parámetros del tipo de medio webhook. | ||
name | string | (requerido) Nombre del parámetro del webhook. | |
value | string | Valor del parámetro del webhook. |
Véase también: Objeto tipo de medio (consulte la propiedad correspondiente con el mismo nombre).
1 Los valores enteros de la API entre corchetes, por ejemplo, ENABLED (0), se mencionan solo como referencia. Para obtener más información, consulte la página del objeto API enlazada en la entrada de la tabla o al final de cada sección.