Configurar métricas para IBM Cloud® Object Storage

Use o serviço IBM Cloud® Monitoring para monitorar seus dados do IBM Cloud® Object Storage. O IBM Cloud Monitoring é um sistema de gerenciamento nativo de cloud As métricas produzidas por seus depósitos COS podem ser exibidas em painéis construídos no IBM Monitoring. A documentação do Monitoring pode guiá-lo sobre como usar os painéis abrangentes. Além disso, especifica as condições quando um alerta de métricas é acionado para configurar notificações quando limites customizados são excedidos.

Quando o monitoramento de métricas é ativado em seu depósito, o serviço de destino padrão que captura essas métricas é IBM Cloud Monitoring. Assegure-se de que você tenha uma instância de plataforma do IBM Cloud Monitoring no local de recebimento correspondente ao seu local do depósito, conforme especificado no COS Service Integration

Como alternativa, use as regras do IBM Cloud Metrics Routing para enviar métricas para outros serviços de destino ou para instâncias do IBM Cloud Monitoring em locais diferentes do local do depósito.

Ative o monitoramento de métricas em seu depósito por meio da IBM Cloud® Object Storage API de configuração de recurso ou por meio da IU diretamente. Isso é feito durante o fornecimento do depósito ou posteriormente atualizando a configuração do depósito.

O IBM COS suporta a ativação do rastreamento de métricas nos tipos de métricas a seguir:

  • Métricas de uso-são métricas relacionadas ao uso geral de seu depósito do COS, como armazenamento total consumido em bytes.
  • Métricas de solicitação-As métricas relatam as contas para determinados tipos de solicitações de API feitas em seu depósito

Consulte a seção de detalhes de métricas IBM Cloud® Object Storage abaixo para obter a lista completa de métricas enviadas para o IBM Monitoring.

Esse recurso não é suportado atualmente no Object Storage para o Satellite

Esse recurso suporta SCC Monitoring.

As métricas do IBM Cloud® Object Storage podem ser consumidas apenas por instâncias da plataforma do IBM Monitoring. Se uma instância de plataforma não existir no local de recebimento final, assegure-se de que uma seja criada..

Rotear métricas com o roteamento de métricas do IBM Cloud

Use o IBM Cloud® Metrics Routing para rotear métricas para seus depósitos do IBM Cloud® Object Storage para locais diferentes do local do depósito ou para outros serviços de destino. É possível usar o Metrics Routing, um serviço de plataforma, para gerenciar destinos e rotas que definem para onde os dados de métricas são roteados.

Ao ativar o monitoramento em seus depósitos do IBM Cloud® Object Storage, as métricas são enviadas para um local de recebimento padrão, conforme definido em Integração de serviço COS. Deve-se ter uma instância do IBM Monitoring neste local ou configurar uma regra de roteamento para outro local com uma instância do Monitoring para assegurar que as métricas sejam recebidas.

Consulte Introdução ao IBM Cloud Metrics Routing para obter mais informações.

Configure as métricas em seu depósito do IBM Cloud® Object Storage (recomendado)

Ative o rastreamento de métricas em seu depósito do IBM Cloud® Object Storage no momento do fornecimento do depósito ou atualizando a configuração do depósito após a criação do depósito. O monitoramento de métricas se aplicará apenas às métricas do IBM Cloud® Object Storage produzidas após a ativação.

Consulte o IBM Cloud® Object Storage Detalhes de métricas para ver a lista completa de métricas de Uso e Solicitação disponíveis para rastreamento.

Use a IBM Cloud® Object Storage API de configuração de recurso para configurar o rastreamento dessas métricas para seu depósito.

Quando o rastreamento de métricas é ativado, todas as métricas são enviadas para o local de recebimento padrão para o IBM Cloud Metrics Router com base no local do depósito. Consulte IBM Cloud® Object Storage Integração de Serviço para ver esse mapeamento padrão.. Use as regras do Metrics Router para rotear métricas para um local diferente do local do depósito ou para outro serviço de destino. Consulte Gerenciando rotas para obter mais informações.

Configure as métricas em seu depósito do IBM Cloud® Object Storage (anterior)

Ative o IBM Metrics Monitoring em seu depósito IBM Cloud® Object Storage especificando o CRN de destino da instância de Monitoramento na API de configuração de recursos IBM Cloud® Object Storage. Especifique o CRN para definir a rota para métricas do COS.

