event.get

説明

integer/array event.get(object parameters)

このメソッドでは、指定されたパラメータに従ってイベントを取得できます。

このメソッドは、これらのイベントがまだハウスキーパーによって削除されていない場合、削除済みエンティティのイベントを返すことがあります。

このメソッドは、すべてのタイプのユーザーが利用できます。 このメソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。 詳細については、ユーザーロールを参照してください。

パラメータ

(object) 必要な出力を定義するパラメータです。

このメソッドは以下のパラメータをサポートしています。

Parameter Type Description
eventids ID/array 指定したIDのイベントのみを返します。
groupids ID/array 指定したホストグループに属するオブジェクトによって作成されたイベントのみを返します。
hostids ID/array 指定したホストに属するオブジェクトによって作成されたイベントのみを返します。
objectids ID/array 指定したオブジェクトによって作成されたイベントのみを返します。
source integer 指定したタイプのイベントのみを返します。

サポートされているイベントタイプの一覧は、event object page を参照してください。

デフォルト: 0 - トリガーイベント。
object integer 指定したタイプのオブジェクトによって作成されたイベントのみを返します。

サポートされているオブジェクトタイプの一覧は、event object page を参照してください。

デフォルト: 0 - トリガー。
acknowledged boolean true に設定した場合、確認済みのイベントのみを返します。
action integer 指定した event update actions が実行されたイベントのみを返します。複数のアクションを指定する場合は、許容されるビットマップ値の合計をビットマスクとして使用します(例: acknowledge と suppress event の場合は 34)。
action_userids ID/array イベント更新アクションを実行したユーザーのIDが指定されたもののみを返します。
suppressed boolean true に設定した場合、抑制されたイベントのみを返します。
symptom boolean true に設定した場合、症状イベントのみを返します。
severities integer/array 指定したイベント深刻度のイベントのみを返します。object が trigger の場合にのみ適用されます。
trigger_severities integer/array 指定したトリガー深刻度のイベントのみを返します。object が trigger の場合にのみ適用されます。
evaltype integer タグの evaluation method

指定可能な値:
0 - (default) And/Or;
2 - Or。
tags array 指定したタグを持つイベントのみを返します。
形式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空の配列を指定すると、すべてのイベントを返します。

指定可能な operator の値:
0 - (default) Contains;
1 - Equals;
2 - Does not contain;
3 - Does not equal;
4 - Exists;
5 - Does not exist。
eventid_from string 指定したID以上のIDを持つイベントのみを返します。
eventid_till string 指定したID以下のIDを持つイベントのみを返します。
time_from timestamp 指定した時刻以降に作成されたイベントのみを返します。
time_till timestamp 指定した時刻以前に作成されたイベントのみを返します。
problem_time_from timestamp 現在のステータスに関係なく、problem_time_from 以降に障害状態であったイベントのみを返します。source がトリガーイベントで、object がトリガーの場合にのみ適用されます。problem_time_till を指定する場合、このパラメータは必須です。
problem_time_till timestamp 現在のステータスに関係なく、problem_time_till まで障害状態であったイベントのみを返します。source がトリガーイベントで、object がトリガーの場合にのみ適用されます。problem_time_from を指定する場合、このパラメータは必須です。
value integer/array 指定した値を持つイベントのみを返します。
selectAcknowledges query イベント更新を含む acknowledges プロパティを返します。イベント更新は新しい順にソートされます。

イベント更新オブジェクトは以下のプロパティを持ちます:
acknowledgeid - (ID) 確認のID。
userid - (ID) イベントを更新したユーザーのID。
clock - (timestamp) イベントが更新された時刻。
message - (string) メッセージのテキスト。
action - (integer) 実行された更新アクション。event.acknowledge を参照してください。
old_severity - (integer) この更新アクション前のイベント深刻度。
new_severity - (integer) この更新アクション後のイベント深刻度。
suppress_until - (timestamp) イベントが抑制される期限。
taskid - (ID) 現在のイベントがランク変更中の場合のタスクID。
username - (string) イベントを更新したユーザーのユーザー名。
name - (string) イベントを更新したユーザーの名前。
surname - (string) イベントを更新したユーザーの姓。

