Áú»¢¶Ä²©

6 Tipus de suport

Vista general

Els tipus de suport s'exporten amb tots els objectes i relacions d'objecte associats.

·¡³æ±è´Ç°ù³Ù²¹³¦¾±¨®

Per exportar tipus de suport, feu el seg¨¹ent:

  1. Aneu a Alertes ¡ú Tipus de suport.
  2. Marqueu les caselles dels tipus de suport que voleu exportar.
  3. Cliqueu Exportar sota la llista.

Segons el format triat, els tipus de suport s'exporten a un arxiu local amb un nom per defecte:

  • zabbix\_export\_mediatypes.yaml - a exportacions YAML (opci¨® per defecte);
  • zabbix\_export\_mediatypes.xml - en format XML;
  • zabbix\_export\_mediatypes.json - en format JSON.

±õ³¾±è´Ç°ù³Ù²¹³¦¾±¨®

Per importar tipus de suport, feu el seg¨¹ent:

  1. Anar a: ´¡»å³¾¾±²Ô¾±²õ³Ù°ù²¹³¦¾±¨® ¡ú Tipus de suport.
  2. Cliqueu Importar a la cantonada de dalt a la dreta.
  3. Trieu el fitxer a importar.
  4. Comproveu les opcions requerides a les regles d'importaci¨®.
  5. Cliqueu Importar al bot¨® d'abaix a la dreta del formulari de configuraci¨®.

Regles d'importaci¨®:

Regla ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
Actualitzaci¨® existent Els elements existents s'actualitzaran emprant dades del fitxer d'importaci¨®. En cas contrari, no s'actualitzaran.
Crear nou Els nous elements es crearan emprant les dades del fitxer d'importaci¨®. En cas contrari, no es crearan pas.

A la interf¨ªcie veureu un missatge d'¨¨xit o error d'importaci¨®.

Format d'exportaci¨®

Exportar a YAML:

