object sla.getsli(object parameters)
このメソッドを使用すると、サービスレベルアグリーメント (SLA) のサービスレベル指標 (SLI) データを計算できます。
このメソッドは、あらゆるタイプのユーザーが利用できます。このメソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。詳しくは、ユーザーロール をご覧ください。
(object)
SLA ID、レポート期間、およびオプションでSLIを計算するサービスのIDを含むパラメータ
パラメータ | タイプ | 説明 |
---|---|---|
slaid | ID | 可用性情報を返すSLAのID パラメータの動作: - 必須 |
period_from | timestamp | SLIレポートの対象開始日(開始日を含む) 指定可能な値: timestamp。 |
period_to | timestamp | SLIレポートの対象終了日(終了日を含まない) 指定可能な値: timestamp。 |
periods | 配列 | レポートする期間の推奨期間 可能な値: 1~100 |
serviceids | ID/配列 | SLIを返すサービスのID |
以下の表は、パラメータの組み合わせに基づいて返される期間スライスの配置を示しています。
返される期間は、SLA の発効日に基づいて最初に利用可能な期間より前ではなく、現在の期間を超えません。
パラメータ | 説明 | ||
---|---|---|---|
period_from | period_to | periods | |
- | - | - | 最後の 20 期間を返します。 |
- | - | specified | periods パラメータで指定された最後の期間を返します。 |
- | specified | - | 指定された period_to 日付より前の最後の 20 期間を返します。 |
- | specified | specified | 指定された period_to 日付より前の、periods パラメータで指定された最後の期間を返します。 |
指定 | - | - | 指定された period_from 日付から始まる最初の 20 期間を返します。 |
指定 | - | 指定 | 指定された period_from 日付から始まる、periods パラメータで指定された最初の期間を返します。 |
指定 | 指定 | - | 指定された日付範囲内で最大 100 期間を返します。 |
指定 | 指定 | 指定 | 指定された日付範囲内で、periods パラメータで指定された期間を返します。 |
(object)
計算結果を返します。
プロパティ | タイプ | 説明 |
---|---|---|
periods | 配列 | レポート対象期間のリスト 各レポート期間は、以下の要素で構成されるオブジェクトとして表されます。 - period_from - レポート対象期間の開始日(タイムスタンプ)- period_to - レポート対象期間の終了日(タイムスタンプ)期間は period_from フィールドで昇順にソートされます。 |
serviceids | 配列 | レポート対象期間のサービスIDのリスト リストのソート順序は定義されていません。 serviceids パラメータが sla.getsli メソッドに渡された場合でも、ソート順序は定義されていません。 |
sli | 配列 | 報告された期間とサービスごとの SLI データ (2 次元配列)。periods プロパティのインデックスは、sli プロパティの 最初の 次元として使用されます。serviceids プロパティのインデックスは、sli プロパティの 2 番目の 次元として使用されます。 |
報告された期間とサービスごとに返される SLI データは、以下の要素で構成されます。
プロパティ | タイプ | 説明 |
---|---|---|
uptime | integer | スケジュールされた稼働時間中にサービスが OK 状態であった時間から、除外されたダウンタイムを差し引いた値 |
downtime | integer | スケジュールされた稼働時間中にサービスが not OK 状態であった時間から、除外されたダウンタイムを差し引いた値 |
sli | float | 稼働時間とダウンタイムに基づく SLI(総稼働時間の割合) |
error_budget | integer | SLI と SLO に基づくエラー バジェット(秒単位) |
excluded_downtimes | array | このレポート期間に除外されたダウンタイムの配列 各オブジェクトには、次のパラメーターが含まれます。 - name - 除外されたダウンタイムの名前- period_from - 除外されたダウンタイムの開始日時 (含む)- period_to - 除外されたダウンタイムの終了日時 (含まない)除外されたダウンタイムは、period_from フィールドで昇順に並べ替えられます。 |
ID"5"のSLAにリンクされているID"50"、"60"、"70"のサービスのSLIデータを取得します。 2021年11月1日から3期間のデータを取得します。
リクエスト :
{
"jsonrpc": "2.0",
"method": "sla.getsli",
"params": {
"slaid": "5",
"serviceids": [
50,
60,
70
],
"periods": 3,
"period_from": "1635724800"
},
"id": 1
}
レスポンス :
{
"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
}
CSla::getSli() in ui/include/classes/api/services/CSla.php