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.

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)

  1. 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.
  2. Elija el grupo para el que desea actualizar.
  3. Vaya a la pestaña de configuración.
  4. 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.
  5. Haga clic en la esquina superior derecha del panel y seleccione actualizar.
  6. 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_bytes
  • ibm_cos_bucket_object_count
  • ibm_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_requests
  • ibm_cos_bucket_get_requests
  • ibm_cos_bucket_put_requests
  • ibm_cos_bucket_delete_requests
  • ibm_cos_bucket_post_requests
  • ibm_cos_bucket_list_requests
  • ibm_cos_bucket_head_requests

También se recopilan errores, con errores del lado del servidor (5xx) desglosados:

  • ibm_cos_bucket_4xx_errors
  • ibm_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_min
  • ibm_cos_bucket_bytes_download_public_max
  • ibm_cos_bucket_bytes_download_public_avg
  • ibm_cos_bucket_bytes_download_private_min
  • ibm_cos_bucket_bytes_download_private_max
  • ibm_cos_bucket_bytes_download_private_avg
  • ibm_cos_bucket_bytes_download_direct_min
  • ibm_cos_bucket_bytes_download_direct_max
  • ibm_cos_bucket_bytes_download_direct_avg
  • ibm_cos_bucket_bytes_upload_public_min
  • ibm_cos_bucket_bytes_upload_public_max
  • ibm_cos_bucket_bytes_upload_public_avg
  • ibm_cos_bucket_bytes_upload_private_min
  • ibm_cos_bucket_bytes_upload_private_max
  • ibm_cos_bucket_bytes_upload_private_avg
  • ibm_cos_bucket_bytes_upload_direct_min
  • ibm_cos_bucket_bytes_upload_direct_max
  • ibm_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_min
  • ibm_cos_bucket_first_byte_latency_read_max
  • ibm_cos_bucket_first_byte_latency_read_avg
  • ibm_cos_bucket_first_byte_latency_write_min
  • ibm_cos_bucket_first_byte_latency_write_max
  • ibm_cos_bucket_first_byte_latency_write_avg
  • ibm_cos_bucket_first_byte_latency_misc_min
  • ibm_cos_bucket_first_byte_latency_misc_max
  • ibm_cos_bucket_first_byte_latency_misc_avg
  • ibm_cos_bucket_request_latency_read_min
  • ibm_cos_bucket_request_latency_read_max
  • ibm_cos_bucket_request_latency_read_avg
  • ibm_cos_bucket_request_latency_write_min
  • ibm_cos_bucket_request_latency_write_max
  • ibm_cos_bucket_request_latency_write_avg
  • ibm_cos_bucket_request_latency_misc_min
  • ibm_cos_bucket_request_latency_misc_max
  • ibm_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

Tabla 4: Atributos globales de IBM
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.

Tabla 5: Atributos específicos de COS
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.