Metriken konfigurieren für IBM Cloud® Object Storage
Verwenden Sie den Service IBM Cloud® Monitoring zum Überwachen Ihrer IBM Cloud® Object Storage-Daten. IBM Cloud Monitoring ist ein cloudnatives Managementsystem. Die von Ihren COS-Buckets generierten Metriken können in in IBM Monitoring integrierten Dashboards angezeigt werden. Die Dokumentation von Monitoring kann Sie bei der Verwendung der umfassenden Dashboards unterstützen. Außerdem geben Sie die Bedingungen an, unter denen ein Metrikalert ausgelöst wird, um Benachrichtigungen festzulegen, wenn angepasste Schwellenwerte überschritten werden.
Wenn die Metriküberwachung für Ihr Bucket aktiviert ist, ist der Standardzielservice, der diese Metriken erfasst, IBM Cloud Monitoring. Stellen Sie sicher, dass Sie über eine Plattforminstanz von IBM Cloud Monitoring am empfangenden Standort verfügen, die Ihrem Bucketstandort entspricht, wie in COS Service Integration angegeben.
Alternativ können Sie IBM Cloud Metrics Routing-Regeln verwenden, um Metriken an andere Zielservices oder an IBM Cloud Monitoring-Instanzen an anderen Positionen als der Bucketposition zu senden.
Aktivieren Sie die Metriküberwachung für Ihr Bucket über die IBM Cloud® Object Storage-Ressourcenkonfigurations-API oder direkt über die Benutzerschnittstelle. Dies geschieht während der Bucketbereitstellung oder danach durch Aktualisieren der Bucketkonfiguration.
IBM COS unterstützt die Aktivierung der Metriküberwachung für die folgenden Metriktypen:
- Nutzungsmetriken-Dies sind Metriken, die sich auf die Gesamtnutzung Ihres COS-Buckets beziehen, z. B. den gesamten belegten Speicher in Byte.
- Request Metrics-Die Metriken dokumentieren die Anzahl für bestimmte Typen von API-Anforderungen, die an Ihr Bucket gesendet wurden.
Die vollständige Liste der Metriken, die an IBM Monitoring gesendet werden, finden Sie unten im Abschnitt IBM Cloud® Object Storage-Metrikdetails.
Diese Funktion wird derzeit nicht in Object Storage for Satellite unterstützt.
Dieses Feature unterstützt die SCC-Überwachung.
IBM Cloud® Object Storage-Metriken können nur von IBM Monitoring-Plattforminstanzen verarbeitet werden. Wenn eine Plattforminstanz an der endgültigen Empfängerposition nicht vorhanden ist, stellen Sie sicher, dass eine erstellt wird.
Route Metrics mit IBM Cloud Metrics Routing
Verwenden Sie IBM Cloud® Metrics Routing, um Metriken für Ihre IBM Cloud® Object Storage-Buckets an andere Positionen als die Bucketposition oder an andere Zielservices weiterzuleiten. Sie können Metrics Routing, einen Plattformservice, verwenden, um Ziele und Routen zu verwalten, die definieren, wohin Metrikdaten weitergeleitet werden.
Wenn Sie die Überwachung für Ihre IBM Cloud® Object Storage-Buckets aktivieren, werden Metriken an eine Standardempfangsposition gesendet, die in COS-Serviceintegration definiert ist. Sie müssen eine Instanz von IBM Monitoring an dieser Position haben oder eine Routing-Regel für eine andere Position mit einer Überwachungsinstanz konfigurieren, um sicherzustellen, dass Metriken empfangen werden.
Weitere Informationen finden Sie unter Einführung in IBM Cloud Metrics Routing.
Metriken für IBM Cloud® Object Storage-Bucket konfigurieren (empfohlen)
Aktivieren Sie die Metriküberwachung für Ihr IBM Cloud® Object Storage-Bucket zum Zeitpunkt der Bucketbereitstellung oder durch Aktualisieren der Bucketkonfiguration nach der Bucketerstellung. Die Metriküberwachung gilt nur für IBM Cloud® Object Storage-Metriken, die nach der Aktivierung erzeugt wurden.
Die vollständige Liste der für die Überwachung verfügbaren Nutzungs-und Anforderungsmetriken finden Sie unter IBM Cloud® Object Storage Metrics Details.
Verwenden Sie die IBM Cloud® Object Storage-Ressourcenkonfigurations-API, um die Verfolgung dieser Metriken für Ihr Bucket zu konfigurieren.
Wenn die Metriküberwachung aktiviert ist, werden alle Metriken basierend auf der Position des Buckets an die Standardempfangsposition für IBM Cloud Metrics Router gesendet. Diese Standardzuordnung finden Sie unter IBM Cloud® Object Storage Service Integration. Verwenden Sie Metrik-Router-Regeln, um Metriken an eine andere Position als die Bucketposition oder an einen anderen Zielservice weiterzuleiten. Weitere Informationen finden Sie unter Routen verwalten.
Konfigurieren von Metriken für IBM Cloud® Object Storage (empfohlen)
Wählen Sie die Registerkarte 'Benutzerschnittstelle', 'API' oder 'Terraform' oben in diesem Abschnitt aus, um die Beispiele anzuzeigen, die zeigen, wie die Metriküberwachung für die Überwachung von Nutzungs-und Anforderungsmetriken in Ihrem Bucket konfiguriert wird.
Benutzerschnittstellenbeispiel für die Konfiguration der Metriküberwachung für Ihr Bucket
- Wählen Sie in der Ressourcenliste der IBM Cloud-Konsole die Serviceinstanz aus, die das Bucket enthält, für das Sie die Metriküberwachung hinzufügen möchten. Daraufhin wird die Object Storage-Konsole aufgerufen
- Wählen Sie das Bucket aus, für das Sie die Überwachung aktivieren wollen.
- Navigieren Sie zur Registerkarte 'Konfiguration'.
- Blättern Sie abwärts zum Abschnitt für die erweiterte Konfiguration und aktivieren Sie die Metriken, die Sie für dieses Bucket überwachen wollen.
- Nach einigen Minuten sind alle Aktivitäten in der Webbenutzerschnittstelle von IBM Cloud Monitoring sichtbar.
Beispiele
Java-SDK
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());
}
}
NodeJS SDK
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()
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':
{
'request_metrics_enabled':True,
'usage_metrics_enabled':True
}
}
client.update_bucket_config(bucket_name, bucket_patch=metrics_monitoring_config
Go-SDK
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)
Beispiel
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
}
}
Metriken für Ihr IBM Cloud® Object Storage-Bucket konfigurieren (traditionell)
Aktivieren Sie IBM Metrics Monitoring für Ihr IBM Cloud® Object Storage-Bucket, indem Sie den Ziel-CRN der Überwachungsinstanz in der Ressourcenkonfigurations-API von IBM Cloud® Object Storage angeben. Geben Sie den CRN an, um die Route für COS-Metriken zu definieren.
IBM Cloud Metrics Routing ist die standardisierte Methode für Kunden, das Routing von Plattformbeobachtbarkeitsdaten zu verwalten. Servicespezifische Routing-Konfigurationen wie IBM Cloud® Object Storage werden nicht mehr verwendet.
Es wird empfohlen, dass Kunden diese traditionellen Routing-Konfigurationen (machen Sie diesen Link zum Upgrade-Abschnitt unten) entfernen, die CRNs verwenden und stattdessen den IBM Metrics Router-Service verwenden, um Metriken an andere Positionen weiterzuleiten.
IBM Cloud® Object Storage unterstützt weiterhin traditionelle Konfigurationen, bei denen ein CRN angegeben wurde, der von der Standardposition abweicht.
Upgrade von Legacy auf die empfohlene Metriküberwachung in Ihrem COS-Bucket durchführen:
Wenn Sie ein Upgrade von der traditionellen Konfiguration mithilfe der Ressourcenkonfigurations-API durchführen möchten, entfernen Sie die CRN der Zielmetriküberwachungsinstanz. Die Metriken werden jetzt an die Standardempfangsposition des Metrik-Routers weitergeleitet, wie in COS-Serviceintegration beschrieben. Stellen Sie an dieser Position eine Überwachungsinstanz bereit oder definieren Sie vor dem Upgrade eine Routing-Regel, um sicherzustellen, dass die Metriküberwachung nicht unterbrochen wird.
Beispielpatch für den Übergang von der Konfiguration für die traditionelle Ereignisüberwachung zur Konfiguration für die empfohlene Ereignisüberwachung in Ihrem COS-Bucket
Wählen Sie die Registerkarte für Benutzerschnittstelle, API oder Terraform oben in diesem Abschnitt aus, um Beispiele für Patchs anzuzeigen.
Beispiel-Patch für die Benutzerschnittstelle für den Übergang von der Konfiguration der traditionellen Ereignisüberwachung zur Konfiguration der Ereignisüberwachung 'Empfohlen' in Ihrem COS-Bucket
Beispielpatch für den Übergang von der Konfiguration der traditionellen Metriküberwachung zur Konfiguration der Metrikempfehlung in Ihrem IBM Cloud® Object Storage-Bucket (SDK, RC-API, Benutzerschnittstelle, Terraform)
- Wählen Sie in der Ressourcenliste der IBM Cloud-Konsole die Serviceinstanz aus, die das Bucket enthält, für das ein Upgrade auf die empfohlene Metriküberwachungskonfiguration durchgeführt werden soll. Daraufhin wird die Object Storage-Konsole aufgerufen.
- Wählen Sie das Bucket aus, für das Sie ein Upgrade durchführen wollen.
- Navigieren Sie zur Registerkarte 'Konfiguration'.
- Blättern Sie abwärts zum Abschnitt für die erweiterte Konfiguration und suchen Sie die Konfigurationsanzeige für die Metriküberwachung.
- Klicken Sie auf die rechte obere Ecke der Anzeige und wählen Sie Upgrade aus.
- Bestätigen Sie, dass Sie die Metriküberwachung für dieses Bucket aktualisieren möchten.
Beispiele
Java-SDK
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());
}
}
NodeJS SDK
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
Go-SDK
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)
Beispiel
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::"
}
}
Details zu Metriken für Cloud Object Storage
Nutzungsmetriken
Es gibt eine Gruppe von Basismetriken, die die Nutzung verfolgen:
ibm_cos_bucket_used_bytesibm_cos_bucket_object_countibm_cos_bucket_hard_quota_bytes
Anforderungsmetriken
Es gibt Metriken, die die Aggregate für unterschiedliche Klassen von HTTP-Anforderungen melden:
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
Es werden auch Fehler erfasst, wobei serverseitige Fehler (5xx) aufgegliedert werden:
ibm_cos_bucket_4xx_errorsibm_cos_bucket_5xx_errors
Die Mindest-, Maximal-und Durchschnittsbyte, die nach Netztyp übertragen werden, werden gemeldet:
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
Latenzmetriken (erstes Byte und allgemein) für Anforderungen werden nach Anforderungstyp aufgegliedert:
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
Alle Metriken werden als numerische float64-Werte gemeldet:
Attribute für Segmentierung
Sie können Ihre Ergebnisse nach Attributen filtern. In diesem Handbuch werden einige allgemeine Beispiele sowie Beispiele für IBM Cloud Object Storageaufgeführt.
Globale Attribute
Die folgenden Attribute sind für die Segmentierung aller oben aufgelisteten Metriken verfügbar.
| Attribut | Attributname | Attributbeschreibung |
|---|---|---|
Cloud Type |
ibm_ctype |
Öffentlich, dediziert oder lokal |
Location |
ibm_location |
Die Position der überwachten Ressource. Hierbei kann es sich um ein regionsübergreifendes Bucket, ein regionales Bucket oder ein Bucket für eine einzelne Site handeln. |
Resource |
ibm_resource |
Name des COS-Buckets |
Resource Type |
ibm_resource_type |
COS-Bucket |
Scope |
ibm_scope |
Der Bereich ist der Account, der dieser Metrik zugeordnet ist. |
Service name |
ibm_service_name |
Cloud Object Storage |
Zusätzliche Attribute
Die folgenden Attribute sind für die Segmentierung verschiedener Attribute, wie oben beschrieben, verfügbar. Informieren Sie sich anhand der Angaben zu den einzelnen Metriken über die genauen Segmentierungsoptionen.
| Attribut | Attributname | Attributbeschreibung |
|---|---|---|
IBM COS Bucket storage class |
ibm_cos_bucket_storage_class |
Speicherklasse des Buckets |
Service instance |
ibm_service_instance |
Das Serviceinstanzsegment gibt den Leitfaden der Instanz an, der der Messwert zugeordnet ist. |