problem.get
説明
integer/array problem.get(object parameters)
このメソッドでは、指定された パラメータに従って障害を取得できます。
このメソッドは、未解決の障害を取得するためのものです。指定した場合は、
最近解決された障害を追加で取得することもできます。この
「最近」がどの程度過去までを指すかを決定する期間は、
Administration →
General
で定義されます。
この期間より前に解決された障害は problem テーブルに保持されないため、
さらに過去に解決された障害を取得するには、
event.get メソッドを使用してください。
このメソッドは、これらの障害がまだハウスキーパーによって 削除されていない場合、削除済みエンティティの障害を返すことがあります。
このメソッドは、あらゆるタイプのユーザーが利用できます。メソッドを 呼び出す権限は、ユーザーロール設定で取り消すことができます。詳細は User roles を参照してください。
パラメータ
(object) 目的の出力を定義するパラメータ。
このメソッドは以下のパラメータをサポートしています。
| パラメータ | 型 | 説明 |
|---|---|---|
| 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 が実行された障害のみを返します。複数のアクションを指定する場合は、許容されるビットマップ値の合計をビットマスクとして使用します(例: acknowledge と suppress event の場合は 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 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.