配置 IBM Cloud® Object Storage 的度量值

使用 IBM Cloud® Monitoring 服務來監視 IBM Cloud® Object Storage 資料。 IBM Cloud Monitoring 是雲端原生管理系統。 COS 儲存區所產生的度量值可以顯示在 IBM Monitoring 中建置的儀表板中。 Monitoring 中的說明文件可引導您如何使用綜合性儀表板。 此外,指定觸發度量值警示的條件,以在超出自訂臨界值時設定通知。

在儲存區上啟用度量值監視時,擷取這些度量值的預設目標服務是 IBM Cloud Monitoring。 確保您在對應於 COS Service Integration 中所指定儲存區位置的接收位置,具有 IBM Cloud Monitoring 的平台實例。

或者,使用 IBM Cloud 度量值遞送 規則,將度量值傳送至儲存區位置以外位置的其他目標服務或 IBM Cloud Monitoring 實例。

透過 IBM Cloud® Object Storage 資源配置 API 或直接透過使用者介面啟用儲存區上的度量值監視。 這是在儲存區佈建期間或之後透過更新儲存區配置來完成。

IBM COS 支援在下列度量類型上啟用度量追蹤:

  • 使用度量-這些是與 COS 儲存區整體使用相關的度量,例如所耗用的儲存體總計 (以位元組為單位)。
  • 要求度量-度量會報告對儲存區所提出特定類型 API 要求的計數

如需傳送至 IBM Monitoring 的完整度量清單,請參閱下面的 IBM Cloud® Object Storage 度量值詳細資料小節。

此特性目前在 Satellite 的Object Storage 中不受支援。

此特性支援 SCC 監視

IBM Cloud® Object Storage 度量值只能由 IBM Monitoring 平台實例使用。 如果平台實例不存在於最終接收位置,請確定已建立一個平台實例。

IBM Cloud 度量值遞送的路徑度量值

使用「IBM Cloud® 度量值遞送」,將 IBM Cloud® Object Storage 儲存區的度量值遞送至不同於儲存區位置或其他目標服務的位置。 您可以使用「度量值遞送」(平台服務) 來管理目標及路徑,以定義度量值資料遞送的位置。

在 IBM Cloud® Object Storage 儲存區上啟用監視時,度量值會傳送至 COS 服務整合 中定義的預設接收位置。 您必須在此位置具有 IBM Monitoring 的實例,或配置遞送規則至具有「監視」實例的另一個位置,以確保收到度量值。

如需相關資訊,請參閱 開始使用 IBM Cloud Metrics Routing

在 IBM Cloud® Object Storage 儲存區上配置度量值 (建議)

在儲存區佈建時啟用 IBM Cloud® Object Storage 儲存區上的度量值追蹤,或在建立儲存區之後更新儲存區配置。 度量值監視僅適用於啟用之後產生的 IBM Cloud® Object Storage 度量值。

請參閱 IBM Cloud® Object Storage 度量值詳細資料,以查看可用於追蹤的「使用情形」及「要求」度量值完整清單。

請使用 IBM Cloud® Object Storage 資源配置 API 來配置儲存區這些度量值的追蹤。

啟用度量值追蹤時,會根據儲存區的位置,將所有度量值傳送至 IBM Cloud Metrics Router 的預設接收位置。 請參閱 IBM Cloud® Object Storage 服務整合,以查看此預設對映。 使用「度量值路由器」規則,將度量值遞送至儲存區位置以外的位置,或遞送至另一個目標服務。 如需相關資訊,請參閱 管理路徑

在 IBM Cloud® Object Storage 儲存區上配置度量值 (舊式)

透過在 IBM Cloud® Object Storage 資源配置 API 中指定「監視」實例的目標 CRN,在 IBM Cloud® Object Storage 儲存區上啟用 IBM Metrics Monitoring。 指定 CRN 以定義 COS 度量的路徑。

IBM Cloud Metrics Routing 是客戶管理平台可觀察性資料遞送的標準化方式。 IBM Cloud® Object Storage 之類的服務特定遞送配置即將淘汰。

建議客戶移除這些使用 CRN 的 舊式遞送配置 (使其成為下面升級區段的鏈結),並改為使用 IBM Metrics Router 服務將度量值遞送至其他位置。

IBM Cloud® Object Storage 將繼續支援指定不同於預設位置的 CRN 的舊式配置。

在 COS 儲存區上從舊式升級至建議的度量監視:

若要使用「資源配置 API」從舊式配置升級,請移除目標 Metrics Monitoring 實例 CRN。 現在,度量值將遞送至預設度量值路由器接收位置,如 COS 服務整合 中所述。 在此位置佈建「監視」實例,或在升級之前定義遞送規則,以確保度量值監視不會岔斷。

在 COS 儲存區上從舊式轉移至推薦事件追蹤配置的範例修補程式

選取本主題頂端的使用者介面、API 或 Terraform 標籤,以查看修補程式的範例。

在 COS 儲存區上從舊式轉移至推薦事件追蹤配置的使用者介面範例修補程式

從 IBM Cloud® Object Storage 儲存區 (SDK、RC API、使用者介面、Terraform) 上的「舊式」至「推薦」度量值監視配置的範例修補程式

  1. 從 IBM Cloud 主控台資源清單中,選取包含您要升級至建議度量值監視配置之儲存區的服務實例。 這會將您帶至 Object Storage 主控台。
  2. 選擇您要升級的儲存區。
  3. 導覽至配置標籤。
  4. 向下捲動至進階配置區段,並尋找度量監視的配置畫面。
  5. 按一下畫面右上角,然後選取升級。
  6. 確認您要升級此儲存區的度量值監視。

範例

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)

範例

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

Cloud Object Storage 度量值詳細資料

用量度量

有一組基本度量可追蹤使用情形:

  • ibm_cos_bucket_used_bytes
  • ibm_cos_bucket_object_count
  • ibm_cos_bucket_hard_quota_bytes

要求計量

有一些度量值會報告不同 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

也會收集錯誤,並發生伺服器端 (5xx) 錯誤:

  • ibm_cos_bucket_4xx_errors
  • ibm_cos_bucket_5xx_errors

系統會報告網路類型所傳送的最小、最大及平均位元組數:

  • 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

要求的延遲度量 (第一個位元組和一般) 依要求類型細分:

  • 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

所有度量值都報告為 float64 數值:

分段的屬性

您可以依屬性來過濾結果。 在本手冊中,我們將查看一些一般範例,以及 IBM Cloud Object Storage特有的範例。

廣域屬性

下列屬性可用於對上面列出的所有度量進行分段

表 4: IBM 廣域屬性
屬性 屬性名稱 屬性說明
Cloud Type ibm_ctype 公用、專用或本端
Location ibm_location 受監視資源的位置。 這可以是「跨區域」、「區域」或「單一網站」儲存區。
Resource ibm_resource COS 儲存區名稱
Resource Type ibm_resource_type COS 儲存區
Scope ibm_scope 範圍是與此度量值相關聯的帳戶。
Service name ibm_service_name cloud-object-storage

其他屬性

下列屬性可用於對上面參考內容中所述的一個以上屬性區段。 請參閱個別度量值,以瞭解分段選項。

表 5:COS 特定屬性
屬性 屬性名稱 屬性說明
IBM COS Bucket storage class ibm_cos_bucket_storage_class 儲存區的儲存類別
Service instance ibm_service_instance 服務實例區段會識別與度量相關聯的實例手冊。