event.get

Opis

integer/array event.get(object parameters)

Metoda umożliwia pobieranie zdarzeń zgodnie z podanymi parametrami.

Ta metoda może zwrócić zdarzenia usuniętej encji, jeśli nie zostały one jeszcze usunięte przez housekeepera.

Ta metoda jest dostępna dla użytkowników dowolnego typu. Uprawnienia do wywołania metody można odebrać w ustawieniach roli użytkownika. Więcej informacji można znaleźć w sekcji Role użytkowników.

Parametry

(object) Parametry definiujące oczekiwany wynik.

Metoda obsługuje następujące parametry.

Parameter Type Description
eventids ID/array Zwraca tylko zdarzenia o podanych ID.
groupids ID/array Zwraca tylko zdarzenia utworzone przez obiekty należące do podanych grup hostów.
hostids ID/array Zwraca tylko zdarzenia utworzone przez obiekty należące do podanych hostów.
objectids ID/array Zwraca tylko zdarzenia utworzone przez podane obiekty.
source integer Zwraca tylko zdarzenia o podanym typie.

Listę obsługiwanych typów zdarzeń znajdziesz na stronie obiektu zdarzenia.

Domyślnie: 0 - zdarzenia wyzwalacza.
object integer Zwraca tylko zdarzenia utworzone przez obiekty o podanym typie.

Listę obsługiwanych typów obiektów znajdziesz na stronie obiektu zdarzenia.

Domyślnie: 0 - wyzwalacz.
acknowledged boolean Jeśli ustawione na true, zwraca tylko potwierdzone zdarzenia.
action integer Zwraca tylko zdarzenia, dla których wykonano podane akcje aktualizacji zdarzeń. W przypadku wielu akcji użyj sumy dowolnych akceptowalnych wartości bitmapy jako maski bitowej (na przykład 34 dla potwierdzenia i wyciszenia zdarzenia).
action_userids ID/array Zwraca tylko zdarzenia o podanych ID użytkowników, którzy wykonali akcje aktualizacji zdarzeń.
suppressed boolean Jeśli ustawione na true, zwraca tylko wyciszone zdarzenia.
symptom boolean Jeśli ustawione na true, zwraca tylko zdarzenia objawowe.
severities integer/array Zwraca tylko zdarzenia o podanych poziomach ważności zdarzeń. Dotyczy tylko wtedy, gdy obiektem jest wyzwalacz.
trigger_severities integer/array Zwraca tylko zdarzenia o podanych poziomach ważności wyzwalacza. Dotyczy tylko wtedy, gdy obiektem jest wyzwalacz.
evaltype integer Metoda oceny tagów.

Możliwe wartości:
0 - (domyślnie) And/Or;
2 - Or.
tags array Zwraca tylko zdarzenia o podanych tagach.
Format: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Pusta tablica zwraca wszystkie zdarzenia.

Możliwe wartości operatora:
0 - (domyślnie) Zawiera;
1 - Równa się;
2 - Nie zawiera;
3 - Nie równa się;
4 - Istnieje;
5 - Nie istnieje.
eventid_from string Zwraca tylko zdarzenia o ID większym lub równym podanemu ID.
eventid_till string Zwraca tylko zdarzenia o ID mniejszym lub równym podanemu ID.
time_from timestamp Zwraca tylko zdarzenia utworzone w podanym czasie lub później.
time_till timestamp Zwraca tylko zdarzenia utworzone w podanym czasie lub wcześniej.
problem_time_from timestamp Zwraca tylko zdarzenia, które znajdowały się w stanie problemu od problem_time_from, niezależnie od ich bieżącego statusu. Dotyczy tylko wtedy, gdy źródłem jest zdarzenie wyzwalacza, a obiektem jest wyzwalacz. Ten parametr jest wymagany, jeśli określono problem_time_till.
problem_time_till timestamp Zwraca tylko zdarzenia, które znajdowały się w stanie problemu do problem_time_till, niezależnie od ich bieżącego statusu. Dotyczy tylko wtedy, gdy źródłem jest zdarzenie wyzwalacza, a obiektem jest wyzwalacz. Ten parametr jest wymagany, jeśli określono problem_time_from.
value integer/array Zwraca tylko zdarzenia o podanych wartościach.
selectAcknowledges query Zwraca właściwość acknowledges z aktualizacjami zdarzeń. Aktualizacje zdarzeń są sortowane w kolejności odwrotnej chronologicznie.

Obiekt aktualizacji zdarzenia ma następujące właściwości:
acknowledgeid - (ID) ID potwierdzenia;
userid - (ID) ID użytkownika, który zaktualizował zdarzenie;
clock - (timestamp) czas aktualizacji zdarzenia;
message - (string) treść wiadomości;
action - (integer) wykonana akcja aktualizacji, zobacz event.acknowledge;
old_severity - (integer) ważność zdarzenia przed tą akcją aktualizacji;
new_severity - (integer) ważność zdarzenia po tej akcji aktualizacji;
suppress_until - (timestamp) czas, do którego zdarzenie będzie wyciszone;
taskid - (ID) ID zadania, jeśli bieżące zdarzenie przechodzi zmianę rangi;
maintenanceid - (ID) ID utrzymania;
username - (string) nazwa użytkownika, który zaktualizował zdarzenie;
name - (string) imię użytkownika, który zaktualizował zdarzenie;
surname - (string) nazwisko użytkownika, który zaktualizował zdarzenie.

