event.get

Descrição

integer/array event.get(object parameters)

O método permite recuperar eventos de acordo com os parâmetros fornecidos.

Este método pode retornar eventos de uma entidade excluída se esses eventos ainda não tiverem sido removidos pelo housekeeper.

Este método está disponível para usuários de qualquer tipo. As permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Consulte Funções de usuário para mais informações.

Parâmetros

(object) Parâmetros que definem a saída desejada.

O método suporta os seguintes parâmetros.

Parameter Type Description
eventids ID/array Retorna apenas eventos com os IDs informados.
groupids ID/array Retorna apenas eventos criados por objetos que pertencem aos grupos de hosts informados.
hostids ID/array Retorna apenas eventos criados por objetos que pertencem aos hosts informados.
objectids ID/array Retorna apenas eventos criados pelos objetos informados.
source integer Retorna apenas eventos com o tipo informado.

Consulte a página do objeto event para obter uma lista dos tipos de evento suportados.

Padrão: 0 - eventos de trigger.
object integer Retorna apenas eventos criados por objetos do tipo informado.

Consulte a página do objeto event para obter uma lista dos tipos de objeto suportados.

Padrão: 0 - trigger.
acknowledged boolean Se definido como true, retorna apenas eventos reconhecidos.
action integer Retorna apenas eventos para os quais as ações de atualização de evento informadas foram executadas. Para várias ações, use a soma de quaisquer valores de bitmap aceitáveis como máscara de bits (por exemplo, 34 para reconhecer e suprimir o evento).
action_userids ID/array Retorna apenas eventos com os IDs informados dos usuários que executaram as ações de atualização do evento.
suppressed boolean Se definido como true, retorna apenas eventos suprimidos.
symptom boolean Se definido como true, retorna apenas eventos de sintoma.
severities integer/array Retorna apenas eventos com as severidades informadas. Aplica-se somente se object for trigger.
trigger_severities integer/array Retorna apenas eventos com as severidades de trigger informadas. Aplica-se somente se object for trigger.
evaltype integer Método de avaliação de tags.

Valores possíveis:
0 - (padrão) And/Or;
2 - Or.
tags array Retorna apenas eventos com as tags informadas.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Um array vazio retorna todos os eventos.

Valores possíveis de operator:
0 - (padrão) Contains;
1 - Equals;
2 - Does not contain;
3 - Does not equal;
4 - Exists;
5 - Does not exist.
eventid_from string Retorna apenas eventos com IDs maiores ou iguais ao ID informado.
eventid_till string Retorna apenas eventos com IDs menores ou iguais ao ID informado.
time_from timestamp Retorna apenas eventos criados no momento informado ou depois dele.
time_till timestamp Retorna apenas eventos criados no momento informado ou antes dele.
problem_time_from timestamp Retorna apenas eventos que estiveram no estado de problema a partir de problem_time_from, independentemente do status atual. Aplica-se somente quando a source é um evento de trigger e o object é um trigger. Este parâmetro é obrigatório se problem_time_till for especificado.
problem_time_till timestamp Retorna apenas eventos que estiveram no estado de problema até problem_time_till, independentemente do status atual. Aplica-se somente quando a source é um evento de trigger e o object é um trigger. Este parâmetro é obrigatório se problem_time_from for especificado.
value integer/array Retorna apenas eventos com os valores informados.
selectAcknowledges query Retorna uma propriedade acknowledges com as atualizações do evento. As atualizações do evento são ordenadas em ordem cronológica inversa.

O objeto de atualização do evento tem as seguintes propriedades:
acknowledgeid - (ID) ID do acknowledgment;
userid - (ID) ID do usuário que atualizou o evento;
clock - (timestamp) momento em que o evento foi atualizado;
message - (string) texto da mensagem;
action - (integer) ação de atualização executada, veja event.acknowledge;
old_severity - (integer) severidade do evento antes desta ação de atualização;
new_severity - (integer) severidade do evento após esta ação de atualização;
suppress_until - (timestamp) momento até o qual o evento será suprimido;
taskid - (ID) ID da tarefa se o evento atual estiver passando por uma alteração de rank;
username - (string) nome de usuário do usuário que atualizou o evento;
name - (string) nome do usuário que atualizou o evento;
surname - (string) sobrenome do usuário que atualizou o evento.

