6 Medientypen
Übersicht
Medientypen werden zusammen mit allen zugehörigen Objekten und Objektbeziehungen exportiert.
Exportieren
Gehen Sie zum Exportieren von Medientypen wie folgt vor:
- Gehen Sie zu Alerts → Media types.
- Markieren Sie die Kontrollkästchen der zu exportierenden Medientypen.
- Klicken Sie unterhalb der Liste auf Export, um im standardmäßigen YAML-Format zu exportieren, oder klicken Sie auf den Pfeil, um ein anderes Exportformat auszuwählen.

Abhängig vom ausgewählten Format werden Medientypen in eine lokale Datei mit einem Standardnamen exportiert:
zabbix_export_mediatypes.yaml- beim YAML-Export;zabbix_export_mediatypes.xml- beim XML-Export;zabbix_export_mediatypes.json- beim JSON-Export.
Importieren
Gehen Sie zum Importieren von Medientypen wie folgt vor:
- Gehen Sie zu Alerts → Media types.
- Klicken Sie oben rechts auf Import.
- Wählen Sie die Importdatei aus.
- Aktivieren Sie die Kontrollkästchen der Importregeln, die Sie anwenden möchten (siehe unten).
- Klicken Sie unten rechts im Konfigurationsformular auf Import.

Importregeln:
| Rule | Description |
|---|---|
| Update existing | Aktivieren Sie dieses Kontrollkästchen, um vorhandene Medientypen anhand der Daten aus der Importdatei zu aktualisieren. |
| Create new | Aktivieren Sie dieses Kontrollkästchen, um neue Medientypen anhand der Daten aus der Importdatei zu erstellen. Wenn die Importdatei einen bereits vorhandenen Medientyp enthält (z. B. Email), wird kein neuer erstellt und der vorhandene Medientyp wird ebenfalls nicht aktualisiert. |
Während des Imports können Sie Änderungen an Medientypen nicht überprüfen. Eine Erfolgs- oder Fehlermeldung des Imports wird im Frontend angezeigt.
Exportformat
Export nach YAML:
zabbix_export:
version: '7.4'
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: |
Bitte beachten Sie die Einrichtungsanleitung hier: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/pushover?at=refs%2Fheads%2Frelease%2F7.4
Setzen Sie den Parameter token auf Ihren Pushover-Anwendungsschlüssel.
Wenn Sie Pushover-Medien dem Zabbix-Benutzer zuweisen, fügen Sie den Benutzer-Schlüssel in das Feld "Senden an" ein.
message_templates:
- event_source: TRIGGERS
operation_mode: PROBLEM
subject: 'Problem: {EVENT.NAME}'
message: |
Problem begann um {EVENT.TIME} am {EVENT.DATE}
Problemname: {EVENT.NAME}
Host: {HOST.NAME}
Schweregrad: {EVENT.SEVERITY}
Betriebsdaten: {EVENT.OPDATA}
Ursprüngliche Problem-ID: {EVENT.ID}
{TRIGGER.URL}
- event_source: TRIGGERS
operation_mode: RECOVERY
subject: 'Behoben in {EVENT.DURATION}: {EVENT.NAME}'
message: |
Das Problem wurde behoben um {EVENT.RECOVERY.TIME} am {EVENT.RECOVERY.DATE}
Problemname: {EVENT.NAME}
Problemdauer: {EVENT.DURATION}
Host: {HOST.NAME}
Schweregrad: {EVENT.SEVERITY}
Ursprüngliche Problem-ID: {EVENT.ID}
{TRIGGER.URL}
- event_source: TRIGGERS
operation_mode: UPDATE
subject: 'Aktualisiertes Problem in {EVENT.AGE}: {EVENT.NAME}'
message: |
{USER.FULLNAME} {EVENT.UPDATE.ACTION} das Problem am {EVENT.UPDATE.DATE} um {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Der aktuelle Problemstatus ist {EVENT.STATUS}, das Alter beträgt {EVENT.AGE}, bestätigt: {EVENT.ACK.STATUS}.
- event_source: DISCOVERY
operation_mode: PROBLEM
subject: 'Erkennung: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}'
message: |
Erkennungsregel: {DISCOVERY.RULE.NAME}
Geräte-IP: {DISCOVERY.DEVICE.IPADDRESS}
Geräte-DNS: {DISCOVERY.DEVICE.DNS}
Gerätestatus: {DISCOVERY.DEVICE.STATUS}
Geräte-Uptime: {DISCOVERY.DEVICE.UPTIME}
Name des Gerätedienstes: {DISCOVERY.SERVICE.NAME}
Port des Gerätedienstes: {DISCOVERY.SERVICE.PORT}
Status des Gerätedienstes: {DISCOVERY.SERVICE.STATUS}
Uptime des Gerätedienstes: {DISCOVERY.SERVICE.UPTIME}
- event_source: AUTOREGISTRATION
operation_mode: PROBLEM
subject: 'Automatische Registrierung: {HOST.HOST}'
message: |
Hostname: {HOST.HOST}
Host-IP: {HOST.IP}
Agent-Port: {HOST.PORT}
Exportierte Elemente
Exportierte Elemente werden in der folgenden Tabelle erläutert.
| Element | Type | Beschreibung | |
|---|---|---|---|
| name | string | (erforderlich) Name des Medientyps. | |
| type | string | (erforderlich) Für den Medientyp verwendeter Transport. Mögliche Werte:1 EMAIL (0), SMS (1), SCRIPT (2), WEBHOOK (4). |
|
| status | string | Gibt an, ob der Medientyp aktiviert ist. Mögliche Werte:1 ENABLED (0, Standard), DISABLED (1) |
|
| max_sessions | integer | Die maximale Anzahl von Alarmen, die parallel verarbeitet werden können. Mögliche Werte für SMS:1 1 (Standard). Mögliche Werte für andere Medientypen:1 0-100 (wobei 0 - unbegrenzt). |
|
| attempts | integer | Die maximale Anzahl von Versuchen, einen Alarm zu senden. Mögliche Werte:1 1-10 (Standard: 3). |
|
| attempt_interval | string | Das Intervall (unter Verwendung von Sekunden oder Zeitsuffixen) zwischen Wiederholungsversuchen. Mögliche Werte:1 0-60s (Standard: 10s). |
|
| description | string | Beschreibung des Medientyps. | |
| message_templates | Stammelement für Nachrichtenvorlagen des Medientyps. | ||
| event_source | string | (erforderlich) Ereignisquelle. Mögliche Werte:1 TRIGGERS (0), DISCOVERY (1), AUTOREGISTRATION (2), INTERNAL (3), SERVICE (4). |
|
| operation_mode | string | Betriebsmodus. Mögliche Werte:1 PROBLEM (0), RECOVERY (1), UPDATE (2). |
|
| subject | string | Betreff der Nachricht. | |
| message | string | Nachrichtentext. | |
Siehe auch: Media type object (siehe die entsprechende Eigenschaft mit übereinstimmendem Namen).
Die folgenden zusätzlichen Elemente werden nur für den Medientyp E-Mail exportiert.
| Element | Type | Beschreibung | |
|---|---|---|---|
| provider | string | E-Mail-Anbieter. | |
| smtp_server | string | SMTP-Server. | |
| smtp_port | integer | Port des SMTP-Servers, zu dem die Verbindung hergestellt wird. Standard: 25. |
|
| smtp_helo | string | SMTP helo. | |
| smtp_email | string | E-Mail-Adresse, von der Benachrichtigungen gesendet werden. | |
| smtp_security | string | Zu verwendende Sicherheitsstufe für die SMTP-Verbindung. Mögliche Werte:1 NONE (0, Standard), STARTTLS (1), SSL_OR_TLS (2). |
|
| smtp_verify_host | string | SSL-Hostprüfung für SMTP. Mögliche Werte:1 NO (0, Standard), YES (1). |
|
| smtp_verify_peer | string | SSL-Peer-Prüfung für SMTP. Mögliche Werte:1 NO (0, Standard), YES (1). |
|
| smtp_authentication | string | Zu verwendende SMTP-Authentifizierungsmethode. Mögliche Werte:1 NONE (0, Standard), PASSWORD (1), OAUTH (2). |
|
| username | string | Benutzername. | |
| password | string | Authentifizierungspasswort. | |
| redirection_url | string | URL des Zabbix Frontend, zu der nach der OAuth-Autorisierung zurückgeleitet wird. | |
| client_id | string | Die im OAuth-Autorisierungsserver registrierte Client-ID. | |
| authorization_url | string | OAuth-URL mit Parametern zum Abrufen von Zugriffs- und Aktualisierungstoken. | |
| token_url | string | OAuth-URL zum Austausch des Autorisierungstokens gegen Zugriffs- und Aktualisierungstoken. | |
| message_format | string | Nachrichtenformat. Mögliche Werte:1 TEXT (0), HTML (1, Standard). |
|
Siehe auch: Media type object (siehe die entsprechende Eigenschaft mit übereinstimmendem Namen).
SMS
Die folgenden zusätzlichen Elemente werden nur für den Medientyp SMS exportiert.
| Element | Type | Beschreibung | |
|---|---|---|---|
| gsm_modem | string | (erforderlich) Name des seriellen Geräts des GSM-Modems. | |
Siehe auch: Media type object (bezieht sich auf die entsprechende Eigenschaft mit demselben Namen).
Skript
Die folgenden zusätzlichen Elemente werden nur für den Medientyp Skript exportiert.
| Element | Type | Beschreibung | |
|---|---|---|---|
| Skriptname | string | (erforderlich) Name des Skripts. | |
| Parameter | Stammelement für Skriptparameter. | ||
| sortorder | string | (erforderlich) Reihenfolge der Skriptparameter, die als Befehlszeilenargumente an das Skript übergeben werden. | |
| value | string | Wert des Skriptparameters. | |
Siehe auch: Medientyp-Objekt (siehe die entsprechende Eigenschaft mit demselben Namen).
webhook
Die folgenden zusätzlichen Elemente werden nur für den Medientyp webhook exportiert.
| Element | Type | Beschreibung | |
|---|---|---|---|
| script | string | Skript. | |
| timeout | string | Timeout-Intervall für HTTP-Anfragen des JavaScript-Skripts. Mögliche Werte:1 1-60s (Standard: 30s). |
|
| process_tags | string | Gibt an, ob zurückgegebene Tags verarbeitet werden sollen. Mögliche Werte:1 NO (0, Standard), YES (1). |
|
| show_event_menu | string | Gibt an, ob ein Eintrag im Ereignismenü vorhanden ist, wenn das Makro {EVENT.TAGS.*} in den Feldern event_menu_url und event_menu_name erfolgreich aufgelöst wurde.Mögliche Werte:1 NO (0, Standard), YES (1). |
|
| event_menu_url | string | URL des Ereignismenüeintrags. Unterstützt das Makro {EVENT.TAGS.*}. | |
| event_menu_name | string | Name des Ereignismenüeintrags. Unterstützt das Makro {EVENT.TAGS.*}. | |
| parameters | Stammelement für Parameter des webhook-Medientyps. | ||
| name | string | (erforderlich) Name des webhook-Parameters. | |
| value | string | Wert des webhook-Parameters. | |
Siehe auch: Media type object (siehe die entsprechende Eigenschaft mit übereinstimmendem Namen).
Fußnoten
1 API-Ganzzahlwerte in Klammern, zum Beispiel ENABLED (0), werden nur als Referenz angegeben. Weitere Informationen finden Sie auf der verlinkten API-Objektseite im Tabelleneintrag oder am Ende jedes Abschnitts.