Configurer les métriques pour IBM Cloud® Object Storage

Utilisez le service IBM Cloud® Monitoring pour surveiller vos données IBM Cloud® Object Storage. IBM Cloud Monitoring est un système de gestion natif du cloud. Les métriques produites par vos compartiments COS peuvent être affichées dans des tableaux de bord générés dans IBM Monitoring. La documentation de Monitoring peut vous aider à utiliser les tableaux de bord complets. En outre, spécifiez les conditions lorsqu'une alerte de métrique est déclenchée pour définir des notifications lorsque des seuils personnalisés sont dépassés.

Lorsque la surveillance des métriques est activée sur votre compartiment, le service cible par défaut qui capture ces métriques est IBM Cloud Monitoring. Vérifiez que vous disposez d'une instance de plateforme d' IBM Cloud Monitoring à l'emplacement de réception correspondant à votre emplacement de compartiment, comme indiqué dans COS Service Integration.

Vous pouvez également utiliser les règles IBM Cloud Metrics Routing pour envoyer des métriques à d'autres services cible ou à des instances IBM Cloud Monitoring dans des emplacements autres que l'emplacement du compartiment.

Activez la surveillance des métriques sur votre compartiment via l'API de configuration des ressourcesIBM Cloud® Object Storage ou via l'interface utilisateur directement. Cette opération est effectuée lors de la mise à disposition du compartiment ou par la suite en mettant à jour la configuration du compartiment.

IBM COS prend en charge le suivi des métriques sur les types de métrique suivants:

  • Métriques d'utilisation-Il s'agit de métriques liées à l'utilisation globale de votre compartiment COS, telles que le stockage total consommé en octets.
  • Request Metrics-Les métriques indiquent les nombres de certains types de demandes d'API effectuées dans votre compartiment

Pour obtenir la liste complète des métriques envoyées à IBM Monitoring, voir la section IBM Cloud® Object Storage ci-dessous.

Cette fonction n'est actuellement pas prise en charge dans Object Storage for Satellite.

Cette fonction prend en charge la surveillance SCC.

Les métriques IBM Cloud® Object Storage ne peuvent être consommées que par les instances de plateforme IBM Monitoring. Si une instance de plateforme n'existe pas à l'emplacement de réception final, assurez-vous qu'une instance est créée.

Métriques de route avec le routage des métriques IBM Cloud

Utilisez IBM Cloud® Metrics Routing pour router les métriques de vos compartiments IBM Cloud® Object Storage vers des emplacements différents de l'emplacement de compartiment ou vers d'autres services cible. Vous pouvez utiliser Metrics Routing, un service de plateforme, pour gérer les cibles et les routes qui définissent où les données de métriques sont acheminées.

Lors de l'activation de la surveillance sur vos compartiments IBM Cloud® Object Storage, les métriques sont envoyées à un emplacement de réception par défaut, comme défini dans COS Service Integration. Vous devez disposer d'une instance d' IBM Monitoring à cet emplacement ou configurer une règle de routage vers un autre emplacement avec une instance de surveillance pour vous assurer que les métriques sont reçues.

Pour plus d'informations, voir Initiation à IBM Cloud Metrics Routing.

Configurer les métriques sur votre compartiment IBM Cloud® Object Storage (recommandé)

Activez le suivi des métriques sur votre compartiment IBM Cloud® Object Storage au moment de la mise à disposition du compartiment ou en mettant à jour la configuration du compartiment après la création du compartiment. La surveillance des métriques ne s'appliquera qu'aux métriques IBM Cloud® Object Storage générées après l'activation.

Voir IBM Cloud® Object Storage Metrics Details pour voir la liste complète des métriques d'utilisation et de demande disponibles pour le suivi.

Utilisez l'API de configuration des ressourcesIBM Cloud® Object Storage pour configurer le suivi de ces métriques pour votre compartiment.

Lorsque le suivi des métriques est activé, toutes les métriques sont envoyées à l'emplacement de réception par défaut d' IBM Cloud Metrics Router en fonction de l'emplacement du compartiment. Pour voir ce mappage par défaut, voir IBM Cloud® Object Storage Service Integration. Utilisez les règles du routeur de métriques pour acheminer les métriques vers un emplacement autre que l'emplacement du compartiment ou vers un autre service cible. Pour plus d'informations, voir Gestion des routes.

Configurez les métriques sur votre compartiment IBM Cloud® Object Storage (existant)

Activez IBM Metrics Monitoring sur votre compartiment IBM Cloud® Object Storage en spécifiant le CRN cible de l'instance de surveillance dans l'API de configuration des ressources IBM Cloud® Object Storage. Spécifiez le CRN pour définir la route pour les métriques COS.

