Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

trigger.get

説明

integer/array trigger.get(object parameters)

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

このメソッドはどのタイプのユーザーでも利用可能です。このメソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。詳しくはユーザーの役割を参照してください。

パラメータ

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

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

パラメータ タイプ 説明
triggerids string/array 指定された ID を持つトリガーのみを返します。
groupids string/array 指定されたホスト グループのホストに属するトリガーのみを返します。
templateids string/array 指定されたテンプレートに属するトリガーのみを返します。
hostids string/array 指定されたホストに属するトリガーのみを返します。
itemids string/array 指定されたアイテムを含むトリガーのみを返します。
functions string/array 指定された関数を使用するトリガーのみを返します。

サポートされている関数のリストは、サポートされている関数 ページを参照してください。
group string 指定された名前のホスト グループのホストに属するトリガーのみを返します。
host string 指定された名前のホストに属するトリガーのみを返します。
inherited boolean trueに設定すると、テンプレートから継承されたトリガーのみが返されます。
templated boolean trueに設定すると、テンプレートに属するトリガーのみが返されます。
dependent boolean trueに設定すると依存関係のあるトリガーのみが返されます。falseに設定すると依存関係のないトリガーのみが返されます。
monitored flag 監視対象ホストに属し、有効なアイテムのみを含む有効なトリガーのみを返します。
active flag 監視対象ホストに属する有効なトリガーのみを返します。
maintenance boolean trueに設定すると、メンテナンス中のホストに属する有効なトリガーのみが返されます。
withUnacknowledgedEvents flag 未確認のイベントがあるトリガーのみを返します。
withAcknowledgedEvents flag すべてのイベントが確認されたトリガーのみを返します。
withLastEventUnacknowledged flag Return only triggers with the last event unacknowledged.
skipDependent flag 他のトリガーに依存する障害状態のトリガーをスキップします。 無効になっている場合、アイテムが無効になっている場合、またはアイテムホストが無効になっている場合、他のトリガーは無視されます。
lastChangeSince timestamp 指定された時間後に状態が変化したトリガーのみを返します。
lastChangeTill timestamp 指定された時間より前に状態が変化したトリガーのみを返します。
only_true flag 最近、障害状態になったトリガーのみを返します。
min_severity integer 指定された深刻度以上の深刻度を持つトリガーのみを返します。
evaltype integer タグ検索のルール

使用可能な値:
0 - (デフォルト) And/Or
2 - Or
tags array of objects 指定されたタグを持つトリガーのみを返します。 タグによる完全一致と、演算子の値に応じたタグ値による大文字と小文字の区別または区別なしの検索。
フォーマット: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空の配列はすべてのトリガーを返します。

可能な演算子の種類:
0 - (デフォルト) Like;
1 - 等しい
2 - Not Like
3 - 等しくない
4 - 存在する
5 - 存在しない
expandComment flag トリガーの説明でマクロを展開します。
expandDescription flag トリガーの名前でマクロを展開します。
expandExpression flag トリガー式で関数とマクロを展開します。
selectGroups query groups プロパティでトリガーが属するホスト グループを返します
selectHosts query hosts プロパティでトリガーが属するホストを返します
selectItems query items プロパティのトリガーに含まれるアイテムを返します
selectFunctions query functions プロパティのトリガーで使用される関数を返します。

関数オブジェクトは、トリガー式で使用される関数を表し、次のプロパティがあります。
functionid - (文字列) 関数の ID。
itemid - (文字列) 関数で使用されるアイテムの ID。
function - (文字列) 関数の名前;
parameter - (string) 関数に渡されるパラメータ。 クエリ パラメータは、返された文字列で $ 記号に置き換えられます。
selectDependencies query dependencies プロパティでトリガーが依存するトリガーを返します。
selectDiscoveryRule query トリガーを作成した ローレベルディスカバリルール を返します。
selectLastEvent query lastEvent プロパティで最後の重要なトリガー イベントを返します。
selectTags query tags プロパティでトリガー タグを返します。
selectTriggerDiscovery query triggerDiscovery プロパティでトリガーディスカバリオブジェクトを返します。トリガーディスカバリオブジェクトは、トリガーを作成元のトリガープロトタイプにリンクします。

次のプロパティがあります。
parent_triggerid - (string) トリガーが作成されたトリガー プロトタイプの ID
filter object 指定されたフィルタに正確に一致する結果のみを返します。

配列を受け入れます。キーはプロパティ名で、値は単一の値または照合する値の配列です。
<br >追加のフィルターをサポート:
host - トリガーが属するホストの技術名;
hostid - トリガーが属するホストの ID
limitSelects integer subselects によって返されるレコードの数を制限します。

次の subselects に適用:
selectHosts - 結果は host でソートされます。
sortfield string/array 指定されたプロパティで結果を並べ替えます

使用可能な値は次のとおりです:triggerid,description,status,priority,lastchange,hostname
countOutput boolean すべてのgetメソッドに共通するこれらのパラメーターについてはリファレンス解説ページで詳しく説明されています。
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

戻り値

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

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

トリガー ID によるデータの取得

トリガー"14062"で使用されるすべてのデータと関数を取得します。

Request:

{
           "jsonrpc": "2.0",
           "method": "trigger.get",
           "params": {
               "triggerids": "14062",
               "output": "extend",
               "selectFunctions": "extend"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "triggerid": "14062",
                   "expression": "{13513}<10m",
                   "description": "{HOST.NAME} has been restarted (uptime < 10m)",
                   "url": "",
                   "status": "0",
                   "value": "0",
                   "priority": "2",
                   "lastchange": "0",
                   "comments": "The host uptime is less than 10 minutes",
                   "error": "",
                   "templateid": "10016",
                   "type": "0",
                   "state": "0",
                   "flags": "0",
                   "recovery_mode": "0",
                   "recovery_expression": "",
                   "correlation_mode": "0",
                   "correlation_tag": "",
                   "manual_close": "0",
                   "opdata": "",
                   "functions": [
                       {
                           "functionid": "13513",
                           "itemid": "24350",
                           "triggerid": "14062",
                           "parameter": "$",
                           "function": "last"
                       }
                   ]
               }
           ],
           "id": 1
       }

障害状態のトリガーの取得

障害状態にあるすべてのトリガーの ID、名前、深刻度を取得し、深刻度の降順で並べ替えます。 Request:

{
           "jsonrpc": "2.0",
           "method": "trigger.get",
           "params": {
               "output": [
                   "triggerid",
                   "description",
                   "priority"
               ],
               "filter": {
                   "value": 1
               },
               "sortfield": "priority",
               "sortorder": "DESC"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "triggerid": "13907",
                   "description": "Zabbix self-monitoring processes < 100% busy",
                   "priority": "4"
               },
               {
                   "triggerid": "13824",
                   "description": "Zabbix discoverer processes more than 75% busy",
                   "priority": "3"
               }
           ],
           "id": 1
       }

タグを使用して特定のトリガーを取得する

タグ付きの特定のトリガーを取得します。

Request:

{
           "jsonrpc": "2.0",
           "method": "trigger.get",
           "params": {
               "output": [
                   "triggerid",
                   "description"
               ],
               "selectTags": "extend",
               "triggerids": [
                   "17578"
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "triggerid": "17370",
                   "description": "Service status",
                   "tags": [
                       {
                           "tag": "service",
                           "value": "{{ITEM.VALUE}.regsub(\"Service (.*) has stopped\", \"\\1\")}"
                       },
                       {
                           "tag": "error",
                           "value": ""
                       }
                   ]
               }
           ],
           "id": 1
       }

参照

ソース

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