Suporta count.
selectAlerts query Retorna uma propriedade alerts com os alerts gerados pelo evento. Os alerts são ordenados em ordem cronológica inversa.
selectHosts query Retorna uma propriedade hosts com os hosts que contêm o objeto que criou o evento. Suportado apenas para eventos gerados por triggers, items ou regras LLD.
selectRelatedObject query Retorna uma propriedade relatedObject com o objeto que criou o evento. O tipo de objeto retornado depende do tipo de evento.
selectSuppressionData query Retorna uma propriedade suppression_data com a lista de manutenções ativas e supressões manuais:
maintenanceid - (ID) ID da manutenção;
userid - (ID) ID do usuário que suprimiu o evento;
suppress_until - (integer) tempo até o qual o evento está suprimido.
selectTags query Retorna uma propriedade tags com as tags do evento.
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 com os quais comparar.

Não oferece suporte a propriedades do tipo de dados text data type.
sortfield string/array Classifica o resultado pelas propriedades informadas.

Valores possíveis: eventid, objectid, clock.

Valores possíveis quando usado junto com groupBy: objectid.

Valores possíveis quando usado junto com countOutput e groupBy: objectid, rowscount.
groupBy string/array Agrupa os resultados pelas propriedades informadas. As propriedades especificadas serão retornadas nos resultados.

Valores possíveis: objectid.
countOutput boolean Esses parâmetros são descritos no comentário de referência.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean
select_acknowledges
(deprecated)
query Este parâmetro está obsoleto; use selectAcknowledges em seu lugar.
Retorna uma propriedade acknowledges com as atualizações do evento.
As atualizações do evento são ordenadas em ordem cronológica inversa.

O objeto de atualização do evento tem as seguintes propriedades:
acknowledgeid - (ID) ID do acknowledgment;
userid - (ID) ID do usuário que atualizou o evento;
clock - (timestamp) momento em que o evento foi atualizado;
message - (string) texto da mensagem;
action - (integer) ação de atualização executada, veja event.acknowledge;
old_severity - (integer) severidade do evento antes desta ação de atualização;
new_severity - (integer) severidade do evento após esta ação de atualização;
suppress_until - (timestamp) momento até o qual o evento será suprimido;
taskid - (ID) ID da tarefa se o evento atual estiver passando por uma alteração de rank;
username - (string) nome de usuário do usuário que atualizou o evento;
name - (string) nome do usuário que atualizou o evento;
surname - (string) sobrenome do usuário que atualizou o evento.

Suporta count.
select_alerts
(deprecated)
query Este parâmetro está obsoleto; use selectAlerts em seu lugar.
Retorna uma propriedade alerts com os alerts gerados pelo evento.
Os alerts são ordenados em ordem cronológica inversa.

Valores de retorno

(integer/array) Retorna:

  • um array de objetos;
  • a contagem de objetos recuperados, se o parâmetro countOutput foi utilizado, mas o parâmetro groupBy não foi utilizado;
  • um array de objetos com resultados de agregação, se o parâmetro groupBy foi utilizado.

Exemplos

Recuperando eventos de trigger

Recupere os eventos mais recentes do trigger "22395".

Requisição:

{
    "jsonrpc": "2.0",
    "method": "event.get",
    "params": {
        "output": "extend",
        "selectAcknowledges": "extend",
        "selectSuppressionData": "extend",
        "selectTags": "extend",
        "objectids": "22395",
        "sortfield": ["clock", "eventid"],
        "sortorder": "DESC"
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "20",
            "source": "0",
            "object": "0",
            "objectid": "22395",
            "clock": "1728658089",
            "value": "0",
            "acknowledged": "0",
            "ns": "461809482",
            "name": "Load average is too high (per CPU load over 1.5 for 5m)",
            "severity": "0",
            "r_eventid": "0",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "acknowledges": [],
            "opdata": "Load averages(1m 5m 15m): (1.6328 3.0522 2.2515), # of CPUs: 2",
            "suppression_data": [],
            "suppressed": "0",
            "tags": [
                {
                    "tag": "scope",
                    "value": "capacity"
                },
                {
                    "tag": "scope",
                    "value": "performance"
                },
                {
                    "tag": "component",
                    "value": "cpu"
                },
                {
                    "tag": "class",
                    "value": "os"
                },
                {
                    "tag": "target",
                    "value": "linux"
                }
            ],
            "urls": []
        },
        {
            "eventid": "4",
            "source": "0",
            "object": "0",
            "objectid": "22395",
            "clock": "1728657737",
            "value": "1",
            "acknowledged": "1",
            "ns": "460759366",
            "name": "Load average is too high (per CPU load over 1.5 for 5m)",
            "severity": "3",
            "r_eventid": "20",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "acknowledges": [
                {
                    "acknowledgeid": "1",
                    "userid": "1",
                    "clock": "1728657938",
                    "message": "Testing environment. Please disregard this alert.",
                    "action": "38",
                    "old_severity": "0",
                    "new_severity": "0",
                    "suppress_until": "1728744338",
                    "taskid": "0",
                    "username": "Admin",
                    "name": "Zabbix",
                    "surname": "Administrator"
                }
            ],
            "opdata": "Load averages(1m 5m 15m): (1.6328 3.0522 2.2515), # of CPUs: 2",
            "suppression_data": [
                {
                    "maintenanceid": "0",
                    "suppress_until": "1728744338",
                    "userid": "1"
                }
            ],
            "suppressed": "1",
            "tags": [
                {
                    "tag": "scope",
                    "value": "capacity"
                },
                {
                    "tag": "scope",
                    "value": "performance"
                },
                {
                    "tag": "component",
                    "value": "cpu"
                },
                {
                    "tag": "class",
                    "value": "os"
                },
                {
                    "tag": "target",
                    "value": "linux"
                }
            ],
            "urls": []
        }
    ],
    "id": 1
}

