sla.getsli
Beschreibung
object sla.getsli(object parameters)
Mit dieser Methode können die Daten des Service Level Indicator (SLI) für ein Service Level Agreement (SLA) berechnet werden.
Diese Methode ist für Benutzer aller Typen verfügbar. Die Berechtigungen zum Aufrufen der Methode können in den Einstellungen der Benutzerrolle entzogen werden. Weitere Informationen finden Sie unter Benutzerrollen.
Parameter
(object) Parameter, die die SLA-ID, Berichtszeiträume und optional
die IDs der Services enthalten, für die der SLI berechnet werden soll.
| Parameter | Type | Beschreibung |
|---|---|---|
| slaid | ID | ID des SLA, für das Verfügbarkeitsinformationen zurückgegeben werden sollen. Parameter behavior: - required |
| period_from | timestamp | Startzeitstempel (einschließlich), für den der SLI gemeldet werden soll. Mögliche Werte: Unix-Zeitstempel. |
| period_to | timestamp | Endzeitstempel (einschließlich), für den der SLI gemeldet werden soll. Mögliche Werte: Unix-Zeitstempel. |
| periods | integer | Anzahl der zu meldenden Zeiträume. Mögliche Werte: 1-100 |
| serviceids | ID/array | IDs der Services, für die der SLI zurückgegeben werden soll. |
Aufteilung von Zeiträumen
Die folgende Tabelle veranschaulicht die Anordnung der zurückgegebenen Zeitraumabschnitte basierend auf Parameterkombinationen.
Zurückgegebene Zeiträume liegen nicht vor dem ersten verfügbaren Zeitraum (basierend auf dem Gültigkeitsdatum des SLA) und überschreiten nicht den aktuellen Zeitraum.
| Parameter | Zurückgegebene Zeiträume | ||
|---|---|---|---|
| period_from | period_to | periods | |
| - | - | - | Letzte 20 Zeiträume, einschließlich des aktuellen. |
| - | - | N | Letzte N Zeiträume. |
| - | angegeben | - | Letzte 20 Zeiträume vor period_to. |
| - | angegeben | N | Letzte N Zeiträume vor period_to. |
| angegeben | - | - | Erste 20 Zeiträume beginnend mit period_from. |
| angegeben | - | N | Erste N Zeiträume beginnend mit period_from. |
| angegeben | angegeben | - | Bis zu 100 Zeiträume im angegebenen Bereich. |
| angegeben | angegeben | N | N Zeiträume im angegebenen Bereich. |
Rückgabewerte
(object) Gibt die Ergebnisse der Berechnung zurück.
| Eigenschaft | Type | Beschreibung |
|---|---|---|
| periods | array | Liste der gemeldeten Zeiträume. Jeder gemeldete Zeitraum wird als Objekt dargestellt, das aus Folgendem besteht: - period_from - (timestamp) Startzeitstempel (einschließlich) des gemeldeten Zeitraums.- period_to - (timestamp) Endzeitstempel (ausschließlich) des gemeldeten Zeitraums.Die Zeiträume sind nach period_from sortiert, wobei die frühesten Zeiträume zuerst erscheinen. |
| serviceids | array | Liste der Service-IDs in den gemeldeten Zeiträumen. Die Sortierreihenfolge der Liste ist nicht definiert. Auch dann nicht, wenn der Parameter serviceids an die Methode sla.getsli übergeben wurde. |
| sli | array | SLI-Daten (als zweidimensionales Array) für jeden gemeldeten Zeitraum und Service. Der Index der Eigenschaft periods wird als erste Dimension der Eigenschaft sli verwendet.Der Index der Eigenschaft serviceids wird als zweite Dimension der Eigenschaft sli verwendet. |
SLI-Daten
Die für jeden gemeldeten Zeitraum und Service zurückgegebenen SLI-Daten bestehen aus:
| Eigenschaft | Type | Beschreibung |
|---|---|---|
| uptime | integer | Zeitspanne, die der Service während der geplanten Verfügbarkeit im Status OK verbracht hat, abzüglich der ausgeschlossenen Ausfallzeiten. |
| downtime | integer | Zeitspanne, die der Service während der geplanten Verfügbarkeit im Status not OK verbracht hat, abzüglich der ausgeschlossenen Ausfallzeiten. |
| sli | float | SLI (in Prozent der gesamten Verfügbarkeitszeit), basierend auf uptime und downtime. |
| error_budget | integer | Fehlerbudget (in Sekunden), basierend auf dem SLI und dem SLO. |
| excluded_downtimes | array | Array der ausgeschlossenen Ausfallzeiten in diesem Berichtszeitraum. Jedes Objekt enthält die folgenden Parameter: - name - (string) Name der ausgeschlossenen Ausfallzeit.- period_from - (timestamp) Startzeitstempel (einschließlich) der ausgeschlossenen Ausfallzeit.- period_to - (timestamp) Endzeitstempel (ausschließlich) der ausgeschlossenen Ausfallzeit.Ausgeschlossene Ausfallzeiten werden nach period_from sortiert, wobei die frühesten Zeiträume zuerst erscheinen. |
Beispiele
Berechnung des SLI für ein tägliches SLA
Rufen Sie SLI-Daten für Services mit den IDs „1“ und „4“ ab, die mit dem SLA mit der ID „1“ verknüpft sind. Rufen Sie Daten für einen einzelnen Zeitraum bis „1761861599“ (30. Okt. 2025 23:59:59 GMT+0200) ab. Da der Berichtszeitraum des SLA täglich ist, werden SLI-Daten von „1761775200“ (30. Okt. 2025 00:00:00 GMT+0200) bis „1761861600“ (31. Okt. 2025 00:00:00 GMT+0200) abgerufen.
{
"jsonrpc": "2.0",
"method": "sla.getsli",
"params": {
"slaid": "1",
"serviceids": [
1,
4
],
"periods": 1,
"period_to": 1761861599
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"periods": [
{
"period_from": 1761775200,
"period_to": 1761861600
}
],
"serviceids": [
1,
4
],
"sli": [
[
{
"uptime": 43843,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance OCT",
"period_from": 1761825600,
"period_to": 1761829200
}
]
},
{
"uptime": 32225,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": []
}
]
]
},
"id": 1
}
Berechnung des SLI für eine monatliche SLA
Rufen Sie SLI-Daten für Services mit den IDs "50", "60" und "70" ab, die mit der SLA mit der ID "5" verknüpft sind. Rufen Sie Daten für drei Zeiträume ab, beginnend mit "1635724800" (01. Nov. 2021 00:00:00 UTC). Da der Berichtszeitraum der SLA monatlich ist, werden SLI-Daten für die folgenden drei Monate abgerufen:
- Von "1635724800" (01. Nov. 2021 00:00:00 UTC) bis "1638316800" (01. Dez. 2021 00:00:00 UTC)
- Von "1638316800" (01. Dez. 2021 00:00:00 UTC) bis "1640995200" (01. Jan. 2022 00:00:00 UTC)
- Von "1640995200" (01. Jan. 2022 00:00:00 UTC) bis "1643673600" (01. Feb. 2022 00:00:00 UTC)
{
"jsonrpc": "2.0",
"method": "sla.getsli",
"params": {
"slaid": "5",
"serviceids": [
50,
60,
70
],
"periods": 3,
"period_from": 1635724800
},
"id": 1
}
Antwort:
{
"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": "Maintenance Nov 25 - Dec 01",
"period_from": 1637836212,
"period_to": 1638316800
}
]
},
{
"uptime": 1186212,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance Nov 25 - Dec 01",
"period_from": 1637836212,
"period_to": 1638316800
}
]
},
{
"uptime": 1186212,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance Nov 25 - Dec 01",
"period_from": 1637836212,
"period_to": 1638316800
}
]
}
],
[
{
"uptime": 1147548,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance Dec 02 - Dec 10",
"period_from": 1638439200,
"period_to": 1639109652
}
]
},
{
"uptime": 1147548,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance Dec 02 - Dec 10",
"period_from": 1638439200,
"period_to": 1639109652
}
]
},
{
"uptime": 1147548,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance Dec 02 - Dec 10",
"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
}
Quelle
CSla::getSli() in ui/include/classes/api/services/CSla.php