problem.get

説明

integer/array problem.get(object parameters)

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

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

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

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

パラメータ

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

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

Parameter Type Description
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 - (デフォルト) 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 これらのパラメータはリファレンス解説で説明されています。
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.