zabbix_export:
         version: '7.2'
         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: Áú»¢¶Ä²©
               - 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);
                   Áú»¢¶Ä²©.log(4, '[ Pushover Webhook ] Sending request: ' + params.endpoint + '\n' + data);
           
                   request.addHeader('Content-Type: application/json');
                   response = request.post(params.endpoint, data);
              
                   Áú»¢¶Ä²©.log(4, '[ Pushover Webhook ] Received response with status code ' + request.getStatus() + '\n' + response);
              
                   if (response !== null) {
                       try {
                           response = JSON.parse(response);
                       }
                       catch (error) {
                           Áú»¢¶Ä²©.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) {
                   Áú»¢¶Ä²©.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 Áú»¢¶Ä²© 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}

Elements exportats

Els elements exportats s'expliquen a la taula seg¨¹ent.

Element Tipus ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
nom string (obligatori) Nom del tipus de suport.
tipus string (obligatori) Transport emprat pel tipus de suport.
Valors possibles:1 EMAIL (0), SMS (1), SCRIPT (2), WEBHOOK (4) ).
estat string Si el tipus de suport ¨¦s habilitat.
Valors possibles:1 ENABLED (0, predeterminat), DISABLED (1)
max_sessions enteger El nombre m¨¤xim d'alertes que es poden processar en paral¡¤lel.
Valors possibles per a SMS:1 1 (per defecte).
Valors possibles per a altres tipus de suport:1 0-100 (on 0 - il¡¤limitat).
intents nteger El nombre m¨¤xim d'intents per enviar una alerta.
Valors possibles:1 1-10 (per defecte: 3).
attempt_interval string L'interval (emprant segons o sufix de temps) entre els intents de reintent.
Valors possibles:1(#footnotes) ¡ü 0-60 s (per defecte: 10 s).
»å±ð²õ³¦°ù¾±±è³¦¾±¨® string ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨® del tipus de suport.
message_templates Element arrel per a plantilles de missatges de tipus multim¨¨dia.
event_source string (obligatori) Font de l'esdeveniment.
Valors possibles:1 TRIGGERS (0), DESCOBERTA (1), AUTOREGISTRE (2), INTERN (3), SERVEI (4).
operation_mode string Mode d'operaci¨®.
Valors possibles:1 PROBLEMA (0), RECUPERACI? (1), ACTUALITZACI? (2).
assumpte string Assumpte del missatge.
missatge string Cos del missatge.

Veieu tamb¨¦: Objecte tipus de suport (consulteu la propietat rellevant amb un nom coincident).

Correu electr¨°nic

Els elements addicionals seg¨¹ents nom¨¦s s'exporten per al tipus de suport Correu electr¨°nic.

Element Tipus ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
prove?dor string Prove?dor de correu electr¨°nic.
smtp_server string Servidor SMTP.
smtp_port integer Port del servidor SMTP per connectar-se.
Per defecte: 25.
smtp_helo string SMTP hola.
smtp_email string Adre?a de correu electr¨°nic des de la que s'enviaran les notificacions.
smtp_security string Nivell de seguretat de connexi¨® SMTP a emprar.
Valors possibles:1 NONE (0, predeterminat), STARTTLS (1), SSL_OR_TLS (2 ).
smtp_verify_host string SSL verifica l'equip per a SMTP.
Valors possibles:1 NO (0, predeterminat), S? (1).
smtp_verify_peer string SSL verificar igual per a SMTP.
Valors possibles:1 NO (0, predeterminat), S? (1).
smtp_authentication string M¨¨tode d'autenticaci¨® SMTP a emprar.
Valors possibles:1 CAP (0, predeterminat), MOT DE PAS (1).
nom d'usuari string Nom d'usuari.
mot de pas string mot de pas d'autenticaci¨®.
missatge_format string Format del missatge.
Valors possibles:1 TEXT (0), HTML (1, predeterminat).

Veieu tamb¨¦: Objecte de tipus de suport (consulteu la propietat rellevant amb un nom coincident).

SMS

Els elements addicionals seg¨¹ents nom¨¦s s'exporten per al tipus de suport SMS.

Element Tipus ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
gsm_modem string (obligatori) Nom del dispositiu s¨¨rie del m¨°dem GSM.

Veieu tamb¨¦: Objecte de tipus de suport (consulteu la propietat rellevant amb un nom coincident).

Script

Els elements addicionals seg¨¹ents nom¨¦s s'exporten per al tipus de suport Script.

Element Tipus ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
nom de l'script string (obligatori) Nom de l'script.
±è²¹°ù¨¤³¾±ð³Ù°ù±ð²õ Element arrel per als ±è²¹°ù¨¤³¾±ð³Ù°ù±ð²õ de l'script.
sorrder string (obligatori) Ordre dels ±è²¹°ù¨¤³¾±ð³Ù°ù±ð²õ de l'script passats a l'script com a arguments de l¨ªnia d'ordres.
valor string Valor del par¨¤metre de l'script.

Veieu tamb¨¦: Objecte de tipus de suport (consulteu la propietat rellevant amb un nom coincident).

Webhook

Els elements addicionals seg¨¹ents nom¨¦s s'exporten per al tipus de suport Webhook.

Element Tipus ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
script string Script.
timeout string Interval de temps d'espera de la petici¨® HTTP de l'script de Javascript.
Valors possibles:1 1-60s (per defecte: 30s).
±è°ù´Ç³¦¨¦²õ³å±ð³Ù¾±±ç³Ü±ð³Ù±ð²õ string Si s'han de processar les etiquetes retornades.
Valors possibles:1 NO (0, predeterminat), S? (1).
show_event_menu string Indica la pres¨¨ncia d'una entrada al men¨² d'esdeveniments si la macro {EVENT.TAGS.*} s'ha resolt correctament als camps event_menu_url i event_menu_name.
Valors possibles :1 NO (0, per defecte), S? (1).
event_menu_url string URL de l'entrada del men¨² d'esdeveniments. Admet la macro {EVENT.TAGS.*}.
event_menu_name string Nom de l'entrada del men¨² de l'esdeveniment. Admet la macro {EVENT.TAGS.*}.
±è²¹°ù¨¤³¾±ð³Ù°ù±ð²õ Element arrel per als ±è²¹°ù¨¤³¾±ð³Ù°ù±ð²õ de tipus de suport de webhook.
nom string (obligatori) Nom del par¨¤metre del webhook.
valor string Valor del par¨¤metre Webhook.

Veieu tamb¨¦: Objecte de tipus de suport (consulteu la propietat rellevant amb un nom coincident).

Notes de peu de p¨¤gina

1 Els valors enters de l'API entre claud¨¤tors, per exemple, ENABLED (0), s'esmenten nom¨¦s com a refer¨¨ncia. Per obtindre m¨¦s informaci¨®, consulteu la p¨¤gina d'objectes de l'API enlla?ada a l'entrada de la taula o al final de cada secci¨®.


  1. 1??