O IBM Cloud Metrics Routing é a maneira padronizada para os clientes gerenciarem o roteamento de dados de observabilidade da plataforma. Configurações de roteamento específicas do serviço como IBM Cloud® Object Storage estão sendo descontinuadas.

É recomendado que os clientes removam essas configurações de roteamento anteriores (faça isso um link para a seção de upgrade abaixo) que usam CRNs e, em vez disso, usam o serviço do IBM Metrics Router para rotear métricas para outros locais.

IBM Cloud® Object Storage continuará a suportar configurações anteriores nas quais foi especificado um CRN diferente do local padrão.

Fazendo upgrade do Legacy para o Recommended Metrics Monitoring no depósito do COS:

Para fazer upgrade da configuração anterior usando a API de Configuração de recurso, remova o CRN da instância de Monitoramento de métricas de destino. As métricas agora serão roteadas para o local de recebimento do Metrics Router padrão, conforme descrito em Integração de serviço COS. Provisione uma instância do Monitoring neste local ou defina uma regra de roteamento antes do upgrade para assegurar que não haja interrupção no monitoramento de métricas.

Exemplo de correção para transição da configuração de rastreamento de eventos anterior para recomendado em seu depósito do COS

Selecione a guia UI, API ou Terraform na parte superior deste tópico para ver exemplos de correções.

Correção de exemplo de IU para transição da configuração de rastreamento de eventos anterior para recomendado em seu depósito do COS

Exemplo de correção para transição da configuração de monitoramento de métricas anteriores para recomendadas em seu depósito do IBM Cloud® Object Storage (SDK, RC API, UI, Terraform)

  1. Na lista de recursos do console do IBM Cloud, selecione a instância de serviço que contém o depósito que você deseja fazer upgrade para a configuração de monitoramento de métricas recomendada. Isso o leva ao Object Storage Console.
  2. Escolha o depósito para o qual você deseja fazer upgrade
  3. Navegue para a guia de configuração
  4. Role até a seção de configuração avançada e localize o painel de configuração para o monitoramento de métricas.
  5. Clique no canto superior direito do painel e selecione atualizar.
  6. Confirme que você gostaria de fazer upgrade do monitoramento de métricas para esse depósito

Exemplos

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 do 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()

Python SDK

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 do 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)

Exemplo

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

Detalhes de métricas do Cloud Object Storage

Métricas de uso

Há um conjunto de métricas básicas que controlam o uso:

  • ibm_cos_bucket_used_bytes
  • ibm_cos_bucket_object_count
  • ibm_cos_bucket_hard_quota_bytes

Métricas de pedido

Há métricas que relatam os agregados para diferentes classes de pedidos 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

Erros também são coletados, com erros do lado do servidor (5xx) quebrados:

  • ibm_cos_bucket_4xx_errors
  • ibm_cos_bucket_5xx_errors

Os bytes mínimo, máximo e médio transferidos por tipo de rede são relatados:

  • 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

As métricas de latência (primeiro byte e geral) para solicitações são divididas por tipo de solicitação:

  • 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 as métricas são relatadas como valores numéricos float64 :

Atributos para segmentação

É possível filtrar seus resultados por atributos.. Neste guia, veremos alguns exemplos gerais, bem como aqueles específicos para IBM Cloud Object Storage.

Atributos globais

Os atributos a seguir estão disponíveis para segmentar todas as métricas listadas acima

Tabela 4: IBM atributos globais
Atributo Nome do atributo Descrição do atributo
Cloud Type ibm_ctype público, dedicado ou local
Location ibm_location O local do recurso monitorado. Isso pode ser um depósito de região cruzada, regional ou de site único.
Resource ibm_resource Nome do bucket do COS
Resource Type ibm_resource_type Depósito do COS
Scope ibm_scope O escopo é a conta associada a essa métrica
Service name ibm_service_name cloud-object-storage

Atributos adicionais

Os atributos a seguir estão disponíveis para segmentar um ou mais atributos, conforme descrito na referência acima. Consulte as métricas individuais para obter opções de segmentação.

Tabela 5: atributos específicos do COS
Atributo Nome do atributo Descrição do atributo
IBM COS Bucket storage class ibm_cos_bucket_storage_class Classe de armazenamento do depósito
Service instance ibm_service_instance O segmento da instância de serviço identifica o guia da instância à qual a métrica está associada.