problem.get

説明

integer/array problem.get(object parameters)

このメソッドは、指定されたパラメータに従って問題を取得するためのものです。

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

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

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

パラメータ

(object) 望ましい出力を定義するパラメータ。

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

パラメータ 説明
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がトリガーの場合のみ適用されます。
evaltype integer タグ評価方法

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

可能なoperator値:
0 - (デフォルト) 含む;
1 - 等しい;
2 - 含まない;
3 - 等しくない;
4 - 存在する;
5 - 存在しない。
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": "Zabbix agent on localhost is unreachable for 5 minutes",
            "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.