[comment]: # translation:outdated

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

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

[comment]: # ({3fde2eb3-531f7cc6})
### Descrizione

`object sla.getsli(object parameters)`

Questo metodo consente di calcolare i dati del Service Level Indicator (SLI) per un Service Level Agreement (SLA).

::: noteclassic
Questo metodo è disponibile per utenti di qualsiasi tipo. Le autorizzazioni
per chiamare il metodo possono essere revocate nelle impostazioni del ruolo utente. Vedere [User
roles](/manual/web_interface/frontend_sections/users/user_roles)
per ulteriori informazioni.
:::

[comment]: # ({/3fde2eb3-531f7cc6})

[comment]: # ({880cf558-bcbf1cf2})
### Parametri

`(object)` Parametri contenenti l'ID dello SLA, i periodi di reporting e, facoltativamente,
gli ID dei servizi per i quali calcolare lo SLI.

|Parametro|[Type](/manual/api/reference_commentary#data-types)|Descrizione|
|--|--|------|
|slaid|ID|ID dello SLA per il quale restituire le informazioni sulla disponibilità.<br><br>[Comportamento del parametro](/manual/api/reference_commentary#parameter-behavior):<br>- *obbligatorio*|
|period\_from|timestamp|Timestamp iniziale (incluso) per il quale riportare lo SLI.<br><br>Valori possibili: timestamp Unix.|
|period\_to|timestamp|Timestamp finale (incluso) per il quale riportare lo SLI.<br><br>Valori possibili: timestamp Unix.|
|periods|integer|Numero di periodi da riportare.<br><br>Valori possibili: 1-100|
|serviceids|ID/array|ID dei servizi per i quali restituire lo SLI.|

[comment]: # ({/880cf558-bcbf1cf2})

[comment]: # ({d1b5c39b-31bc72e4})
#### Suddivisione dei periodi

La tabella seguente mostra la disposizione delle sezioni di periodo restituite in base alle combinazioni dei parametri.

::: noteclassic
I periodi restituiti non precedono il primo periodo disponibile (in base alla data di entrata in vigore dello SLA) e non superano il periodo corrente.
:::

|Parametri|<|<|Periodi restituiti|
|-|-|-|-------|
|**period\_from**|**period\_to**|**periods**|   |
|-|-|-|Ultimi 20 periodi, incluso quello corrente.|
|-|-|N|Ultimi N periodi.|
|-|specified|-|Ultimi 20 periodi prima di `period_to`.|
|-|specified|N|Ultimi N periodi prima di `period_to`.|
|specified|-|-|Primi 20 periodi a partire da `period_from`.|
|specified|-|N|Primi N periodi a partire da `period_from`.|
|specified|specified|-|Fino a 100 periodi nell'intervallo specificato.|
|specified|specified|N|N periodi nell'intervallo specificato.|

[comment]: # ({/d1b5c39b-31bc72e4})

[comment]: # ({26e4fdd7-b46f1257})
### Valori restituiti

`(object)` Restituisce i risultati del calcolo.

|Proprietà|[Type](/manual/api/reference_commentary#data-types)|Descrizione|
|--|--|------|
|periods|array|Elenco dei periodi riportati.<br><br>Ciascun periodo riportato è rappresentato come un oggetto composto da:<br>- `period_from` - `(timestamp)` Timestamp iniziale (incluso) del periodo riportato.<br>- `period_to` - `(timestamp)` Timestamp finale (escluso) del periodo riportato.<br><br>I periodi sono ordinati per `period_from`, con i periodi più vecchi visualizzati per primi.|
|serviceids|array|Elenco degli ID dei servizi nei periodi riportati.<br><br>L'ordine di ordinamento dell'elenco non è definito. Anche se il parametro `serviceids` è stato passato al metodo `sla.getsli`.|
|sli|array|Dati SLI (come **array bidimensionale**) per ciascun periodo riportato e servizio.<br><br>L'indice della proprietà `periods` viene utilizzato come **prima** dimensione della proprietà `sli`.<br><br>L'indice della proprietà `serviceids` viene utilizzato come **seconda** dimensione della proprietà `sli`.|

[comment]: # ({/26e4fdd7-b46f1257})

[comment]: # ({1b312b3d-ba0b5441})
#### Dati SLI

I dati SLI restituiti per ciascun periodo riportato e servizio consistono in:

|Proprietà|[Type](/manual/api/reference_commentary#data-types)|Descrizione|
|--|--|------|
|uptime|integer|Quantità di tempo in cui il servizio è rimasto in stato _OK_ durante il tempo di attività pianificato, al netto dei tempi di inattività esclusi.|
|downtime|integer|Quantità di tempo in cui il servizio è rimasto in stato _not OK_ durante il tempo di attività pianificato, al netto dei tempi di inattività esclusi.|
|sli|float|SLI (percentuale del tempo di attività totale), basato su uptime e downtime.|
|error\_budget|integer|Budget di errore (in secondi), basato su SLI e SLO.|
|excluded\_downtimes|array|Array dei tempi di inattività esclusi in questo periodo di reporting.<br><br>Ciascun oggetto conterrà i seguenti parametri:<br>- `name` - `(string)` Nome del tempo di inattività escluso.<br>- `period_from` - `(timestamp)` Timestamp iniziale (incluso) del tempo di inattività escluso.<br>- `period_to` - `(timestamp)` Timestamp finale (escluso) del tempo di inattività escluso.<br><br>I tempi di inattività esclusi sono ordinati per `period_from`, con i periodi più iniziali visualizzati per primi.|

[comment]: # ({/1b312b3d-ba0b5441})

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

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

[comment]: # ({b67c0708-610cd288})
#### Calcolo dell'SLI per un SLA giornaliero

Recupera i dati SLI per i servizi con ID "1" e "4" collegati all'SLA con ID "1".
Recupera i dati per un singolo periodo fino a "1761861599" (30 ott 2025 23:59:59 GMT+0200).
Poiché il [periodo di reporting](/manual/it_services/sla) dell'SLA è giornaliero, i dati SLI vengono recuperati da "1761775200" (30 ott 2025 00:00:00 GMT+0200) a "1761861600" (31 ott 2025 00:00:00 GMT+0200).

[Richiesta](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "sla.getsli",
    "params": {
        "slaid": "1",
        "serviceids": [
            1,
            4
        ],
        "periods": 1,
        "period_to": 1761861599
    },
    "id": 1
}
```

Risposta:

```json
{
    "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
}
```

[comment]: # ({/b67c0708-610cd288})

[comment]: # ({d21e6bab-c6c818e1})
#### Calcolo dell'SLI per un SLA mensile

Recupera i dati SLI sui servizi con ID "50", "60" e "70" collegati all'SLA con ID "5".
Recupera i dati per tre periodi a partire da "1635724800" (01 nov 2021 00:00:00 UTC).
Poiché il [periodo di reporting](/manual/it_services/sla) dell'SLA è mensile, i dati SLI vengono recuperati per i tre mesi seguenti:

-   Da "1635724800" (01 nov 2021 00:00:00 UTC) a "1638316800" (01 dic 2021 00:00:00 UTC)
-   Da "1638316800" (01 dic 2021 00:00:00 UTC) a "1640995200" (01 gen 2022 00:00:00 UTC)
-   Da "1640995200" (01 gen 2022 00:00:00 UTC) a "1643673600" (01 feb 2022 00:00:00 UTC)

[Richiesta](/manual/api#performing-requests):

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

Risposta:

```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": "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
}
```

[comment]: # ({/d21e6bab-c6c818e1})

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

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

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