Configurar métricas para IBM Cloud® Object Storage
Utilice el servicio IBM Cloud® Monitoring para supervisar los datos de IBM Cloud® Object Storage. IBM Cloud Monitoring es un sistema de gestión nativo en la nube. Las métricas producidas por los grupos de COS se pueden visualizar en los paneles de instrumentos creados en IBM Monitoring. La documentación de Monitoring puede guiarle en cómo utilizar los paneles de control completos. Además, especifique las condiciones cuando se desencadene una alerta de métrica para establecer notificaciones cuando se superen los umbrales personalizados.
Cuando la supervisión de métricas está habilitada en el grupo, el servicio de destino predeterminado que captura estas métricas es IBM Cloud Monitoring. Asegúrese de que tiene una instancia de plataforma de IBM Cloud Monitoring en la ubicación de recepción correspondiente a la ubicación del grupo tal como se especifica en COS Service Integration.
De forma alternativa, utilice las reglas de IBM Cloud Metrics Routing para enviar métricas a otros servicios de destino o a instancias de IBM Cloud Monitoring en ubicaciones que no sean la ubicación del grupo.
Habilite la supervisión de métricas en el grupo a través de la API de configuración de recursos deIBM Cloud® Object Storage o a través de la interfaz de usuario directamente. Esto se realiza durante el suministro de grupo o posteriormente actualizando la configuración de grupo.
IBM COS da soporte a la habilitación del seguimiento de métricas en los siguientes tipos de métricas:
- Medidas de uso-Son medidas relacionadas con el uso global del grupo de COS como, por ejemplo, el almacenamiento total consumido en bytes.
- Request Metrics-Las métricas informan de los recuentos para determinados tipos de solicitudes de API realizadas a su grupo
Consulte la sección de detalles de métricas de IBM Cloud® Object Storage a continuación para ver la lista completa de métricas enviadas a IBM Monitoring.
Esta característica no está soportada actualmente en Object Storage para Satellite.
Esta característica da soporte a la supervisión de SCC.
Las métricas de IBM Cloud® Object Storage sólo las pueden consumir las instancias de la plataforma IBM Monitoring. Si no existe una instancia de plataforma en la ubicación de recepción final, asegúrese de que se haya creado una.
Métricas de ruta con direccionamiento de métricas de IBM Cloud
Utilice IBM Cloud® Metrics Routing para direccionar métricas para los grupos de IBM Cloud® Object Storage a ubicaciones distintas de la ubicación del grupo o a otros servicios de destino. Puede utilizar Metrics Routing, un servicio de plataforma, para gestionar destinos y rutas que definen dónde se direccionan los datos de métricas.
Al habilitar la supervisión en los grupos de IBM Cloud® Object Storage, las métricas se envían a una ubicación de recepción predeterminada tal como se define en Integración de servicios COS. Debe tener una instancia de IBM Monitoring en esta ubicación o configurar una regla de direccionamiento en otra ubicación con una instancia de supervisión, para asegurarse de que se reciben las métricas.
Consulte Iniciación a IBM Cloud Metrics Routing para obtener más información.
Configurar métricas en el grupo IBM Cloud® Object Storage (recomendado)
Habilite el seguimiento de métricas en el grupo IBM Cloud® Object Storage en el momento del suministro del grupo o actualizando la configuración del grupo después de la creación del grupo. La supervisión de métricas solo se aplicará a las métricas de IBM Cloud® Object Storage producidas después de la habilitación.
Consulte IBM Cloud® Object Storage Detalles de métricas para ver la lista completa de métricas de uso y solicitud disponibles para el seguimiento.
Utilice la API de configuración de recursosIBM Cloud® Object Storage para configurar el seguimiento de estas métricas para el grupo.
Cuando el seguimiento de métricas está habilitado, todas las métricas se envían a la ubicación de recepción predeterminada para IBM Cloud Metrics Router en función de la ubicación del grupo. Consulte Integración de servicios deIBM Cloud® Object Storage para ver esta correlación predeterminada. Utilice las reglas de direccionador de métricas para direccionar las métricas a una ubicación distinta de la ubicación del grupo o a otro servicio de destino. Consulte Gestión de rutas para obtener más información.
Cómo configurar Métricas para IBM Cloud® Object Storage (Recomendado)
Seleccione el separador IU, API o Terraform en la parte superior de este tema para visualizar los ejemplos que muestran cómo configurar la supervisión de métricas para realizar un seguimiento de las métricas de uso y de solicitud en el grupo.
Ejemplo de interfaz de usuario para configurar Metrics Monitoring en el grupo
- En la lista de recursos de la consola de IBM Cloud, seleccione la instancia de servicio que contiene el grupo que le interesa para añadir la supervisión de métricas. Esto le lleva a la consola de Object Storage
- Elija el grupo para el que desea habilitar la supervisión.
- Vaya a la pestaña de configuración.
- Desplácese hacia abajo hasta la sección de configuración avanzada y active las métricas que desea supervisar para este grupo.
- Después de unos minutos, cualquier actividad estará visible en la interfaz de usuario web de IBM Cloud Monitoring.
Ejemplos
sdk de 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 de 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 de 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 de 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)
Ejemplo
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
}
}
Configurar métricas en el grupo IBM Cloud® Object Storage (heredado)
Habilite IBM Metrics Monitoring en el grupo IBM Cloud® Object Storage especificando el CRN de destino de la instancia de supervisión en la API de configuración de recursos IBM Cloud® Object Storage. Especifique el CRN para definir la ruta para las métricas de COS.
IBM Cloud Metrics Routing es la forma estandarizada para que los clientes gestionen el direccionamiento de los datos de observabilidad de la plataforma. Las configuraciones de direccionamiento específicas de servicio como IBM Cloud® Object Storage están en desuso.
Se recomienda que los clientes eliminen estas configuraciones de direccionamiento heredadas (haga que sea un enlace a la sección de actualización siguiente) que utilicen los CRN y, en su lugar, utilicen el servicio IBM Metrics Router para direccionar las métricas a otras ubicaciones.
IBM Cloud® Object Storage seguirá dando soporte a configuraciones heredadas en las que se ha especificado un CRN que difiere de la ubicación predeterminada.
Actualización de Legacy a Recommended Metrics Monitoring en el grupo de COS:
Para actualizar desde la configuración heredada utilizando la API de configuración de recursos, elimine el CRN de instancia de supervisión de métricas de destino. Ahora las métricas se direccionarán a la ubicación de recepción del direccionador de métricas predeterminada tal como se describe en Integración de servicios COS. Suministre una instancia de supervisión en esta ubicación o defina una regla de direccionamiento antes de actualizar para asegurarse de que no haya ninguna interrupción en la supervisión de métricas.
Parche de ejemplo para la transición de la configuración de seguimiento de sucesos heredada a recomendada en el grupo de COS
Seleccione el separador UI, API o Terraform en la parte superior de este tema para ver ejemplos de parches.
Parche de ejemplo de interfaz de usuario para la transición de la configuración de seguimiento de sucesos heredada a recomendada en el grupo de COS
Parche de ejemplo para la transición de la configuración de supervisión de métricas Legacy a Recommend en el grupo IBM Cloud® Object Storage (SDK, RC API, UI, Terraform)
- En la lista de recursos de la consola de IBM Cloud, seleccione la instancia de servicio que contiene el grupo que desea actualizar a la configuración de supervisión de métricas recomendada. Esto le lleva a la consola de Object Storage.
- Elija el grupo para el que desea actualizar.
- Vaya a la pestaña de configuración.
- Desplácese hacia abajo hasta la sección de configuración avanzada y localice el panel de configuración para la supervisión de métricas.
- Haga clic en la esquina superior derecha del panel y seleccione actualizar.
- Confirme que desea actualizar la supervisión de métricas para este grupo.
Ejemplos
sdk de 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 de 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 de 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 de 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)
Ejemplo
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::"
}
}
Detalles de métricas de Cloud Object Storage
Métricas de uso
Hay un conjunto de métricas básicas que realizan un seguimiento del uso:
ibm_cos_bucket_used_bytesibm_cos_bucket_object_countibm_cos_bucket_hard_quota_bytes
request metrics
Hay métricas que informan de los agregados para distintas clases de solicitudes 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
También se recopilan errores, con errores del lado del servidor (5xx) desglosados:
ibm_cos_bucket_4xx_errorsibm_cos_bucket_5xx_errors
Se informa del número mínimo, máximo y promedio de bytes transferidos por tipo de red:
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
Las métricas de latencia (primer byte y general) para las solicitudes se desglosan por tipo de solicitud:
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
Todas las métricas se notifican como valores numéricos de float64 :
Atributos para la segmentación
Puede filtrar los resultados por atributos. En esta guía, veremos algunos ejemplos generales, así como los específicos de IBM Cloud Object Storage.
Atributos globales
Los atributos siguientes están disponibles para segmentar todas las métricas listadas anteriormente
| Atributo | Nombre de atributo | Descripción de atributo |
|---|---|---|
Cloud Type |
ibm_ctype |
público, dedicado o local |
Location |
ibm_location |
La ubicación del recurso supervisado. Puede ser un grupo de varias regiones, regional o de un solo sitio. |
Resource |
ibm_resource |
Nombre de grupo de COS |
Resource Type |
ibm_resource_type |
Grupo COS |
Scope |
ibm_scope |
El ámbito es la cuenta asociada a esta métrica. |
Service name |
ibm_service_name |
cloud-object-storage |
Atributos adicionales
Los atributos siguientes están disponibles para la segmentación de uno o más atributos, tal y como se describe en la referencia anterior. Consulte las métricas individuales para ver las opciones de segmentación.
| Atributo | Nombre de atributo | Descripción de atributo |
|---|---|---|
IBM COS Bucket storage class |
ibm_cos_bucket_storage_class |
Clase de almacenamiento del grupo |
Service instance |
ibm_service_instance |
El segmento de instancia de servicio identifica la guía de la instancia con la que está asociada la métrica. |