mediatype.get
Descrizione
integer/array mediatype.get(object parameters)
Il metodo consente di recuperare i tipi di media in base ai parametri forniti.
Questo metodo è disponibile per utenti di qualsiasi tipo (per utenti di tipo User a partire da Zabbix 7.0.6). Le autorizzazioni per chiamare il metodo possono essere revocate nelle impostazioni dei ruoli utente. Per ulteriori informazioni, vedere Ruoli utente.
Parametri
(object) Parametri che definiscono l'output desiderato.
Il metodo supporta i seguenti parametri.
Quando si richiedono informazioni relative agli utenti dei tipi di media, gli utenti di tipo Admin (da Zabbix 7.0.4) e gli utenti di tipo User (da Zabbix 7.0.9) possono recuperare solo i dati relativi al proprio utente. Per un esempio, vedere Recupero dei tipi di media come Admin.
| Parametro | Tipo | Descrizione |
|---|---|---|
| mediatypeids | ID/array | Restituisce solo i tipi di media con gli ID specificati. |
| mediaids | ID/array | Restituisce solo i tipi di media usati dai media specificati. |
| userids | ID/array | Restituisce solo i tipi di media usati dagli utenti specificati. |
| selectActions | query | Restituisce una proprietà actions con le actions che usano il tipo di media. |
| selectMessageTemplates | query | Restituisce una proprietà message_templates con un array di messaggi del tipo di media.Comportamento del parametro: - supported per utenti di tipo Super admin (da Zabbix 7.0.4) |
| selectUsers | query | Restituisce una proprietà users con gli utenti che usano il tipo di media.Vedere user.get per le restrizioni basate sul tipo di utente. |
| sortfield | string/array | Ordina il risultato in base alle proprietà specificate. Valori possibili: mediatypeid. |
| filter | object | Restituisce solo i risultati che corrispondono esattamente al filtro specificato. Accetta un oggetto, in cui le chiavi sono nomi di proprietà e i valori sono un singolo valore o un array di valori da confrontare. Non supporta proprietà di tipo text data type.Proprietà possibili dell'oggetto Media type per utenti di tipo Admin (da Zabbix 7.0.4) e utenti di tipo User (da Zabbix 7.0.6): mediatypeid, name, type, status, maxattempts. |
| output | query | Proprietà dell'oggetto Media type da restituire. Gli utenti di tipo Admin (da Zabbix 7.0.4) e gli utenti di tipo User (da Zabbix 7.0.6) possono recuperare solo le seguenti proprietà: mediatypeid, name, type, status, maxattempts, description. Per un esempio, vedere Recupero dei tipi di media come Admin.Predefinito: extend. |
| search | object | Restituisce i risultati che corrispondono al pattern specificato (senza distinzione tra maiuscole e minuscole). Accetta un oggetto, in cui le chiavi sono nomi di proprietà e i valori sono stringhe da cercare. Se non vengono fornite opzioni aggiuntive, verrà eseguita una ricerca LIKE "%…%".Supporta solo proprietà di tipo string e text data type.Proprietà possibili dell'oggetto Media type per utenti di tipo Admin (da Zabbix 7.0.4) e utenti di tipo User (da Zabbix 7.0.6): name, description. |
| countOutput | boolean | Questi parametri sono descritti nella reference commentary. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| preservekeys | boolean | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Valori restituiti
(integer/array) Restituisce o:
- una matrice di oggetti;
- il conteggio degli oggetti recuperati, se il parametro
countOutputè stato usato.
Esempi
Recupero dei tipi di media
Recupera tutti i tipi di media configurati. L'esempio seguente restituisce due tipi di media:
- tipo di media email;
- tipo di media SMS.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"selectMessageTemplates": "extend"
},
"id": 1
}
Risposta:
{
"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": "RISOLTO: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "",
"message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} il problema alle {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": "Autoregistrazione: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {HOST.PORT}"
}
],
"parameters": []
}
],
"id": 1
}
Recupero dei media type come Admin
Come utente di tipo Admin, recupera tutti i media type abilitati, con gli utenti che utilizzano questi media type. L'esempio seguente restituisce due media type:
- media type email con un utente (da Zabbix 7.0.4, solo l'utente stesso di tipo Admin);
- media type SMS senza utenti.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"filter": {
"status": 0
},
"selectUsers": "extend"
},
"id": 1
}
Response:
{
"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
}
Retrieve script and webhook media types
The following example returns three media types:
- script media type with parameters;
- script media type without parameters;
- webhook media type with parameters.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": ["mediatypeid", "name", "parameters"],
"filter": {
"type": [1, 4]
}
},
"id": 1
}
Response:
{
"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
}
Guarda anche
Fonte
CMediaType::get() in ui/include/classes/api/services/CMediaType.php.