Configura metriche per IBM Cloud® Object Storage
Utilizza il servizio IBM Cloud® Monitoring per monitorare i tuoi dati IBM Cloud® Object Storage. IBM Cloud Monitoring è un sistema di gestione nativo del cloud. Le metriche prodotte dai tuoi bucket COS possono essere visualizzate nei dashboard creati in IBM Monitoring. La documentazione di Monitoring può guidare l'utente nell'utilizzo dei dashboard completi. Inoltre, specificare le condizioni quando un avviso delle metriche viene attivato per impostare notifiche quando vengono superate le soglie personalizzate.
Quando il monitoraggio delle metriche è abilitato nel bucket, il servizio di destinazione predefinito che cattura queste metriche è IBM Cloud Monitoring. Assicurati di disporre di un'istanza della piattaforma di IBM Cloud Monitoring nell'ubicazione di ricezione corrispondente alla tua ubicazione bucket come specificato in COS Service Integration.
In alternativa, utilizza le regole IBM Cloud Metrics Routing per inviare metriche ad altri servizi di destinazione o alle istanze IBM Cloud Monitoring in ubicazioni diverse dall'ubicazione del bucket.
Abilita il monitoraggio delle metriche nel tuo bucket tramite l'API di configurazione delle risorseIBM Cloud® Object Storage o direttamente tramite la IU. Questa operazione viene eseguita durante il provisioning del bucket o successivamente aggiornando la configurazione del bucket.
IBM COS supporta l'abilitazione della traccia delle metriche sui seguenti tipi di metrica:
- Metriche di utilizzo - sono metriche relative all'uso complessivo del tuo bucket COS, come l'archiviazione totale utilizzata in byte.
- Metriche di richiesta - Le metriche riportano i conteggi per alcuni tipi di richieste API effettuate al bucket
Vedi la seguente sezione dei dettagli delle metriche IBM Cloud® Object Storage per l'elenco completo delle metriche inviate a IBM Monitoring.
Questa funzione non è attualmente supportata in Object Storage per Satellite.
Questa funzione supporta il monitoraggio SCC.
Le metriche IBM Cloud® Object Storage possono essere utilizzate solo da istanze della piattaforma IBM Monitoring. Se un'istanza della piattaforma non esiste nell'ubicazione di ricezione finale, assicurarsi che ne sia stata creata una.
Instrada metriche con IBM Cloud Metrics Routing
Utilizza IBM Cloud® Metrics Routing per instradare le metriche per i tuoi bucket IBM Cloud® Object Storage a ubicazioni diverse dall'ubicazione del bucket o ad altri servizi di destinazione. Puoi utilizzare Metrics Routing, un servizio della piattaforma, per gestire le destinazioni e gli instradamenti che definiscono dove vengono instradati i dati delle metriche.
Quando si abilita il monitoraggio sui tuoi bucket IBM Cloud® Object Storage, le metriche vengono inviate a una posizione di ricezione predefinita come definito in COS Service Integration. È necessario disporre di un'istanza di IBM Monitoring in questa ubicazione o configurare una regola di instradamento in un'altra ubicazione con un'istanza di monitoraggio, per garantire la ricezione delle metriche.
Per ulteriori informazioni, vedi Introduzione a IBM Cloud Metrics Routing.
Configurare le metriche sul bucket IBM Cloud® Object Storage (consigliato)
Abilita la traccia delle metriche sul tuo bucket IBM Cloud® Object Storage al momento del provisioning del bucket o aggiornando la configurazione del bucket dopo la creazione del bucket. Il monitoraggio delle metrica verrà applicato solo alle metriche IBM Cloud® Object Storage prodotte dopo l'abilitazione.
Fai riferimento a IBM Cloud® Object Storage Metrics Details per visualizzare un elenco completo delle metriche di utilizzo e richiesta disponibili per la traccia.
Utilizza l'API di configurazione delle risorseIBM Cloud® Object Storage per configurare la traccia di queste metriche per il tuo bucket.
Quando la traccia delle metriche è abilitata, tutte le metriche vengono inviate alla posizione di ricezione predefinita per il router delle metriche IBM Cloud in base alla posizione del bucket. Fai riferimento a IBM Cloud® Object Storage Service Integration per visualizzare questa associazione predefinita. Utilizzare le regole del router delle metriche per instradare le metriche a un'ubicazione diversa dall'ubicazione del bucket o a un altro servizio di destinazione. Per ulteriori informazioni, vedi Gestione degli instradamenti.
Come configurare le metriche per IBM Cloud® Object Storage (consigliato)
Seleziona la scheda IU, API o Terraform all'inizio di questo argomento per visualizzare gli esempi che mostrano come configurare il monitoraggio delle metriche per tenere traccia delle metriche di utilizzo e di richiesta nel tuo bucket.
Esempio di IU per come configurare il monitoraggio delle metriche sul tuo bucket
- Dall'elenco di risorse della console IBM Cloud, seleziona l'istanza del servizio che contiene il bucket a cui sei interessato ad aggiungere il monitoraggio delle metriche. Viene visualizzata la console Object Storage
- Scegliere il bucket per cui si desidera abilitare il monitoraggio.
- Passare alla scheda Configurazione.
- Scorri verso il basso fino alla sezione di configurazione avanzata e attiva / disattiva le metriche che vuoi monitorare per questo bucket.
- Dopo pochi minuti, qualsiasi attività sarà visibile nell'IU web IBM Cloud Monitoring.
Esempi
SDK JAVA
import com.ibm.cloud.objectstorage.config.resource_configuration.v1.ResourceConfiguration;
import com.ibm.cloud.objectstorage.config.resource_configuration.v1.model.BucketPatch;
import com.ibm.cloud.sdk.core.security.IamAuthenticator;
public class MetricsMonitoringExample {
private static final String BUCKET_NAME = <BUCKET_NAME>;
private static final String API_KEY = <API_KEY>;
public static void main(String[] args) {
IamAuthenticator authenticator = new IamAuthenticator.Builder()
.apiKey(API_KEY)
.build();
ResourceConfiguration RC_CLIENT = new ResourceConfiguration("resource-configuration", authenticator);
MetricsMonitoring metricsMonitoringConfig = new MetricsMonitoring().Builder()
.requestMetricsEnabled(true)
.usageMetricsEnabled(true)
.build();
BucketPatch bucketPatch = new BucketPatch.Builder().metricsMonitoring(metricsMonitoringConfig).build();
UpdateBucketConfigOptions update = new UpdateBucketConfigOptions
.Builder(BUCKET_NAME)
.bucketPatch(bucketPatch.asPatch())
.build();
RC_CLIENT.updateBucketConfig(update).execute();
GetBucketConfigOptions bucketOptions = new GetBucketConfigOptions.Builder(BUCKET_NAME).build();
Bucket bucket = RC_CLIENT.getBucketConfig(bucketOptions).execute().getResult();
MetricsMonitoring metricsMonitoringResponse = bucket.getMetricsMonitoring();
System.out.println("Usage Metrics Enabled : " + metricsMonitoringResponse.usageMetricsEnabled());
System.out.println("Request Metrics Enabled : " + metricsMonitoringResponse.requestMetricsEnabled());
}
}
SDK NodeJS
const ResourceConfigurationV1 = require('ibm-cos-sdk-config/resource-configuration/v1');
IamAuthenticator = require('ibm-cos-sdk-config/auth');
var apiKey = "<API_KEY>"
var bucketName = "<BUCKET_NAME>"
authenticator = new IamAuthenticator({apikey: apiKey})
rcConfig = {authenticator: authenticator}
const client = new ResourceConfigurationV1(rcConfig);
function addMM() {
console.log('Updating bucket metadata...');
var params = {
bucket: bucketName,
metricsMonitoring: {
"request_metrics_enabled": true,
"usage_metrics_enabled": true
}
};
client.updateBucketConfig(params, function (err, response) {
if (err) {
console.log("ERROR: " + err);
} else {
console.log(response.result);
}
});
}
addMM()
SDK Python
from ibm_cos_sdk_config.resource_configuration_v1 import ResourceConfigurationV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
api_key = "<API_KEY>"
bucket_name = "<BUCKET_NAME>"
authenticator = IAMAuthenticator(apikey=api_key)
client = ResourceConfigurationV1(authenticator=authenticator)
metrics_monitoring_config = {'metrics_monitoring':
{
'request_metrics_enabled':True,
'usage_metrics_enabled':True
}
}
client.update_bucket_config(bucket_name, bucket_patch=metrics_monitoring_config
sdk go
import (
"github.com/IBM/go-sdk-core/core"
rc "github.com/IBM/ibm-cos-sdk-go-config/v2/resourceconfigurationv1"
)
apiKey := "<ApiKey>"
bucketName := "<BucketName>"
authenticator := new(core.IamAuthenticator)
authenticator.ApiKey = apiKey
optionsRC := new(rc.ResourceConfigurationV1Options)
optionsRC.Authenticator = authenticator
rcClient, _ := rc.NewResourceConfigurationV1(optionsRC)
patchNameMap := make(map[string]interface{})
patchNameMap["metrics_monitoring"] = &rc.MetricsMonitoring{
RequestMetricsEnabled: core.BoolPtr(true),
UsageMetricsEnabled: core.BoolPtr(true)
}
updateBucketConfigOptions := &rc.UpdateBucketConfigOptions{
Bucket: core.StringPtr(bucketName),
BucketPatch: patchNameMap,
}
rcClient.UpdateBucketConfig(updateBucketConfigOptions)
Esempio
resource "ibm_resource_instance" "cos_instance" {
name = "cos-instance"
resource_group_id = data.ibm_resource_group.cos_group.id
service = "cloud-object-storage"
plan = "standard"
location = "global"
}
resource "ibm_cos_bucket" "metric_monitoring_bucket" {
bucket_name = “bucket_name”
resource_instance_id = ibm_resource_instance.cos_instance.id
region_location = “us-south”
storage_class = “standard”
metrics_monitoring {
usage_metrics_enabled = true
request_metrics_enabled = true
}
}
Configura le metriche sul tuo bucket (Legacy) IBM Cloud® Object Storage
Abilita IBM Metrics Monitoring sul tuo bucket IBM Cloud® Object Storage specificando il CRN di destinazione dell'istanza Monitoring nell'API di configurazione risorse IBM Cloud® Object Storage. Specificare il CRN per definire la rotta per metriche COS.
IBM Cloud Metrics Routing è il modo standardizzato per i clienti di gestire l'instradamento dei dati di osservabilità della piattaforma. Le configurazioni di instradamento specifiche del servizio come IBM Cloud® Object Storage sono obsolete.
Si consiglia ai clienti di rimuovere queste configurazioni di instradamento legacy (rendere questo un link per aggiornare la sezione riportata di seguito) che utilizzano i CRN e utilizzare invece il servizio IBM Metrics Router per instradare metriche ad altre ubicazioni.
IBM Cloud® Object Storage continuerà a supportare le configurazioni legacy in cui è stato specificato un CRN diverso dall'ubicazione predefinita.
Aggiornamento da Legacy a Recommended Metrics Monitoring sul tuo bucket COS:
Per eseguire l'aggiornamento dalla configurazione legacy utilizzando l'API di configurazione delle risorse, rimuovere il CRN dell'istanza di monitoraggio delle metriche di destinazione. Le metriche verranno ora instradate all'ubicazione di ricezione del router delle metriche predefinito come descritto in Integrazione servizio COS. Eseguire il provisioning di un'istanza di monitoraggio in questa ubicazione o definire una regola di instradamento prima dell'aggiornamento per garantire che non vi sia alcuna interruzione nel monitoraggio delle metriche.
Patch di esempio per la transizione dalla configurazione di traccia eventi Legacy a Consiglia sul tuo bucket COS
Selezionare la scheda UI, API o Terraform nella parte superiore di questo argomento per visualizzare esempi di patch.
Patch di esempio dell'IU per la transizione dalla configurazione di traccia degli eventi Legacy a Consiglia sul tuo bucket COS
Patch di esempio per la transizione dalla configurazione di monitoraggio delle metriche Legacy a Consiglia nel bucket IBM Cloud® Object Storage (SDK, RC API, UI, Terraform)
- Dall'elenco di risorse della console di IBM Cloud, selezionare l'istanza del servizio che contiene il bucket che si desidera aggiornare alla configurazione di monitoraggio delle metriche consigliata. Viene visualizzata la console Object Storage.
- Scegliere il bucket per cui si desidera eseguire l'upgrade.
- Passare alla scheda Configurazione.
- Scorrere verso il basso fino alla sezione di configurazione avanzata e individuare il pannello di configurazione per il monitoraggio delle metriche.
- Clicca sull'angolo in alto a destra del pannello e seleziona upgrade.
- Confermare che si desidera aggiornare il monitoraggio delle metriche per questo bucket.
Esempi
SDK JAVA
import com.ibm.cloud.objectstorage.config.resource_configuration.v1.ResourceConfiguration;
import com.ibm.cloud.objectstorage.config.resource_configuration.v1.model.BucketPatch;
import com.ibm.cloud.sdk.core.security.IamAuthenticator;
public class MetricsMonitoringExample {
private static final String BUCKET_NAME = <BUCKET_NAME>;
private static final String API_KEY = <API_KEY>;
public static void main(String[] args) {
IamAuthenticator authenticator = new IamAuthenticator.Builder()
.apiKey(API_KEY)
.build();
ResourceConfiguration RC_CLIENT = new ResourceConfiguration("resource-configuration", authenticator);
MetricsMonitoring metricsMonitoringConfig = new MetricsMonitoring().Builder()
.metricsMonitoringCrn(MM_CRN)
.requestMetricsEnabled(true)
.usageMetricsEnabled(true)
.build();
BucketPatch bucketPatch = new BucketPatch.Builder().metricsMonitoring(metricsMonitoringConfig).build();
UpdateBucketConfigOptions update = new UpdateBucketConfigOptions
.Builder(BUCKET_NAME)
.bucketPatch(bucketPatch.asPatch())
.build();
RC_CLIENT.updateBucketConfig(update).execute();
GetBucketConfigOptions bucketOptions = new GetBucketConfigOptions.Builder(BUCKET_NAME).build();
Bucket bucket = RC_CLIENT.getBucketConfig(bucketOptions).execute().getResult();
MetricsMonitoring metricsMonitoringResponse = bucket.getMetricsMonitoring();
System.out.println("Usage Metrics Enabled : " + metricsMonitoringResponse.usageMetricsEnabled());
System.out.println("Request Metrics Enabled : " + metricsMonitoringResponse.requestMetricsEnabled());
}
}
SDK NodeJS
const ResourceConfigurationV1 = require('ibm-cos-sdk-config/resource-configuration/v1');
IamAuthenticator = require('ibm-cos-sdk-config/auth');
var apiKey = "<API_KEY>"
var bucketName = "<BUCKET_NAME>"
authenticator = new IamAuthenticator({apikey: apiKey})
rcConfig = {authenticator: authenticator}
const client = new ResourceConfigurationV1(rcConfig);
function addMM() {
console.log('Updating bucket metadata...');
var params = {
bucket: bucketName,
metricsMonitoring: {
"metrics_monitoring_crn": metricsCrn,
"request_metrics_enabled": true,
"usage_metrics_enabled": true
}
};
client.updateBucketConfig(params, function (err, response) {
if (err) {
console.log("ERROR: " + err);
} else {
console.log(response.result);
}
});
}
addMM()
SDK Python
from ibm_cos_sdk_config.resource_configuration_v1 import ResourceConfigurationV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
api_key = "<API_KEY>"
bucket_name = "<BUCKET_NAME>"
authenticator = IAMAuthenticator(apikey=api_key)
client = ResourceConfigurationV1(authenticator=authenticator)
metrics_monitoring_config = {'metrics_monitoring':
{
'metrics_monitoring_crn': mm_crn,
'request_metrics_enabled':True,
'usage_metrics_enabled':True
}
}
client.update_bucket_config(bucket_name, bucket_patch=metrics_monitoring_config
sdk go
import (
"github.com/IBM/go-sdk-core/core"
rc "github.com/IBM/ibm-cos-sdk-go-config/v2/resourceconfigurationv1"
)
apiKey := "<ApiKey>"
bucketName := "<BucketName>"
authenticator := new(core.IamAuthenticator)
authenticator.ApiKey = apiKey
optionsRC := new(rc.ResourceConfigurationV1Options)
optionsRC.Authenticator = authenticator
rcClient, _ := rc.NewResourceConfigurationV1(optionsRC)
patchNameMap["metrics_monitoring"] = &rc.MetricsMonitoring{
MetricsMonitoringCrn: core.StringPtr(MMCrn),
RequestMetricsEnabled: core.BoolPtr(true),
UsageMetricsEnabled: core.BoolPtr(true)
}
updateBucketConfigOptions := &rc.UpdateBucketConfigOptions{
Bucket: core.StringPtr(bucketName),
BucketPatch: patchNameMap,
}
rcClient.UpdateBucketConfig(updateBucketConfigOptions)
Esempio
resource "ibm_resource_instance" "cos_instance" {
name = "cos-instance"
resource_group_id = data.ibm_resource_group.cos_group.id
service = "cloud-object-storage"
plan = "standard"
location = "global"
}
resource "ibm_cos_bucket" "metric_monitoring_bucket" {
bucket_name = “bucket_name”
resource_instance_id = ibm_resource_instance.cos_instance.id
region_location = “us-south”
storage_class = “standard”
metrics_monitoring {
usage_metrics_enabled = true
request_metrics_enabled = true
metrics_monitoring_crn = "crn:v1:bluemix:public:sysdig-monitor:us-east:a/xxxxxxxxxxxxxxxxxxxxxxxxx:4xxxxxxxx-xxxx-xxxx-xxxx-fxxxxxxxxx4c::"
}
}
Dettagli della metrica Cloud Object Storage
Metriche di utilizzo
C'è una serie di metriche di base che tengono traccia dell'utilizzo:
ibm_cos_bucket_used_bytesibm_cos_bucket_object_countibm_cos_bucket_hard_quota_bytes
Metriche della richiesta
Esistono metriche che riportano gli aggregati per diverse classi di richiesta HTTP:
ibm_cos_bucket_all_requestsibm_cos_bucket_get_requestsibm_cos_bucket_put_requestsibm_cos_bucket_delete_requestsibm_cos_bucket_post_requestsibm_cos_bucket_list_requestsibm_cos_bucket_head_requests
Vengono raccolti anche gli errori, con errori sul lato server (5xx) suddivisi:
ibm_cos_bucket_4xx_errorsibm_cos_bucket_5xx_errors
Vengono riportati i byte minimi, massimi e medi trasferiti per tipo di rete:
ibm_cos_bucket_bytes_download_public_minibm_cos_bucket_bytes_download_public_maxibm_cos_bucket_bytes_download_public_avgibm_cos_bucket_bytes_download_private_minibm_cos_bucket_bytes_download_private_maxibm_cos_bucket_bytes_download_private_avgibm_cos_bucket_bytes_download_direct_minibm_cos_bucket_bytes_download_direct_maxibm_cos_bucket_bytes_download_direct_avgibm_cos_bucket_bytes_upload_public_minibm_cos_bucket_bytes_upload_public_maxibm_cos_bucket_bytes_upload_public_avgibm_cos_bucket_bytes_upload_private_minibm_cos_bucket_bytes_upload_private_maxibm_cos_bucket_bytes_upload_private_avgibm_cos_bucket_bytes_upload_direct_minibm_cos_bucket_bytes_upload_direct_maxibm_cos_bucket_bytes_upload_direct_avg
Le metriche di latenza (primo byte e generali) per richieste sono suddivise per tipo di richiesta:
ibm_cos_bucket_first_byte_latency_read_minibm_cos_bucket_first_byte_latency_read_maxibm_cos_bucket_first_byte_latency_read_avgibm_cos_bucket_first_byte_latency_write_minibm_cos_bucket_first_byte_latency_write_maxibm_cos_bucket_first_byte_latency_write_avgibm_cos_bucket_first_byte_latency_misc_minibm_cos_bucket_first_byte_latency_misc_maxibm_cos_bucket_first_byte_latency_misc_avgibm_cos_bucket_request_latency_read_minibm_cos_bucket_request_latency_read_maxibm_cos_bucket_request_latency_read_avgibm_cos_bucket_request_latency_write_minibm_cos_bucket_request_latency_write_maxibm_cos_bucket_request_latency_write_avgibm_cos_bucket_request_latency_misc_minibm_cos_bucket_request_latency_misc_maxibm_cos_bucket_request_latency_misc_avg
Tutte le metriche vengono riportate come valori numerici float64 :
Attributi per segmentazione
È possibile filtrare i risultati in base agli attributi. In questa guida, esamineremo alcuni esempi generali e quelli specifici di IBM Cloud Object Storage.
Attributi globali
I seguenti attributi sono disponibili per la segmentazione di tutte le metriche sopra elencate
| Attributo | Nome attributo | Descrizione attributo |
|---|---|---|
Cloud Type |
ibm_ctype |
pubblico, dedicato o locale |
Location |
ibm_location |
L'ubicazione della risorsa monitorata. Può essere un bucket Cross Region, Regional o Single Site. |
Resource |
ibm_resource |
Nome bucket COS |
Resource Type |
ibm_resource_type |
Bucket COS |
Scope |
ibm_scope |
L'ambito è l'account associato a questa metrica. |
Service name |
ibm_service_name |
cloud-object-storage |
Attributi aggiuntivi
I seguenti attributi sono disponibili per la segmentazione di uno o più attributi come descritto nel precedente riferimento. Vedi le singole metriche per le opzioni di segmentazione.
| Attributo | Nome attributo | Descrizione attributo |
|---|---|---|
IBM COS Bucket storage class |
ibm_cos_bucket_storage_class |
Classe di archiviazione del bucket |
Service instance |
ibm_service_instance |
Il segmento dell'istanza del servizio identifica la guida dell'istanza a cui è associata la metrica. |