mediatype.get
Beschreibung
integer/array mediatype.get(object parameters)
Die Methode ermöglicht das Abrufen von Medientypen anhand der angegebenen Parameter.
Diese Methode ist für Benutzer aller Typen verfügbar (für Benutzer vom Typ User seit Zabbix 7.0.6). Die Berechtigung zum Aufrufen der Methode kann in den Einstellungen der Benutzerrolle widerrufen werden. Weitere Informationen finden Sie unter Benutzerrollen.
Parameter
(object) Parameter, die die gewünschte Ausgabe definieren.
Die Methode unterstützt die folgenden Parameter.
Beim Anfordern benutzerbezogener Informationen von Medientypen können Benutzer vom Typ Admin (seit Zabbix 7.0.4) und Benutzer vom Typ User (seit Zabbix 7.0.9) nur Daten über ihren eigenen Benutzer abrufen. Ein Beispiel finden Sie unter Abrufen von Medientypen als Admin.
| Parameter | Type | Beschreibung |
|---|---|---|
| mediatypeids | ID/array | Gibt nur Medientypen mit den angegebenen IDs zurück. |
| mediaids | ID/array | Gibt nur Medientypen zurück, die von den angegebenen media verwendet werden. |
| userids | ID/array | Gibt nur Medientypen zurück, die von den angegebenen Benutzern verwendet werden. |
| selectActions | query | Gibt eine Eigenschaft actions mit den Aktionen zurück, die den Medientyp verwenden. |
| selectMessageTemplates | query | Gibt eine Eigenschaft message_templates mit einem Array von Medientyp-Nachrichten zurück.Parameterverhalten: - supported für Benutzer vom Typ Super admin (seit Zabbix 7.0.4) |
| selectUsers | query | Gibt eine Eigenschaft users mit den Benutzern zurück, die den Medientyp verwenden.Siehe user.get für Einschränkungen basierend auf dem Benutzertyp. |
| sortfield | string/array | Sortiert das Ergebnis nach den angegebenen Eigenschaften. Mögliche Werte: mediatypeid. |
| filter | object | Gibt nur die Ergebnisse zurück, die genau dem angegebenen Filter entsprechen. Akzeptiert ein Objekt, bei dem die Schlüssel Eigenschaftsnamen sind und die Werte entweder ein einzelner Wert oder ein Array von Werten sind, mit denen verglichen werden soll. Unterstützt keine Eigenschaften vom Datentyp text.Mögliche Eigenschaften des Medientyp-Objekts für Benutzer vom Typ Admin (seit Zabbix 7.0.4) und Benutzer vom Typ User (seit Zabbix 7.0.6): mediatypeid, name, type, status, maxattempts. |
| output | query | Zurückzugebende Eigenschaften des Medientyp-Objekts. Benutzer vom Typ Admin (seit Zabbix 7.0.4) und Benutzer vom Typ User (seit Zabbix 7.0.6) können nur die folgenden Eigenschaften abrufen: mediatypeid, name, type, status, maxattempts, description. Ein Beispiel finden Sie unter Abrufen von Medientypen als Admin.Standard: extend. |
| search | object | Gibt Ergebnisse zurück, die dem angegebenen Muster entsprechen (Groß-/Kleinschreibung wird nicht berücksichtigt). Akzeptiert ein Objekt, bei dem die Schlüssel Eigenschaftsnamen sind und die Werte Suchzeichenfolgen sind. Wenn keine zusätzlichen Optionen angegeben werden, wird eine LIKE "%…%"-Suche ausgeführt.Unterstützt nur Eigenschaften vom Datentyp string und text.Mögliche Eigenschaften des Medientyp-Objekts für Benutzer vom Typ Admin (seit Zabbix 7.0.4) und Benutzer vom Typ User (seit Zabbix 7.0.6): name, description. |
| countOutput | boolean | Diese Parameter werden in der Referenzkommentierung beschrieben. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| preservekeys | boolean | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Rückgabewerte
(integer/array) Kann die folgenden Dinge zurück geben:
- ein Array von Objekten;
- die Anzahl der abgerufenen Objekte, wenn der Parameter
countOutputverwendet wurde.
Beispiele
Abrufen von Medientypen
Rufen Sie alle konfigurierten Medientypen ab. Das folgende Beispiel gibt zwei Medientypen zurück:
- E-Mail-Medientyp;
- SMS-Medientyp.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"selectMessageTemplates": "extend"
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": [
{
"mediatypeid": "1",
"type": "0",
"name": "Email",
"smtp_server": "mail.example.com",
"smtp_helo": "example.com",
"smtp_email": "[email protected]",
"exec_path": "",
"gsm_modem": "",
"username": "",
"passwd": "",
"status": "0",
"smtp_port": "25",
"smtp_security": "0",
"smtp_verify_peer": "0",
"smtp_verify_host": "0",
"smtp_authentication": "0",
"maxsessions": "1",
"maxattempts": "3",
"attempt_interval": "10s",
"message_format": "0",
"script": "",
"timeout": "30s",
"process_tags": "0",
"show_event_menu": "1",
"event_menu_url": "",
"event_menu_name": "",
"description": "",
"provider": "0",
"message_templates": [
{
"eventsource": "0",
"recovery": "0",
"subject": "Problem: {EVENT.NAME}",
"message": "Problem started at {EVENT.TIME} on {EVENT.DATE}\r\nProblem name: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSeverity: {EVENT.SEVERITY}\r\nOperational data: {EVENT.OPDATA}\r\nOriginal problem ID: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "1",
"subject": "Resolved: {EVENT.NAME}",
"message": "Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}\r\nProblem name: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSeverity: {EVENT.SEVERITY}\r\n\r\nOriginal problem ID: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "Updated problem: {EVENT.NAME}",
"message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nCurrent problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}."
},
{
"eventsource": "1",
"recovery": "0",
"subject": "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}",
"message": "Discovery rule: {DISCOVERY.RULE.NAME}\r\n\r\nDevice IP: {DISCOVERY.DEVICE.IPADDRESS}\r\nDevice DNS: {DISCOVERY.DEVICE.DNS}\r\nDevice status: {DISCOVERY.DEVICE.STATUS}\r\nDevice uptime: {DISCOVERY.DEVICE.UPTIME}\r\n\r\nDevice service name: {DISCOVERY.SERVICE.NAME}\r\nDevice service port: {DISCOVERY.SERVICE.PORT}\r\nDevice service status: {DISCOVERY.SERVICE.STATUS}\r\nDevice service uptime: {DISCOVERY.SERVICE.UPTIME}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "Autoregistration: {HOST.HOST}",
"message": "Host name: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {HOST.PORT}"
}
],
"parameters": []
},
{
"mediatypeid": "3",
"type": "2",
"name": "SMS",
"smtp_server": "",
"smtp_helo": "",
"smtp_email": "",
"exec_path": "",
"gsm_modem": "/dev/ttyS0",
"username": "",
"passwd": "",
"status": "0",
"smtp_port": "25",
"smtp_security": "0",
"smtp_verify_peer": "0",
"smtp_verify_host": "0",
"smtp_authentication": "0",
"maxsessions": "1",
"maxattempts": "3",
"attempt_interval": "10s",
"message_format": "1",
"script": "",
"timeout": "30s",
"process_tags": "0",
"show_event_menu": "1",
"event_menu_url": "",
"event_menu_name": "",
"description": "",
"provider": "0",
"message_templates": [
{
"eventsource": "0",
"recovery": "0",
"subject": "",
"message": "{EVENT.SEVERITY}: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "1",
"subject": "",
"message": "RESOLVED: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "",
"message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}"
},
{
"eventsource": "1",
"recovery": "0",
"subject": "",
"message": "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "",
"message": "Autoregistration: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {HOST.PORT}"
}
],
"parameters": []
}
],
"id": 1
}
Abrufen von Medientypen als Admin
Als Benutzer vom Typ Admin rufen Sie alle aktivierten Medientypen zusammen mit den Benutzern ab, die diese Medientypen verwenden. Das folgende Beispiel gibt zwei Medientypen zurück:
- E-Mail-Medientyp mit einem Benutzer (seit Zabbix 7.0.4 nur der eigene Benutzer des Benutzers vom Typ Admin);
- SMS-Medientyp ohne Benutzer.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"filter": {
"status": 0
},
"selectUsers": "extend"
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": [
{
"mediatypeid": "1",
"type": "0",
"name": "Email",
"status": "0",
"description": "",
"maxattempts": "3",
"users": [
{
"userid": "3",
"username": "database-admin",
"name": "John",
"surname": "Doe",
"url": "",
"autologin": "0",
"autologout": "0",
"lang": "default",
"refresh": "30s",
"theme": "default",
"attempt_failed": "0",
"attempt_ip": "",
"attempt_clock": "0",
"rows_per_page": "50",
"timezone": "default",
"roleid": "2",
"provisioned": "0"
}
]
},
{
"mediatypeid": "3",
"type": "2",
"name": "SMS",
"status": "0",
"description": "",
"maxattempts": "3",
"users": []
}
],
"id": 1
}
Skript- und webhook-Medientypen abrufen
Das folgende Beispiel gibt drei Medientypen zurück:
- Skript-Medientyp mit Parametern;
- Skript-Medientyp ohne Parameter;
- webhook-Medientyp mit Parametern.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": ["mediatypeid", "name", "parameters"],
"filter": {
"type": [1, 4]
}
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": [
{
"mediatypeid": "10",
"name": "Script with parameters",
"parameters": [
{
"sortorder": "0",
"value": "{ALERT.SENDTO}"
},
{
"sortorder": "1",
"value": "{EVENT.NAME}"
},
{
"sortorder": "2",
"value": "{ALERT.MESSAGE}"
},
{
"sortorder": "3",
"value": "Zabbix alert"
}
]
},
{
"mediatypeid": "13",
"name": "Script without parameters",
"parameters": []
},
{
"mediatypeid": "11",
"name": "Webhook",
"parameters": [
{
"name": "alert_message",
"value": "{ALERT.MESSAGE}"
},
{
"name": "event_update_message",
"value": "{EVENT.UPDATE.MESSAGE}"
},
{
"name": "host_name",
"value": "{HOST.NAME}"
},
{
"name": "trigger_description",
"value": "{TRIGGER.DESCRIPTION}"
},
{
"name": "trigger_id",
"value": "{TRIGGER.ID}"
},
{
"name": "alert_source",
"value": "Zabbix"
}
]
}
],
"id": 1
}
Siehe auch
Quelle
CMediaType::get() in ui/include/classes/api/services/CMediaType.php.