[comment]: # translation:outdated

[comment]: # ({d1387fc4-d1387fc4})
# sla.getsli

[comment]: # ({/d1387fc4-d1387fc4})

[comment]: # ({59cbeb46-59cbeb46})
### 説明

`object sla.getsli(object parameters)`

このメソッドで、サービスレベルインジケーター（SLI）データを計算できます。

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

[comment]: # ({/59cbeb46-59cbeb46})

[comment]: # ({2578ebd6-2578ebd6})
### パラメータ

`(object)` SLIを計算するための、SLA ID,レポート期間,オプションでサービスのIDを含むパラメーター

|パラメータ|[タイプ](/manual/api/reference_commentary#data_types)|説明|
|--------------------|---------------------|-------------------------------------------------------------------------------------|
|**slaid**<br>(必須)|string|可用性情報を返すサービスのID|
|period\_from|integer|SLI報告開始日（指定日含む）<br> <br>使用可能な値：タイムスタンプ|
|period\_to|integer|SLI報告終了日（指定日含まない）<br><br>使用可能な値：タイムスタンプ|
|periods|array|報告すべき望ましい期間数<br><br>使用可能な値：1-100|
|serviceids|string/array|SLIを返すサービスのID|

[comment]: # ({/2578ebd6-2578ebd6})

[comment]: # ({c2dd0229-c2dd0229})
#### 期間の分割

以下は、パラメーターの組み合わせに基づいて返される _period slices_ の配置を示しています。

|パラメータ|||説明|
|------------------|----------------|-------------|-----------------------------------------------------|
| **period\_from** | **period\_to** | **periods** ||
|-|-|-|過去 20 期間 (現在の期間を含む) で、SLA の発効日に基づいて利用可能な最初の期間を過ぎていないもの。|
|-|-|指定|**periods** パラメータで指定された最後の期間。|
|-|指定|-|**指定された日付**より前の最後の 20 期間で、SLA の発効日に基づく最初の利用可能な期間を過ぎていないもの。|
|-|指定|指定|**指定された日付**より前の **periods** パラメーターで指定された最後の期間。|
|指定|-|-|最初の 20 期間 (現在の期間を含む) であるが、現在の期間よりも前。|
|指定|-|指定|**指定された日付**から始まる **periods** パラメーターで指定された最初の期間。|
|指定|指定|-|指定された日付範囲内の期間のうち、100 を超えず、SLA の発効日に基づいて最初に利用可能な期間を過ぎていない期間。|
|指定|指定|指定|指定された日付範囲内の期間かつ、指定された期間数を超えず、SLA の発効日に基づいた最初の利用可能期間を過ぎていない|

[comment]: # ({/c2dd0229-c2dd0229})

[comment]: # ({b47d03dc-b47d03dc})
### 戻り値

`(object)` 計算結果を返します。

|プロパティ|[タイプ](/manual/api/reference_commentary#data_types)|説明|
|------------|----------------------|---------------------------------------------------------------------------------------------------------------------------|
|periods|array|報告された期間のリスト<br><br>報告された各期間は、次で構成されるオブジェクトとして表されます。<br>- _period\_from_ - 報告された期間の開始日(タイムスタンプ)<br>- _period\_to_ - 終了報告された期間の日付(タイムスタンプ)<br><br>期間は`period_from`フィールドの昇順で並べ替えられます。|
|serviceids|array|レポートされた期間のサービスIDのリスト。<br><br>`serviceids`パラメータが`sla.getsli`メソッドに渡された場合でも、リストの並べ替え順序は定義されていません。|
|sli|array|(** 2次元配列**で)報告された各期間とサービスのSLIデータ。<br><br>`periods`プロパティのインデックスは、`sli`プロパティの**１次元目**として使用されます。<br><br>`serviceids`プロパティのインデックスは、`sli`プロパティの**二次元目**として使用されます。|

[comment]: # ({/b47d03dc-b47d03dc})

[comment]: # ({782f6e34-782f6e34})
#### SLI data

SLI data 報告された期間ごとに返され、サービスは次のもので構成されます。

|プロパティ|[タイプ](/manual/api/reference_commentary#data_types)|説明|
|----------------|-------------------------|--------------------------------------------------------------------------------------------------------------------|
|uptime|integer|スケジュールされた稼働時間中にサービスが_OK_状態だった時間から、除外されたダウンタイムを差し引いたもの。|
|downtime|integer|スケジュールされた稼働時間中にサービスが_not OK_状態だった時間から、除外されたダウンタイムを差し引いたもの。|
|sli|float|稼働時間とダウンタイムに基づくSLI（総稼働時間のパーセンテージ）|
|error\_budget|integer|SLIおよびSLOに基づくエラーバジェット（秒単位）|
|excluded\_downtimes|array|このレポート期間で除外されたダウンタイムの配列。<br><br>各オブジェクトには、次のパラメータが含まれます。<br>- _name_ - 除外されたダウンタイムの名前<br>- _period\_from_ - 開始日時（指定日含む）<br>- _period\_to_ - 除外されたダウンタイムの終了日時（指定日含まず）<br><br>除外されたダウンタイムは、period_fromフィールドの昇順で並べ替えられます。|

[comment]: # ({/782f6e34-782f6e34})

[comment]: # ({b41637d2-b41637d2})
### 例

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({dcd53a44-e6513a45})
#### SLIの計算

ID"5"のSLAにリンクされているID"50"、"60"、"70"のサービスのSLIデータを取得します。
2021年11月1日から3期間のデータを取得します。

リクエスト :

```json
{
    "jsonrpc": "2.0",
    "method": "sla.getsli",
    "params": {
        "slaid": "5",
        "serviceids": [
            50,
            60,
            70
        ],
        "periods": 3,
        "period_from": "1635724800"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

レスポンス :

```json
{
    "jsonrpc": "2.0",
    "result": {
        "periods": [
            {
                "period_from": 1635724800,
                "period_to": 1638316800
            },
            {
                "period_from": 1638316800,
                "period_to": 1640995200
            },
            {
                "period_from": 1640995200,
                "period_to": 1643673600
            }
        ],
        "serviceids": [
            50,
            60,
            70
        ],
        "sli": [
            [
                {
                    "uptime": 1186212,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": [
                        {
                            "name": "Excluded Downtime - 1",
                            "period_from": 1637836212,
                            "period_to": 1638316800
                        }
                    ]
                },
                {
                    "uptime": 1186212,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": [
                        {
                            "name": "Excluded Downtime - 1",
                            "period_from": 1637836212,
                            "period_to": 1638316800
                        }
                    ]
                },
                {
                    "uptime": 1186212,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": [
                        {
                            "name": "Excluded Downtime - 1",
                            "period_from": 1637836212,
                            "period_to": 1638316800
                        }
                    ]
                }
            ],
            [
                {
                    "uptime": 1147548,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": [
                        {
                            "name": "Excluded Downtime - 1",
                            "period_from": 1638439200,
                            "period_to": 1639109652
                        }
                    ]
                },
                {
                    "uptime": 1147548,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": [
                        {
                            "name": "Excluded Downtime - 1",
                            "period_from": 1638439200,
                            "period_to": 1639109652
                        }
                    ]
                },
                {
                    "uptime": 1147548,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": [
                        {
                            "name": "Excluded Downtime - 1",
                            "period_from": 1638439200,
                            "period_to": 1639109652
                        }
                    ]
                }
            ],
            [
                {
                    "uptime": 1674000,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": []
                },
                {
                    "uptime": 1674000,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": []
                },
                {
                    "uptime": 1674000,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": []
                }
            ]
        ]
    },
    "id": 1
}
```

[comment]: # ({/dcd53a44-e6513a45})

[comment]: # ({13a91d62-a5414084})
### ソース

CSla::getSli() in *ui/include/classes/api/services/CSla.php*

[comment]: # ({/13a91d62-a5414084})