count をサポートします。
selectAlerts query イベントによって生成されたアラートを含む alerts プロパティを返します。アラートは新しい順にソートされます。
selectHosts query イベントを作成したオブジェクトを含むホストを持つ hosts プロパティを返します。トリガー、アイテム、または LLD ルールによって生成されたイベントでのみサポートされます。
selectRelatedObject query イベントを作成したオブジェクトを含む relatedObject プロパティを返します。返されるオブジェクトのタイプはイベントタイプによって異なります。
selectSuppressionData query アクティブなメンテナンスおよび手動抑制の一覧を含む suppression_data プロパティを返します:
maintenanceid - (ID) メンテナンスのID。
userid - (ID) イベントを抑制したユーザーのID。
suppress_until - (integer) イベントが抑制される期限。
selectTags query イベントタグを含む tags プロパティを返します。
filter object 指定したフィルターに完全に一致する結果のみを返します。

キーがプロパティ名、値が一致対象となる単一の値または値の配列であるオブジェクトを受け付けます。

text data type のプロパティはサポートされません。
sortfield string/array 指定したプロパティで結果をソートします。

指定可能な値: eventid, objectid, clock

groupBy と併用する場合の指定可能な値: objectid

countOutput および groupBy と併用する場合の指定可能な値: objectid, rowscount
groupBy string/array 指定したプロパティで結果をグループ化します。指定したプロパティは結果に返されます。

指定可能な値: objectid
countOutput boolean これらのパラメータは reference commentary で説明されています。
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 このパラメータは非推奨です。代わりに selectAcknowledges を使用してください。
イベント更新を含む acknowledges プロパティを返します。
イベント更新は新しい順にソートされます。

イベント更新オブジェクトは以下のプロパティを持ちます:
acknowledgeid - (ID) 確認のID。
userid - (ID) イベントを更新したユーザーのID。
clock - (timestamp) イベントが更新された時刻。
message - (string) メッセージのテキスト。
action - (integer) 実行された更新アクション。event.acknowledge を参照してください。
old_severity - (integer) この更新アクション前のイベント深刻度。
new_severity - (integer) この更新アクション後のイベント深刻度。
suppress_until - (timestamp) イベントが抑制される期限。
taskid - (ID) 現在のイベントがランク変更中の場合のタスクID。
username - (string) イベントを更新したユーザーのユーザー名。
name - (string) イベントを更新したユーザーの名前。
surname - (string) イベントを更新したユーザーの姓。

count をサポートします。
select_alerts
(deprecated)
query このパラメータは非推奨です。代わりに selectAlerts を使用してください。
イベントによって生成されたアラートを含む alerts プロパティを返します。
アラートは新しい順にソートされます。

戻り値

(integer/array) 次のいずれかを返します:

  • オブジェクトの配列
  • countOutputパラメーターが使用されているが、groupByパラメータが使用されていない場合、取得したオブジェクトの数
  • groupByパラメーターが使用されている場合、集計結果を含むオブジェクトの配列

トリガーイベントの取得

トリガー"22395"から最新のイベントを取得します。

リクエスト:

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

レスポンス:

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

期間を指定したイベントの取得

2012年10月17日から18日の間に作成されたすべてのイベントを、新しい順に取得します。

リクエスト:

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

レスポンス:

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

指定したユーザーによって確認済みとされたイベントの取得

ID=10 のユーザーによって確認済みとされたイベントを取得します

リクエスト:

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

レスポンス:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "503",
            "source": "0",
            "object": "0",
            "objectid": "23162",
            "clock": "1747212236",
            "value": "1",
            "acknowledged": "1",
            "ns": "413470863",
            "name": "インストール済みパッケージ数が変更されました",
            "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
}

問題イベント数が多い上位トリガーの取得

指定した期間内の問題イベント数とともに、深刻度が「Warning」、「Average」、「High」、または「Disaster」の上位5件のトリガーを取得します。

リクエスト:

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

レスポンス:

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

参照

ソース

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