mediatype.get
Apraksts
integer/array mediatype.get(object parameters)
Šī metode ļauj izgūt mediju tipus atbilstoši norādītajiem parametriem.
Šī metode ir pieejama jebkura tipa lietotājiem. Atļaujas izsaukt šo metodi var tikt atsauktas lietotāja lomas iestatījumos. Plašāku informāciju skatiet sadaļā Lietotāju lomas.
Parametri
(object) Parametri, kas nosaka vēlamo izvadi.
Metode atbalsta šādus parametrus.
Pieprasot ar lietotājiem saistītu informāciju par mediju tipiem, Admin un User tipa lietotāji var iegūt datus tikai par savu lietotāju. Piemēru skatiet sadaļā Mediju tipu izgūšana kā Admin.
| Parametrs | Tips | Apraksts |
|---|---|---|
| mediatypeids | ID/array | Atgriezt tikai mediju tipus ar norādītajiem ID. |
| mediaids | ID/array | Atgriezt tikai mediju tipus, ko izmanto norādītais medijs. |
| userids | ID/array | Atgriezt tikai mediju tipus, ko izmanto norādītie lietotāji. |
| selectActions | query | Atgriezt actions īpašību ar darbībām, kas izmanto mediju tipu. |
| selectMessageTemplates | query | Atgriezt message_templates īpašību ar mediju tipu ziņojumu masīvu.Parametra darbība: - atbalstīts Super admin tipa lietotājiem |
| selectUsers | query | Atgriezt users īpašību ar lietotājiem, kas izmanto mediju tipu.Skatiet user.get par ierobežojumiem atkarībā no lietotāja tipa. |
| sortfield | string/array | Kārtot rezultātu pēc norādītajām īpašībām. Iespējamās vērtības: mediatypeid. |
| filter | object | Atgriezt tikai tos rezultātus, kas precīzi atbilst norādītajam filtram. Pieņem objektu, kur atslēgas ir īpašību nosaukumi, bet vērtības ir vai nu viena vērtība, vai vērtību masīvs, pēc kura veikt atbilstību. Neatbalsta text datu tipa īpašības.Iespējamās Mediju tipa objekta īpašības Admin un User tipa lietotājiem: mediatypeid, name, type, status, maxattempts. |
| output | query | Atgriežamās Mediju tipa objekta īpašības. Admin un User tipa lietotāji var iegūt tikai šādas īpašības: mediatypeid, name, type, status, maxattempts, description. Piemēru skatiet sadaļā Mediju tipu izgūšana kā Admin.Noklusējums: extend. |
| search | object | Atgriezt rezultātus, kas atbilst norādītajam paraugam (reģistrnejutīgi). Pieņem objektu, kur atslēgas ir īpašību nosaukumi, bet vērtības ir virknes, ko meklēt. Ja nav norādītas papildu opcijas, tiks veikta LIKE "%…%" meklēšana.Atbalsta tikai string un text datu tipa īpašības.Iespējamās Mediju tipa objekta īpašības Admin un User tipa lietotājiem: name, description. |
| countOutput | boolean | Šie parametri ir aprakstīti atsauces komentārā. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| preservekeys | boolean | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Atgrieztās vērtības
(integer/array) Atgriež vienu no šīm vērtībām:
- objektu masīvu;
- izgūto objektu skaitu, ja ir izmantots parametrs
countOutput.
Piemēri
Mediju tipu izgūšana
Izgūst visus konfigurētos mediju tipus. Tālāk redzamais piemērs atgriež divus mediju tipus:
- e-pasta mediju tipu;
- SMS mediju tipu.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"selectMessageTemplates": "extend"
},
"id": 1
}
Atbilde:
{
"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": "Problēma sākās {EVENT.TIME} {EVENT.DATE}\r\nProblēmas nosaukums: {EVENT.NAME}\r\nHosts: {HOST.NAME}\r\nSmagums: {EVENT.SEVERITY}\r\nOperatīvie dati: {EVENT.OPDATA}\r\nSākotnējās problēmas ID: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "1",
"subject": "Atrisināts: {EVENT.NAME}",
"message": "Problēma tika atrisināta {EVENT.RECOVERY.TIME} {EVENT.RECOVERY.DATE}\r\nProblēmas nosaukums: {EVENT.NAME}\r\nHosts: {HOST.NAME}\r\nSmagums: {EVENT.SEVERITY}\r\n\r\nSākotnējās problēmas ID: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "Atjaunināta problēma: {EVENT.NAME}",
"message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problēmu {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nPašreizējais problēmas statuss ir {EVENT.STATUS}, apstiprināta: {EVENT.ACK.STATUS}."
},
{
"eventsource": "1",
"recovery": "0",
"subject": "Atklāšana: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}",
"message": "Atklāšanas noteikums: {DISCOVERY.RULE.NAME}\r\n\r\nIerīces IP: {DISCOVERY.DEVICE.IPADDRESS}\r\nIerīces DNS: {DISCOVERY.DEVICE.DNS}\r\nIerīces statuss: {DISCOVERY.DEVICE.STATUS}\r\nIerīces darbības laiks: {DISCOVERY.DEVICE.UPTIME}\r\n\r\nIerīces pakalpojuma nosaukums: {DISCOVERY.SERVICE.NAME}\r\nIerīces pakalpojuma ports: {DISCOVERY.SERVICE.PORT}\r\nIerīces pakalpojuma statuss: {DISCOVERY.SERVICE.STATUS}\r\nIerīces pakalpojuma darbības laiks: {DISCOVERY.SERVICE.UPTIME}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "Automātiska reģistrācija: {HOST.HOST}",
"message": "Hosts nosaukums: {HOST.HOST}\r\nHosts IP: {HOST.IP}\r\nAģenta ports: {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\nHosts: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "1",
"subject": "",
"message": "ATRISINĀTS: {EVENT.NAME}\r\nHosts: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "",
"message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problēmu {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}"
},
{
"eventsource": "1",
"recovery": "0",
"subject": "",
"message": "Atklāšana: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "",
"message": "Automātiska reģistrācija: {HOST.HOST}\r\nHosts IP: {HOST.IP}\r\nAģenta ports: {HOST.PORT}"
}
],
"parameters": []
}
],
"id": 1
}
Paziņojumu veidu izgūšana kā Admin
Kā Admin tipa lietotājs izgūstiet visus iespējotos paziņojumu veidus kopā ar lietotājiem, kuri izmanto šos paziņojumu veidus. Tālāk redzamajā piemērā tiek atgriezti divi paziņojumu veidi:
- e-pasta paziņojumu veids ar vienu lietotāju (tikai paša Admin tipa lietotāja konts);
- SMS paziņojumu veids bez lietotājiem.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"filter": {
"status": 0
},
"selectUsers": "extend"
},
"id": 1
}
Atbilde:
{
"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
}
Skripta un webhook paziņojumu nesēju tipu izgūšana
Šajā piemērā tiek atgriezti trīs paziņojumu nesēju tipi:
- skripta paziņojumu nesēja tips ar parametriem;
- skripta paziņojumu nesēja tips bez parametriem;
- webhook paziņojumu nesēja tips ar parametriem.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": ["mediatypeid", "name", "parameters"],
"filter": {
"type": [1, 4]
}
},
"id": 1
}
Atbilde:
{
"jsonrpc": "2.0",
"result": [
{
"mediatypeid": "10",
"name": "Skripts ar parametriem",
"parameters": [
{
"sortorder": "0",
"value": "{ALERT.SENDTO}"
},
{
"sortorder": "1",
"value": "{EVENT.NAME}"
},
{
"sortorder": "2",
"value": "{ALERT.MESSAGE}"
},
{
"sortorder": "3",
"value": "Zabbix brīdinājums"
}
]
},
{
"mediatypeid": "13",
"name": "Skripts bez parametriem",
"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
}
Skatiet arī
Avots
CMediaType::get() failā ui/include/classes/api/services/CMediaType.php.