Els tipus de suport s'exporten amb tots els objectes i relacions d'objecte associats.
Per exportar tipus de suport, feu el següent:
Segons el format triat, els tipus de suport s'exporten a un arxiu local amb un nom per defecte:
Per importar tipus de suport, feu el següent:
A la interfície veureu un missatge d'èxit o error d'importació.
Regles d'importació:
Regla | Descripció |
---|---|
Actualització existent | Els elements existents s'actualitzaran amb les dades extretes del fitxer d'importació. En cas contrari, no s'actualitzaran. |
Crear nou | La importació afegirà nous elements emprant les dades del fitxer d'importació. En cas contrari, no els afegirà. |
Esborrar absents | La importació esborrarà els elements existents que no són presents al fitxer d'importació. En cas contrari, no els esborrarà pas. |
Exportar a YAML:
zabbix_export:
version: '6.0'
date: '2021-08-31T13:34:17Z'
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}'
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: |
Please refer to setup guide here: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/pushover
Set token parameter with to your Pushover application key.
When assigning Pushover media to the Zabbix user - add user key into send to field.
message_templates:
-
event_source: TRIGGERS
operation_mode: PROBLEM
subject: 'Problem: {EVENT.NAME}'
message: |
Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}
-
event_source: TRIGGERS
operation_mode: RECOVERY
subject: 'Resolved in {EVENT.DURATION}: {EVENT.NAME}'
message: |
Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}
-
event_source: TRIGGERS
operation_mode: UPDATE
subject: 'Updated problem in {EVENT.AGE}: {EVENT.NAME}'
message: |
{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, age is {EVENT.AGE}, acknowledged: {EVENT.ACK.STATUS}.
-
event_source: DISCOVERY
operation_mode: PROBLEM
subject: 'Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}'
message: |
Discovery rule: {DISCOVERY.RULE.NAME}
Device IP: {DISCOVERY.DEVICE.IPADDRESS}
Device DNS: {DISCOVERY.DEVICE.DNS}
Device status: {DISCOVERY.DEVICE.STATUS}
Device uptime: {DISCOVERY.DEVICE.UPTIME}
Device service name: {DISCOVERY.SERVICE.NAME}
Device service port: {DISCOVERY.SERVICE.PORT}
Device service status: {DISCOVERY.SERVICE.STATUS}
Device service uptime: {DISCOVERY.SERVICE.UPTIME}
-
event_source: AUTOREGISTRATION
operation_mode: PROBLEM
subject: 'Autoregistration: {HOST.HOST}'
message: |
Host name: {HOST.HOST}
Host IP: {HOST.IP}
Agent port: {HOST.PORT}
Els valors de l'etiqueta d'element s'expliquen a la taula següent.
Element | Propietat de l'element | Obligatori | Tipus | Interval1 | Descripció |
---|---|---|---|---|---|
media_types | - | Element arrel per media_types. | |||
name | x | cadena |
Nom del tipus de suport. | ||
type | x | cadena |
0 - EMAIL 1 - SMS 2 - SCRIPT 4 - WEBHOOK |
Transport emprat pel tipus de suport. | |
status | - | cadena |
0 - ACTIVAT (per defecte) 1 - DESACTIVAT |
Indica si el tipus de suport és actiu. | |
max_sessions | - | enter |
Valors possibles per SMS : 1 - (per defecte) Valors possibles per a altres tipus de suports: 0-100, 0 - il·limitat |
El nombre màxim d'alertes que es poden processar en paral·lel. | |
attempts | - | enter |
1-10 (per defecte: 3) | El nombre màxim d'intents per enviar una alerta. | |
attempt_interval | - | cadena |
0-60s (per defecte: 10s) | Interval entre cada reintent. Accepta segons unitats de temps com a sufix. |
|
description | - | cadena |
Descripció del tipus de suport. | ||
message_templates | - | Element arrel per a plantilles de missatges de tipus multimèdia. | |||
event_source | x | cadena |
0 - TRIGGERS 1 - DESCOBERTA 2 - AUTOREGISTRE 3 - INTERN |
Origen de l'esdeveniment. | |
operation_mode | x | cadena |
0 - PROBLEMA 1 - RECUPERACIÓ 2 - ACTUALITZACIÓ |
Mode de funcionament. | |
subject | - | cadena |
Assumpte del missatge. | ||
message | - | cadena |
Cos del missatge. | ||
Ús només pel tipus de suport correu electrònic. | |||||
smtp_server | x | cadena |
Servidor SMTP. | ||
smtp_port | - | enter |
Per defecte: 25 | Port del servidor SMTP on connectar-se. | |
smtp_helo | x | cadena |
SMTP helo. | ||
smtp_email | x | cadena |
Adreça de correu-e des d'on s'enviaran les notificacions. | ||
smtp_security | - | cadena |
0 - CAP (per defecte) 1 - STARTTLS 2 - SSL_OR_TLS |
Nivell de seguretat de la connexió SMTP a emprar. | |
smtp_verify_host | - | cadena |
0 - NO (per defecte) 1 - SÍ |
Verificació SSL de l'equip per l'SMTP. Opcional si smtp_security s'estableix a STARTTLS o SSL_OR_TLS. | |
smtp_verify_peer | - | cadena |
0 - NO (per defecte) 1 - SÍ |
Verificació de iguals SSL per a SMTP. Opcional si smtp_security és establert a STARTTLS o SSL_OR_TLS. | |
smtp_authentication | - | cadena |
0 - CAP (per defecte) 1 - MOT DE PAS |
Mètode d'autenticació SMTP a emprar. | |
username | - | cadena |
Nom d'usuari. | ||
password | - | cadena |
Mot de pas d'autenticació. | ||
content_type | - | cadena |
0 - TEXT 1 - HTML (per defecte) |
Format dels missatges. | |
Emprat només pel tipus de suport SMS. | |||||
gsm_modem | x | cadena |
Nom del dispositiu sèrie del mòdem GSM. | ||
Emprat només pel tipus de suport script. | |||||
script name | x | cadena |
Nom du script. | ||
parameters | - | Element arrel per als paràmetres de l'script. | |||
Emprat només pel tipus de suport Webhook. | |||||
script | x | cadena |
Script. | ||
timeout | - | cadena |
1-60s (par défaut : 30s) | Interval de temps d'espera de la petició HTTP de JavaScript. | |
process_tags | - | cadena |
0 - NO (per defecte) 1 - SÍ |
S'han de processar les etiquetes retornades? | |
show_event_menu | - | cadena |
0 - NO per defecte) 1 - SÍ |
Si {EVENT.TAGS.*} s'han resolt correctament als camps event_menu_url i event_menu_name, aquest camp indica la presència d'una entrada al menú d'esdeveniments. | |
event_menu_url | - | cadena |
URL de l'entrada del menú d'esdeveniments. Admet la macro {EVENT.TAGS.*}. | ||
event_menu_name | - | cadena |
Nom de l'entrada del menú d'esdeveniments. Admet la macro {EVENT.TAGS.*}. | ||
parameters | - | Element arrel per als paràmetres de tipus de suport webhook. | |||
name | x | cadena |
Nom del paràmetre Webhook. | ||
value | - | cadena |
Valor del paràmetre Webhook. |
1 Per als valors de tipus de cadena de caràcters, només s'exportarà la cadena (per exemple, "EMAIL") sense la numeració emprada en aquesta taula. S'empren nombres per als valors d'interval (corresponents als valors de l'API) en aquesta matriu només a petició.