service.get

説明

integer/array service.get(object parameters)

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

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

パラメーター

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

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

パラメーター タイプ 説明
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 - (デフォルト) 含む;
1 - 等しい;
2 - 含まない;
3 - 等しくない;
4 - 存在する;
5 - 存在しない。
problem_tags object/array 指定した問題タグを持つサービスのみを返します。
フォーマット: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空の配列はすべてのサービスを返します。

可能なoperator値:
0 - (デフォルト) 含む;
1 - 等しい;
2 - 含まない;
3 - 等しくない;
4 - 存在する;
5 - 存在しない。
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は開始日(含む; 整数タイムスタンプ)、period_toは終了日(含まない; 整数タイムスタンプ)です。

指定した期間内の状態変化について、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.