Recuperando eventos por período de tempo

Recupere todos os eventos que foram criados entre 17 e 18 de outubro de 2012, em ordem cronológica inversa.

Requisição:

{
    "jsonrpc": "2.0",
    "method": "event.get",
    "params": {
        "output": "extend",
        "time_from": "1350432000",
        "time_till": "1350518400",
        "sortfield": ["clock", "eventid"],
        "sortorder": "DESC"
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "20617",
            "source": "0",
            "object": "0",
            "objectid": "14282",
            "clock": "1350477816",
            "value": "1",
            "acknowledged": "0",
            "ns": "0",
            "name": "Less than 25% free in the history cache",
            "severity": "3",
            "r_eventid": "0",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "opdata": "",
            "suppressed": "0",
            "urls": []
        },
        {
            "eventid": "20616",
            "source": "0",
            "object": "0",
            "objectid": "14281",
            "clock": "1350477814",
            "value": "0",
            "acknowledged": "0",
            "ns": "0",
            "name": "Zabbix trapper processes more than 75% busy",
            "severity": "0",
            "r_eventid": "0",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "opdata": "",
            "suppressed": "0",
            "urls": []
        },
        {
            "eventid": "20615",
            "source": "0",
            "object": "0",
            "objectid": "14281",
            "clock": "1350477541",
            "value": "1",
            "acknowledged": "0",
            "ns": "0",
            "name": "Zabbix trapper processes more than 75% busy",
            "severity": "3",
            "r_eventid": "20616",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "opdata": "",
            "suppressed": "0",
            "urls": []
        }
    ],
    "id": 1
}

Recuperando eventos reconhecidos por um usuário especificado

Recuperando eventos reconhecidos pelo usuário com ID=10

Requisição:

{
    "jsonrpc": "2.0",
    "method": "event.get",
    "params": {
        "output": "extend",
        "action": 2,
        "action_userids": [10],
        "selectAcknowledges": ["userid", "action"],
        "sortfield": ["eventid"],
        "sortorder": "DESC"
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "503",
            "source": "0",
            "object": "0",
            "objectid": "23162",
            "clock": "1747212236",
            "value": "1",
            "acknowledged": "1",
            "ns": "413470863",
            "name": "Number of installed packages has been changed",
            "severity": "2",
            "r_eventid": "0",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "acknowledges": [
                {
                    "userid": "10",
                    "action": "2"
                }
            ],
            "opdata": "",
            "suppressed": "0",
            "urls": []
        }
    ],
    "id": 1
}

Recuperando os principais triggers com contagem de eventos de problema

Recupere os 5 principais triggers que possuem severidades "Aviso", "Média", "Alta" ou "Desastre", juntamente com o número de eventos de problema dentro de um período de tempo especificado.

Requisição:

{
    "jsonrpc": "2.0",
    "method": "event.get",
    "params": {
        "countOutput": true,
        "groupBy": "objectid",
        "source": 0,
        "object": 0,
        "value": 1,
        "time_from": 1672531200,
        "time_till": 1677628800,
        "trigger_severities": [2, 3, 4, 5],
        "sortfield": ["rowscount"],
        "sortorder": "DESC",
        "limit": 5
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "objectid": "232124",
            "rowscount": "27"
        },
        {
            "objectid": "29055",
            "rowscount": "23"
        },
        {
            "objectid": "253731",
            "rowscount": "18"
        },
        {
            "objectid": "254062",
            "rowscount": "11"
        },
        {
            "objectid": "23216",
            "rowscount": "7"
        }
    ],
    "id": 1
}

Veja também

Fonte

CEvent::get() em ui/include/classes/api/services/CEvent.php.