mediatype.get
Descrição
integer/array mediatype.get(object parameters)
O método permite recuperar tipos de mídia de acordo com os parâmetros fornecidos.
Este método está disponível para usuários de qualquer tipo (para usuários do tipo User desde o Zabbix 7.0.6). As permissões para chamar o método podem ser revogadas nas configurações de função de usuário. Consulte Funções de usuário para obter mais informações.
Parâmetros
(object) Parâmetros que definem a saída desejada.
O método suporta os seguintes parâmetros.
Ao solicitar informações relacionadas a usuários de tipos de mídia, usuários do tipo Admin (desde Zabbix 7.0.4) e usuários do tipo User (desde Zabbix 7.0.9) podem recuperar apenas dados sobre o próprio usuário. Para um exemplo, consulte Recuperando tipos de mídia como Admin.
| Parameter | Type | Description |
|---|---|---|
| mediatypeids | ID/array | Retorna apenas tipos de mídia com os IDs informados. |
| mediaids | ID/array | Retorna apenas tipos de mídia usados pelo media informado. |
| userids | ID/array | Retorna apenas tipos de mídia usados pelos usuários informados. |
| selectActions | query | Retorna uma propriedade actions com as actions que usam o tipo de mídia. |
| selectMessageTemplates | query | Retorna uma propriedade message_templates com um array de mensagens do tipo de mídia.Comportamento do parâmetro: - supported para usuários do tipo Super admin (desde Zabbix 7.0.4) |
| selectUsers | query | Retorna uma propriedade users com os usuários que usam o tipo de mídia.Consulte user.get para restrições com base no tipo de usuário. |
| sortfield | string/array | Classifica o resultado pelas propriedades informadas. Valores possíveis: mediatypeid. |
| filter | object | Retorna apenas os resultados que correspondem exatamente ao filtro informado. Aceita um objeto, em que as chaves são nomes de propriedades e os valores são um único valor ou um array de valores para correspondência. Não suporta propriedades do tipo de dados text data type.Possíveis propriedades do objeto Media type para usuários do tipo Admin (desde Zabbix 7.0.4) e usuários do tipo User (desde Zabbix 7.0.6): mediatypeid, name, type, status, maxattempts. |
| output | query | Propriedades do objeto Media type a serem retornadas. Usuários do tipo Admin (desde Zabbix 7.0.4) e usuários do tipo User (desde Zabbix 7.0.6) podem recuperar apenas as seguintes propriedades: mediatypeid, name, type, status, maxattempts, description. Para um exemplo, consulte Recuperando tipos de mídia como Admin.Padrão: extend. |
| search | object | Retorna resultados que correspondem ao padrão informado (sem distinção entre maiúsculas e minúsculas). Aceita um objeto, em que as chaves são nomes de propriedades e os valores são strings a serem pesquisadas. Se nenhuma opção adicional for informada, isso executará uma pesquisa LIKE "%…%".Suporta apenas propriedades dos tipos de dados string e text data type.Possíveis propriedades do objeto Media type para usuários do tipo Admin (desde Zabbix 7.0.4) e usuários do tipo User (desde Zabbix 7.0.6): name, description. |
| countOutput | boolean | Esses parâmetros são descritos no comentário de referência. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| preservekeys | boolean | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Valores de retorno
(integer/array) Retorna:
- um array de objetos;
- a contagem de objetos recuperados, se o parâmetro
countOutputtiver sido usado.
Exemplos
Recuperando tipos de mídia
Recupere todos os tipos de mídia configurados. O exemplo a seguir retorna dois tipos de mídia:
- tipo de mídia de e-mail;
- tipo de mídia de SMS.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"selectMessageTemplates": "extend"
},
"id": 1
}
Response:
{
"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": "Problema iniciado em {EVENT.TIME} em {EVENT.DATE}\r\nNome do problema: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSeveridade: {EVENT.SEVERITY}\r\nDados operacionais: {EVENT.OPDATA}\r\nID original do problema: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "1",
"subject": "Resolvido: {EVENT.NAME}",
"message": "O problema foi resolvido em {EVENT.RECOVERY.TIME} em {EVENT.RECOVERY.DATE}\r\nNome do problema: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSeveridade: {EVENT.SEVERITY}\r\n\r\nID original do problema: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "Problema atualizado: {EVENT.NAME}",
"message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} o problema em {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nO status atual do problema é {EVENT.STATUS}, reconhecido: {EVENT.ACK.STATUS}."
},
{
"eventsource": "1",
"recovery": "0",
"subject": "Descoberta: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}",
"message": "Regra de descoberta: {DISCOVERY.RULE.NAME}\r\n\r\nIP do dispositivo: {DISCOVERY.DEVICE.IPADDRESS}\r\nDNS do dispositivo: {DISCOVERY.DEVICE.DNS}\r\nStatus do dispositivo: {DISCOVERY.DEVICE.STATUS}\r\nTempo de atividade do dispositivo: {DISCOVERY.DEVICE.UPTIME}\r\n\r\nNome do serviço do dispositivo: {DISCOVERY.SERVICE.NAME}\r\nPorta do serviço do dispositivo: {DISCOVERY.SERVICE.PORT}\r\nStatus do serviço do dispositivo: {DISCOVERY.SERVICE.STATUS}\r\nTempo de atividade do serviço do dispositivo: {DISCOVERY.SERVICE.UPTIME}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "Autoregistro: {HOST.HOST}",
"message": "Nome do host: {HOST.HOST}\r\nIP do host: {HOST.IP}\r\nPorta do agent: {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": "RESOLVIDO: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "",
"message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} o problema em {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}"
},
{
"eventsource": "1",
"recovery": "0",
"subject": "",
"message": "Descoberta: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "",
"message": "Autoregistro: {HOST.HOST}\r\nIP do host: {HOST.IP}\r\nPorta do agent: {HOST.PORT}"
}
],
"parameters": []
}
],
"id": 1
}
Recuperando tipos de mídia como Admin
Como um usuário do tipo Admin, recupere todos os tipos de mídia que estão habilitados, com os usuários que utilizam esses tipos de mídia. O exemplo a seguir retorna dois tipos de mídia:
- tipo de mídia de e-mail com um usuário (desde o Zabbix 7.0.4, apenas o próprio usuário do tipo Admin);
- tipo de mídia SMS sem usuários.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"filter": {
"status": 0
},
"selectUsers": "extend"
},
"id": 1
}
Resposta:
{
"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
}
Recuperar tipos de mídia de script e webhook
O exemplo a seguir retorna três tipos de mídia:
- tipo de mídia de script com parâmetros;
- tipo de mídia de script sem parâmetros;
- tipo de mídia webhook com parâmetros.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": ["mediatypeid", "name", "parameters"],
"filter": {
"type": [1, 4]
}
},
"id": 1
}
Resposta:
{
"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
}
Veja também
Fonte
CMediaType::get() em ui/include/classes/api/services/CMediaType.php.