problem.get

説明

integer/array problem.get(object parameters)

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

このメソッドは、未解決の障害を取得するためのものです。指定した場合は、 最近解決された障害を追加で取得することもできます。この 「最近」がどの程度過去までを指すかを決定する期間は、 Administration → General で定義されます。 この期間より前に解決された障害は problem テーブルに保持されないため、 さらに過去に解決された障害を取得するには、 event.get メソッドを使用してください。

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

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

パラメータ

(object) 目的の出力を定義するパラメータ。

このメソッドは次のパラメータをサポートします。

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

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

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

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

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

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

指定可能なoperatorの値:
0 - (デフォルト) Contains;
1 - Equals;
2 - Does not contain;
3 - Does not equal;
4 - Exists;
5 - Does not exist.
recent boolean true に設定すると、ok_period 内に解決されたものと未解決のものを含む、最近の障害を返します。
false に設定すると、未解決の障害のみを返します。
eventid_from string 指定したID以上のIDを持つ障害のみを返します。
eventid_till string 指定したID以下のIDを持つ障害のみを返します。
time_from timestamp 指定した時刻以降に作成された障害のみを返します。
time_till timestamp 指定した時刻以前に作成された障害のみを返します。
selectAcknowledges query 障害の更新情報を含む acknowledges プロパティを返します。障害の更新情報は新しい順に並べ替えられます。

障害更新オブジェクトには次のプロパティがあります:
acknowledgeid - (ID) 更新のID;
userid - (ID) イベントを更新したユーザーのID;
eventid - (ID) 更新されたイベントのID;
clock - (timestamp) イベントが更新された時刻;
message - (string) メッセージのテキスト;
action - (integer)更新アクションの種類(event.acknowledge を参照);
old_severity - (integer) この更新アクション前のイベント深刻度;
new_severity - (integer) この更新アクション後のイベント深刻度;
suppress_until - (timestamp) イベントが抑制される期限;
taskid - (ID) 現在のイベントがランク変更中の場合のタスクのID。

count をサポートします。
selectTags query 障害タグを含む tags プロパティを返します。出力形式: [{"tag": "<tag>", "value": "<value>"}, ...]。
selectSuppressionData query 有効なメンテナンスと手動による抑制の一覧を含む suppression_data プロパティを返します:
maintenanceid - (ID) メンテナンスのID;
userid - (ID) 障害を抑制したユーザーのID;
suppress_until - (integer) 障害が抑制されるまでの時間。
filter object 指定したフィルターに完全一致する結果のみを返します。

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

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

指定可能な値: eventid.
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

戻り値

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

  • オブジェクトの配列
  • countOutputパラメータが使用されている場合、取得されたオブジェクトの数

例

トリガーの障害イベントの取得

トリガー「15112」の最近のイベントを取得します。

リクエスト:

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

レスポンス:

{
    "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": "localhost 上の Zabbix エージェントに 5 分間到達できません",
            "acknowledged": "1",
            "severity": "3",
            "cause_eventid": "0",
            "opdata": "",
            "acknowledges": [
                {
                    "acknowledgeid": "14443",
                    "userid": "1",
                    "eventid": "1245463",
                    "clock": "1472457281",
                    "message": "障害を解決しました",
                    "action": "6",
                    "old_severity": "0",
                    "new_severity": "0",
                    "suppress_until": "1472511600",
                    "taskid": "0"
                }
            ],
            "suppression_data": [
                {
                    "maintenanceid": "15",
                    "suppress_until": "1472511600",
                    "userid": "0"
                }
            ],
            "suppressed": "1",
            "tags": [
                {
                    "tag": "test-tag",
                    "value": "test-value"
                }
            ]
        }
    ],
    "id": 1
}

指定されたユーザーによる確認済み問題の取得

ID=10 のユーザーが確認済みの問題を取得しています

リクエスト:

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

関連項目

ソース

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