object sla.getsli(object parameters)
このメソッドで、サービスレベルインジケーター(SLI)データを計算できます。
このメソッドはどのタイプのユーザーでも利用可能です。このメソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。詳しくはユーザーの役割を参照してください。
(object)
SLIを計算するための、SLA ID,レポート期間,オプションでサービスのIDを含むパラメーター
パラメータ | タイプ | 説明 |
---|---|---|
slaid (必須) |
string | 可用性情報を返すサービスのID |
period_from | integer | SLI報告開始日(指定日含む) 使用可能な値:タイムスタンプ |
period_to | integer | SLI報告終了日(指定日含まない) 使用可能な値:タイムスタンプ |
periods | array | 報告すべき望ましい期間数 使用可能な値:1-100 |
serviceids | string/array | SLIを返すサービスのID |
以下は、パラメーターの組み合わせに基づいて返される period slices の配置を示しています。
パラメータ | 説明 | ||
---|---|---|---|
period_from | period_to | periods | |
- | - | - | 過去 20 期間 (現在の期間を含む) で、SLA の発効日に基づいて利用可能な最初の期間を過ぎていないもの。 |
- | - | 指定 | periods パラメータで指定された最後の期間。 |
- | 指定 | - | 指定された日付より前の最後の 20 期間で、SLA の発効日に基づく最初の利用可能な期間を過ぎていないもの。 |
- | 指定 | 指定 | 指定された日付より前の periods パラメーターで指定された最後の期間。 |
指定 | - | - | 最初の 20 期間 (現在の期間を含む) であるが、現在の期間よりも前。 |
指定 | - | 指定 | 指定された日付から始まる periods パラメーターで指定された最初の期間。 |
指定 | 指定 | - | 指定された日付範囲内の期間のうち、100 を超えず、SLA の発効日に基づいて最初に利用可能な期間を過ぎていない期間。 |
指定 | 指定 | 指定 | 指定された日付範囲内の期間かつ、指定された期間数を超えず、SLA の発効日に基づいた最初の利用可能期間を過ぎていない |
(object)
計算結果を返します。
プロパティ | タイプ | 説明 |
---|---|---|
periods | array | 報告された期間のリスト 報告された各期間は、次で構成されるオブジェクトとして表されます。 - period_from - 報告された期間の開始日(タイムスタンプ) - period_to - 終了報告された期間の日付(タイムスタンプ) 期間は period_from フィールドの昇順で並べ替えられます。 |
serviceids | array | レポートされた期間のサービスIDのリスト。serviceids パラメータがsla.getsli メソッドに渡された場合でも、リストの並べ替え順序は定義されていません。 |
sli | array | (** 2次元配列で)報告された各期間とサービスのSLIデータ。periods プロパティのインデックスは、sli プロパティの1次元目として使用されます。serviceids プロパティのインデックスは、sli プロパティの二次元目**として使用されます。 |
SLI data 報告された期間ごとに返され、サービスは次のもので構成されます。
プロパティ | タイプ | 説明 |
---|---|---|
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"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"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