I servizi dati Google Cloud discussi in questa pagina includono quelli che archiviano e forniscono dati in risposta a una richiesta. Gli SLI per questi servizi sono simili agli SLI per i servizi richiesta-risposta, descritti nella sezione Servizi richiesta-risposta, con un'attenzione particolare a disponibilità e latenza. Tieni presente che la latenza, in particolare quando si misura il tempo di risposta alle query del database, è spesso un fattore determinante per la quantità di dati recuperati e può variare a seconda del carico di lavoro dell'applicazione.
Per esprimere uno SLI di disponibilità basato sulle richieste, utilizza la struttura TimeSeriesRatio
per configurare un rapporto tra richieste "valide" e richieste totali. Decidi come filtrare la metrica utilizzando le etichette disponibili per determinare se "Buono" o "Valido" preferisci.
Esprimi uno SLI di latenza basato su richiesta utilizzando una struttura DistributionCut
.
Cloud Storage
Cloud Storage è l'archivio di oggetti di Google Cloud a livello mondiale e a elevata durabilità. Cloud Storage è disponibile in diverse classi di archiviazione, che ti consentono di determinare il modello di costo e recupero appropriato per il tuo servizio o caso d'uso.
Per ulteriori informazioni, consulta quanto segue:
- Documentazione per Cloud Storage.
- Elenco di
storage.googleapis.com
tipi di metriche.
SLI di disponibilità
Cloud Storage scrive i dati delle metriche in Cloud Monitoring utilizzando il tipo di risorsa monitorata gcs_bucket
e il tipo di metrica api/request_count
. Puoi filtrare i dati utilizzando l'etichetta della metrica response_code
per conteggiare le richieste "valide". Puoi utilizzare
l'etichetta della metrica method
anche per misurare la disponibilità per uno specifico metodo API,
ad esempio ReadObject
.
Esprimi uno SLI di disponibilità basato sulle richieste per leggere gli oggetti da un bucket Cloud Storage utilizzando un rapporto, TimeSeriesRatio
, tra richieste soddisfacenti e richieste totali, come mostrato nell'esempio seguente:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"storage.googleapis.com/api/request_count\"
resource.type=\"gcs_bucket\"
metric.label.\"method\"=\"ReadObject\"
resource.label.\"bucket_name\"=\"my_bucket\"",
"goodServiceFilter":
"metric.type=\"storage.googleapis.com/api/request_count\"
resource.type=\"gcs_bucket\"
metric.label.\"method\"=\"ReadObject\"
resource.label.\"bucket_name\"=\"my_bucket\"
metric.label.\"response_code\"=\"OK\"",
}
}
}
SLI di latenza
Cloud Storage non fornisce una metrica di latenza; se la latenza è un problema, potresti instrumentare il tuo servizio per raccoglierla sul client.
Bigtable
Bigtable è un servizio di database NoSQL scalabile e completamente gestito per carichi di lavoro analitici e operativi di grandi dimensioni. Bigtable è ideale per archiviare grandi quantità di dati in un archivio chiave-valore. Bigtable supporta anche una velocità effettiva di lettura e scrittura elevata a bassa latenza, offrendo un accesso rapido a grandi quantità di dati.
Per ulteriori informazioni, consulta quanto segue:
- Documentazione per Bigtable.
- Elenco di
bigtable.googleapis.com
tipi di metriche.
SLI di disponibilità
Bigtable scrive i dati delle metriche in Cloud Monitoring utilizzando il tipo di risorsa monitorata bigtable_table
e i seguenti tipi di metriche:
-
server/request_count
, che conteggia il numero totale di richieste. -
server/error_count
, che conteggia il numero totale di richieste non riuscite.
Esprimi uno SLI di disponibilità basato sulle richieste per leggere gli oggetti da un bucket Cloud Storage utilizzando un rapporto, TimeSeriesRatio
, tra richieste "non valide" e richieste totali, come mostrato nell'esempio seguente:
Puoi utilizzare queste due metriche per esprimere uno SLI di disponibilità basato sulle richieste creando una struttura TimeSeriesRatio
per le richieste non riuscite alle richieste totali, come mostrato nell'esempio seguente:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"bigtable.googleapis.com/server/request_count\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
"badServiceFilter":
"metric.type=\"bigtable.googleapis.com/server/error_count\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
}
}
}
SLI di latenza
Per misurare la latenza, Bigtable scrive i dati delle metriche in Cloud Monitoring utilizzando il tipo di risorsa monitorata bigtable_table
e il tipo di metrica server/latencies
. Puoi filtrare i dati utilizzando l'etichetta della metrica method
per misurare le latenze di metodi specifici.
Esprimi uno SLI di latenza basato su richiesta utilizzando una struttura DistributionCut
.
Lo SLO di esempio seguente prevede che il 99% di tutte le richieste alla tabella my_table
nel cluster my_cluster
rientri tra 0 e 100 ms di latenza totale in un periodo in sequenza di un'ora:
{
"serviceLevelIndicator": {
"requestBased": {
"distributionCut": {
"distributionFilter":
"metric.type=\"bigtable.googleapis.com/server/latencies\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
"range": {
"min": 0,
"max": 100
}
}
}
},
"goal": 0.99,
"rollingPeriod": "3600s",
"displayName": "98% requests under 100 ms"
}
Spanner
Spanner è un servizio di database relazionale completamente gestito che offre coerenza transazionale su scala globale, schemi, SQL (ANSI 2011 con estensioni) e replica sincrona automatica per un'alta disponibilità.
Per ulteriori informazioni, consulta quanto segue:
- Documentazione per Spanner.
- Elenco di
spanner.googleapis.com
tipi di metriche.
SLI di disponibilità
Spanner scrive i dati delle metriche in Cloud Monitoring utilizzando il tipo di risorsa monitorata spanner_instance
e il tipo di metrica query_count
. Puoi filtrare i dati utilizzando l'etichetta della metrica status
per conteggiare le query sul database riuscite e non riuscite.
Per esprimere uno SLI di disponibilità basato sulle richieste, crei una struttura TimeSeriesRatio
per le richieste "valide" alle richieste totali, come mostrato nell'esempio seguente:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"spanner.googleapis.com/query_count\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"",
"goodServiceFilter":
"metric.type=\"spanner.googleapis.com/query_count\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"
metric.label.\"status\"=\"ok\"",
}
}
}
SLI di latenza
Per misurare la latenza, Spanner scrive i dati delle metriche in Cloud Monitoring utilizzando il tipo di risorsa monitorata spanner_instance
e il tipo di metrica api/request_latencies
. Puoi filtrare i dati utilizzando l'etichetta della metrica method
per misurare le latenze di metodi specifici. I dati includono latenze non solo per le query, ma per altre chiamate API Spanner.
Esprimi uno SLI di latenza basato su richiesta utilizzando una struttura DistributionCut
.
Lo SLO di esempio seguente prevede che il 99% di tutte le richieste API al database my_database
rientri tra 0 e 100 ms di latenza totale in un periodo in sequenza di un'ora:
{
"serviceLevelIndicator": {
"requestBased": {
"distributionCut": {
"distributionFilter":
"metric.type=\"spanner.googleapis.com/api/request_latencies\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"",
"range": {
"min": 0,
"max": 100
}
}
}
},
"goal": 0.99,
"rollingPeriod": "3600s",
"displayName": "98% requests under 100 ms"
}
Datastore
Datastore è un database NoSQL a scalabilità elevata per le tue applicazioni. Datastore gestisce automaticamente lo sharding e la replica, fornendo un database con disponibilità elevata e durevolezza in grado di scalare automaticamente per gestire i carichi delle tue applicazioni.
Per ulteriori informazioni, consulta quanto segue:
- Documentazione per Datastore.
- Elenco di
datastore.googleapis.com
tipi di metriche.
SLI di disponibilità
Datastore scrive i dati delle metriche in Cloud Monitoring utilizzando il
tipo di risorsa monitorata datastore_request
e il tipo di metrica
api/request_count
. Puoi filtrare i dati utilizzando l'etichetta della metrica response_code
per conteggiare le chiamate API riuscite e non riuscite oppure utilizzando l'etichetta della metrica api_method
per, ad esempio, misurare solo le letture dei documenti.
Per esprimere uno SLI di disponibilità basato sulle richieste crei una struttura TimeSeriesRatio
per le richieste andate a buon fine per le richieste totali, come mostrato nell'esempio seguente:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"datastore.googleapis.com/api/request_count\"
resource.type=\"datastore_request\"",
"goodServiceFilter":
"metric.type=\"datastore.googleapis.com/api/request_count\"
resource.type=\"datastore_request\"
metric.label.\"response_code\"=\"success\"",
}
}
}
SLI di latenza
Al momento Datastore non fornisce una metrica di latenza.
Per le metriche disponibili, consulta datastore.googleapis.com
tipi di metriche.