problem.get

Descrição

integer/array problem.get(object parameters)

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

Este método é usado para recuperar problemas não resolvidos. Também é possível, se especificado, recuperar adicionalmente problemas resolvidos recentemente. O período que determina quão antigo é "recentemente" é definido em Administration > General. Problemas que foram resolvidos antes desse período não são mantidos na tabela de problemas. Para recuperar problemas que foram resolvidos mais no passado, use o método event.get.

Este método pode retornar problemas de uma entidade excluída se esses problemas 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 de 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 problemas com os IDs informados.
groupids ID/array Retorna apenas problemas criados por objetos que pertencem aos grupos de hosts informados.
hostids ID/array Retorna apenas problemas criados por objetos que pertencem aos hosts informados.
objectids ID/array Retorna apenas problemas criados pelos objetos informados.
source integer Retorna apenas problemas com o tipo informado.

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

Padrão: 0 - problema criado por um trigger.
object integer Retorna apenas problemas criados por objetos do tipo informado.

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

Padrão: 0 - trigger.
acknowledged boolean Se definido como true, retorna apenas problemas reconhecidos.
action integer Retorna apenas problemas 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 problemas com os IDs informados dos usuários que executaram as ações de atualização do evento de problema.
suppressed boolean Se definido como true, retorna apenas problemas suprimidos.
symptom boolean Se definido como true, retorna apenas eventos de problema sintoma.
severities integer/array Retorna apenas problemas com as severidades de evento 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 problemas com as tags informadas.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Um array vazio retorna todos os problemas.

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.
recent boolean Se definido como true, retorna problemas recentes, incluindo aqueles resolvidos dentro do ok_period e quaisquer problemas não resolvidos.
Se definido como false, retorna apenas problemas não resolvidos.
eventid_from string Retorna apenas problemas com IDs maiores ou iguais ao ID informado.
eventid_till string Retorna apenas problemas com IDs menores ou iguais ao ID informado.
time_from timestamp Retorna apenas problemas que foram criados após ou no horário informado.
time_till timestamp Retorna apenas problemas que foram criados antes ou no horário informado.
selectAcknowledges query Retorna uma propriedade acknowledges com as atualizações do problema. As atualizações do problema são ordenadas em ordem cronológica inversa.

O objeto de atualização do problema tem as seguintes propriedades:
acknowledgeid - (ID) ID da atualização;
userid - (ID) ID do usuário que atualizou o evento;
eventid - (ID) ID do evento atualizado;
clock - (timestamp) horário em que o evento foi atualizado;
message - (string) texto da mensagem;
action - (integer) tipo de ação de atualização (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) horário até o qual o evento será suprimido;
taskid - (ID) ID da tarefa se o evento atual estiver passando por uma alteração de classificação;
maintenanceid - (ID) ID da maintenance.

Suporta count.
selectTags query Retorna uma propriedade tags com as tags do problema. Formato de saída: [{"tag": "<tag>", "value": "<value>"}, ...].
selectSuppressionData query Retorna uma propriedade suppression_data com a lista de maintenances ativas e supressões manuais:
maintenanceid - (ID) ID da maintenance;
userid - (ID) ID do usuário que suprimiu o problema;
suppress_until - (integer) tempo até o qual o problema está suprimido.
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.
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

Valores de retorno

(integer/array) Retorna um dos seguintes:

  • uma matriz de objetos;
  • a contagem dos objetos recuperados, se o parâmetro countOutput tiver sido usado.

Exemplos

Recuperando eventos de problema de trigger

Recupere eventos recentes do trigger "15112."

Request:

{
    "jsonrpc": "2.0",
    "method": "problem.get",
    "params": {
        "output": "extend",
        "selectAcknowledges": "extend",
        "selectTags": "extend",
        "selectSuppressionData": "extend",
        "objectids": "15112",
        "recent": true,
        "sortfield": ["eventid"],
        "sortorder": "DESC"
    },
    "id": 1
}

Response:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "1245463",
            "source": "0",
            "object": "0",
            "objectid": "15112",
            "clock": "1472457242",
            "ns": "209442442",
            "r_eventid": "1245468",
            "r_clock": "1472457285",
            "r_ns": "125644870",
            "correlationid": "0",
            "userid": "1",
            "name": "Zabbix agent on localhost is unreachable for 5 minutes",
            "acknowledged": "1",
            "severity": "3",
            "cause_eventid": "0",
            "suppressed": "1",
            "acknowledges": [
                {
                    "acknowledgeid": "14443",
                    "userid": "1",
                    "eventid": "1245463",
                    "clock": "1472457281",
                    "message": "problem solved",
                    "action": "6",
                    "old_severity": "0",
                    "new_severity": "0",
                    "suppress_until": "1472511600",
                    "taskid": "0",
                    "maintenanceid": "0"
                }
            ],
            "opdata": "",
            "suppression_data": [
                {
                    "maintenanceid": "15",
                    "suppress_until": "1472511600",
                    "userid": "0"
                }
            ],
            "tags": [
                {
                    "tag": "test-tag",
                    "value": "test-value"
                }
            ],
            "urls": []
        }
    ],
    "id": 1
}

Recuperando problemas reconhecidos por um usuário especificado

Recuperando problemas reconhecidos pelo usuário com ID=10

Request:

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

Response:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "1248566",
            "source": "0",
            "object": "0",
            "objectid": "15142",
            "clock": "1472457242",
            "ns": "209442442",
            "r_eventid": "1245468",
            "r_clock": "1472457285",
            "r_ns": "125644870",
            "correlationid": "0",
            "userid": "10",
            "name": "Zabbix agent on localhost is unreachable for 5 minutes",
            "acknowledged": "1",
            "severity": "3",
            "cause_eventid": "0",
            "suppressed": "0",
            "acknowledges": [
                {
                    "acknowledgeid": "9",
                    "userid": "10",
                    "action": "2"
                }
            ],
            "opdata": "",
            "urls": []
        }
    ],
    "id": 1
}

Veja também

Fonte

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