service.get

説明

integer/array service.get(object parameters)

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

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

パラメータ

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

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

Parameter Type Description
serviceids ID/array 指定したIDを持つサービスのみを返します。
parentids ID/array 指定した親サービスにリンクされているサービスのみを返します。
deep_parentids flag 直接および間接のすべての子サービスを返します。parentids と一緒に使用します。
childids ID/array 指定した子サービスにリンクされているサービスのみを返します。
evaltype integer タグの評価方法

指定可能な値:
0 - (デフォルト) And/Or;
2 - Or.
tags object/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.
problem_tags object/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.
without_problem_tags flag 障害タグを持たないサービスのみを返します。
slaids ID/array 指定したSLAにリンクされているサービスのみを返します。
selectChildren query 子サービスを含む children プロパティを返します。

count をサポートします。
selectParents query 親サービスを含む parents プロパティを返します。

count をサポートします。
selectTags query サービスタグを含む tags プロパティを返します。

count をサポートします。
selectProblemEvents query 障害イベントオブジェクトの配列を含む problem_events プロパティを返します。

障害イベントオブジェクトは以下のプロパティを持ちます:
eventid - (ID) イベントID;
severity - (string) 現在のイベント重大度;
name - (string) 解決済みイベント名。

count をサポートします。
selectProblemTags query 障害タグを含む problem_tags プロパティを返します。

count をサポートします。
selectStatusRules query ステータスルールを含む status_rules プロパティを返します。

count をサポートします。
selectStatusTimeline object/array 指定した期間のサービス状態の変化を含む status_timeline プロパティを返します。

形式 [{"period_from": "<period_from>", "period_to": "<period_to>"}, ...] - period_from は対象期間の開始日時(含む; integer timestamp)、period_to は対象期間の終了日時(含まない; integer timestamp)です。

指定した期間内の状態変化について、start_value プロパティと alarms 配列を含むエントリの配列を返します。
sortfield string/array 指定したプロパティで結果をソートします。

指定可能な値: serviceid, name, status, sortorder, created_at
countOutput boolean これらのパラメータはリファレンス解説で説明されています。
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

戻り値

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

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

すべてのサービスの取得

すべてのサービスとその依存関係に関するすべてのデータを取得します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "service.get",
    "params": {
        "output": "extend",
        "selectChildren": "extend",
        "selectParents": ["serviceid", "name"]
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "serviceid": "1",
            "name": "Zabbix cluster",
            "status": "-1",
            "algorithm": "2",
            "sortorder": "0",
            "weight": "0",
            "propagation_rule": "0",
            "propagation_value": "0",
            "description": "",
            "uuid": "8d77bd91b62347e4b79382912eb5df95",
            "created_at": "1761742392",
            "readonly": false,
            "parents": [],
            "children": [
                {
                    "serviceid": "2",
                    "name": "Zabbix server node 1",
                    "status": "-1",
                    "algorithm": "2",
                    "sortorder": "0",
                    "weight": "0",
                    "propagation_rule": "0",
                    "propagation_value": "0",
                    "description": "",
                    "uuid": "195911d26d7f4e218d6217079bcd5929",
                    "created_at": "1761742623",
                    "readonly": false
                },
                {
                    "serviceid": "3",
                    "name": "Zabbix server node 2",
                    "status": "-1",
                    "algorithm": "2",
                    "sortorder": "0",
                    "weight": "0",
                    "propagation_rule": "0",
                    "propagation_value": "0",
                    "description": "",
                    "uuid": "9fc659a30fe244f690dff25fc2a9db5c",
                    "created_at": "1761742654",
                    "readonly": false
                }
            ]
        },
        {
            "serviceid": "2",
            "name": "Zabbix server node 1",
            "status": "-1",
            "algorithm": "2",
            "sortorder": "0",
            "weight": "0",
            "propagation_rule": "0",
            "propagation_value": "0",
            "description": "",
            "uuid": "195911d26d7f4e218d6217079bcd5929",
            "created_at": "1761742623",
            "readonly": false,
            "parents": [
                {
                    "serviceid": "1",
                    "name": "Zabbix cluster"
                }
            ],
            "children": []
        },
        {
            "serviceid": "3",
            "name": "Zabbix server node 2",
            "status": "-1",
            "algorithm": "2",
            "sortorder": "0",
            "weight": "0",
            "propagation_rule": "0",
            "propagation_value": "0",
            "description": "",
            "uuid": "9fc659a30fe244f690dff25fc2a9db5c",
            "created_at": "1761742654",
            "readonly": false,
            "parents": [
                {
                    "serviceid": "1",
                    "name": "Zabbix cluster"
                }
            ],
            "children": []
        }
    ],
    "id": 1
}

ソース

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