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 countOutput tiver 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.

Request:

{
    "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.

Requisição:

{
    "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.

Requisição:

{
    "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.