IBM Cloud Metrics Routing est la méthode standardisée utilisée par les clients pour gérer le routage des données d'observabilité de la plateforme. Les configurations de routage spécifiques aux services telles que IBM Cloud® Object Storage sont obsolètes.

Il est recommandé aux clients de supprimer ces configurations de routage existantes (en faisant un lien vers la section de mise à niveau ci-dessous) qui utilisent des noms CRN et d'utiliser à la place le service IBM Metrics Router pour acheminer les métriques vers d'autres emplacements.

IBM Cloud® Object Storage continuera à prendre en charge les configurations existantes dans lesquelles un CRN différent de l'emplacement par défaut a été spécifié.

Mise à niveau de l'application Legacy vers l'application Recommended Metrics Monitoring sur votre compartiment COS:

Pour effectuer une mise à niveau à partir de la configuration existante à l'aide de l'API de configuration des ressources, supprimez le CRN de l'instance Metrics Monitoring cible. Metrics va maintenant être acheminé vers l'emplacement de réception par défaut de Metrics Router, comme décrit dans COS Service Integration. Mettez à disposition une instance de surveillance à cet emplacement ou définissez une règle de routage avant la mise à niveau pour vous assurer qu'il n'y a pas d'interruption dans la surveillance des métriques.

Exemple de correctif pour la transition de la configuration de suivi d'événement Legacy to Recommend sur votre compartiment COS

Sélectionnez l'onglet UI, API ou Terraform dans la partie supérieure de cette rubrique pour afficher des exemples de correctifs.

Exemple de correctif d'interface utilisateur pour la transition de la configuration de suivi d'événement Legacy to Recommend sur votre compartiment COS

Exemple de correctif pour la transition de la configuration de surveillance des métriques Legacy to Recommend sur votre compartiment IBM Cloud® Object Storage (SDK, API RC, UI, Terraform)

  1. Dans la liste des ressources de la console IBM Cloud, sélectionnez l'instance de service qui contient le compartiment que vous souhaitez mettre à niveau vers la configuration de surveillance des métriques recommandée. Vous accédez alors à la console Object Storage.
  2. Choisissez le compartiment pour lequel vous souhaitez effectuer la mise à niveau.
  3. Accédez à l'onglet de configuration.
  4. Faites défiler vers le bas jusqu'à la section de configuration avancée et localisez le panneau de configuration pour la surveillance des métriques.
  5. Cliquez sur le coin supérieur droit du panneau et sélectionnez la mise à niveau.
  6. Confirmez que vous souhaitez mettre à niveau la surveillance des métriques pour ce compartiment.

Exemples

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)

Example

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

Détails des métriques Cloud Object Storage

Métriques d'utilisation

Il existe un ensemble de métriques de base qui assurent le suivi de l'utilisation:

  • ibm_cos_bucket_used_bytes
  • ibm_cos_bucket_object_count
  • ibm_cos_bucket_hard_quota_bytes

Métriques des demandes

Il existe des métriques qui signalent les agrégats pour différentes classes de demandes 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

Les erreurs sont également collectées, avec des erreurs côté serveur (5xx) réparties comme suit:

  • ibm_cos_bucket_4xx_errors
  • ibm_cos_bucket_5xx_errors

Les octets minimum, maximum et moyen transférés par type de réseau sont signalés:

  • 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

Les mesures de temps d'attente (premier octet et général) pour les demandes sont ventilées par type de demande:

  • 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

Toutes les métriques sont signalées sous forme de valeurs numériques float64 :

Attributs de segmentation

Vous pouvez filtrer vos résultats par attributs. Dans ce guide, nous allons examiner quelques exemples généraux ainsi que ceux spécifiques à IBM Cloud Object Storage.

Attributs globaux

Les attributs suivants sont disponibles pour la segmentation de toutes les métriques répertoriées ci-dessus

Tableau 4: IBM
Attribut Nom d'attribut Description de l'attribut
Cloud Type ibm_ctype public, dédié ou local
Location ibm_location Emplacement de la ressource surveillée. Il peut s'agir d'un compartiment interrégional, régional ou à site unique.
Resource ibm_resource Nom de compartiment COS
Resource Type ibm_resource_type Compartiment COS
Scope ibm_scope La portée est le compte associé à cet indicateur.
Service name ibm_service_name stockage-objets-cloud

Attributs supplémentaires

Les attributs suivants sont utilisables pour segmenter un ou plusieurs des attributs décrits plus haut. Pour les options de segmentation, voir la description de la métrique considérée.

Tableau 5: Attributs spécifiques à COS
Attribut Nom d'attribut Description de l'attribut
IBM COS Bucket storage class ibm_cos_bucket_storage_class Classe de stockage du compartiment
Service instance ibm_service_instance Le segment d'instance de service identifie le guide de l'instance à laquelle la métrique est associée.