problem.get

説明

integer/array problem.get(object parameters)

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

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

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

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

パラメータ

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

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

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

サポートされているイベントタイプの一覧は、障害イベントオブジェクトのページを参照してください。

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

サポートされているオブジェクトタイプの一覧は、障害イベントオブジェクトのページを参照してください。

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

指定可能な値:
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 に依存します)。
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 データ型 のプロパティはサポートされません。
sortfield string/array 指定したプロパティで結果をソートします。

指定可能な値: eventid
countOutput boolean これらのパラメータはリファレンス解説で説明されています。
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": "problem solved",
                    "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.