Obsługuje count.
selectAlerts query Zwraca właściwość alerts z alertami wygenerowanymi przez zdarzenie. Alerty są sortowane w kolejności odwrotnej chronologicznie.
selectHosts query Zwraca właściwość hosts z hostami zawierającymi obiekt, który utworzył zdarzenie. Obsługiwane tylko dla zdarzeń generowanych przez wyzwalacze, pozycje lub reguły LLD.
selectRelatedObject query Zwraca właściwość relatedObject z obiektem, który utworzył zdarzenie. Typ zwracanego obiektu zależy od typu zdarzenia.
selectSuppressionData query Zwraca właściwość suppression_data z listą aktywnych utrzymań i ręcznych wyciszeń:
maintenanceid - (ID) ID utrzymania;
userid - (ID) ID użytkownika, który wyciszył zdarzenie;
suppress_until - (integer) czas, do którego zdarzenie jest wyciszone.
selectTags query Zwraca właściwość tags z tagami zdarzenia.
filter object Zwraca tylko te wyniki, które dokładnie pasują do podanego filtra.

Przyjmuje obiekt, w którym klucze są nazwami właściwości, a wartościami jest pojedyncza wartość lub tablica wartości, z którymi ma nastąpić dopasowanie.

Nie obsługuje właściwości typu text data type.
sortfield string/array Sortuje wynik według podanych właściwości.

Możliwe wartości: eventid, objectid, clock.

Możliwe wartości przy użyciu razem z groupBy: objectid.

Możliwe wartości przy użyciu razem z countOutput i groupBy: objectid, rowscount.
groupBy string/array Grupuje wyniki według podanych właściwości. Określone właściwości zostaną zwrócone w wynikach.

Możliwe wartości: objectid.
countOutput boolean Te parametry są opisane w komentarzu referencyjnym.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Zwracane wartości

(integer/array) Zwraca:

  • tablicę obiektów
  • liczbę pobranych obiektów, jeśli użyto parametru countOutput, ale nie użyto parametru groupBy
  • tablicę obiektów z wynikami agregacji, jeśli użyto parametru groupBy

Przykłady

Pobieranie zdarzeń wyzwalacza

Pobierz najnowsze zdarzenia z wyzwalacza "22395".

Żądanie:

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

Odpowiedź:

{
    "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",
            "suppressed": "0",
            "cause_eventid": "0",
            "acknowledges": [],
            "opdata": "Load averages(1m 5m 15m): (1.6328 3.0522 2.2515), # of CPUs: 2",
            "suppression_data": [],
            "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",
            "suppressed": "1",
            "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",
                    "maintenanceid": "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"
                }
            ],
            "tags": [
                {
                    "tag": "scope",
                    "value": "capacity"
                },
                {
                    "tag": "scope",
                    "value": "performance"
                },
                {
                    "tag": "component",
                    "value": "cpu"
                },
                {
                    "tag": "class",
                    "value": "os"
                },
                {
                    "tag": "target",
                    "value": "linux"
                }
            ],
            "urls": []
        }
    ],
    "id": 1
}

Pobieranie zdarzeń według przedziału czasu

Pobierz wszystkie zdarzenia utworzone między 17 a 18 października 2012 roku, w odwrotnej kolejności chronologicznej.

Żądanie:

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

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "20617",
            "source": "0",
            "object": "0",
            "objectid": "14282",
            "clock": "1350477816",
            "value": "1",
            "acknowledged": "0",
            "ns": "0",
            "name": "Mniej niż 25% wolnego miejsca w pamięci podręcznej historii",
            "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": "Procesy Zabbix trapper są zajęte w ponad 75%",
            "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": "Procesy Zabbix trapper są zajęte w ponad 75%",
            "severity": "3",
            "r_eventid": "20616",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "opdata": "",
            "suppressed": "0",
            "urls": []
        }
    ],
    "id": 1
}

Pobieranie zdarzeń potwierdzonych przez określonego użytkownika

Pobieranie zdarzeń potwierdzonych przez użytkownika o ID=10

Żądanie:

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

Odpowiedź:

{
    "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",
            "suppressed": "0",
            "cause_eventid": "0",
            "acknowledges": [
                {
                    "userid": "10",
                    "action": "2"
                }
            ],
            "opdata": "",
            "urls": []
        }
    ],
    "id": 1
}

Pobieranie najważniejszych wyzwalaczy według liczby zdarzeń problemowych

Pobierz 5 najważniejszych wyzwalaczy o poziomach ważności „Warning”, „Average”, „High” lub „Disaster” wraz z liczbą zdarzeń problemowych w określonym przedziale czasu.

Żądanie:

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

Odpowiedź:

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

Zobacz także

Źródło

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