設定磁碟利用率的磁碟警報

目標

及時獲取有關資源利用率的警報是管理資料庫、避免問題和減少停機時間的關鍵。 如果您事先知道資料庫的磁碟空間不足,請採取措施擴展這些資源。

在本教學中,您將使用IBM Cloud API 和 IBM Cloud CLI來設定警報,每當資料庫的磁碟使用率超過90 時,該警報就會向您發送電子郵件%。 此特定範例在Databases for Elasticsearch部署上建立警報,但它適用於IBM Cloud Databases目錄中的所有資料庫。

提高生產力

設定監控實例和平台指標

首先,您需要存取資料庫區域中的 IBM Cloud® Monitoring,並且需要有一個可用的 監控實例。 此監控實例必須與資料庫目標位於同一區域。

您還必須啟用 平台指標

安裝命令列介面工具

接下來,您需要 IBM Cloud監控 CLICloud Databases CLI 外掛程式

透過執行以下指令安裝IBM Cloud監控 CLI:

ibmcloud plugin install monitoring

執行以下指令安裝 CLI Cloud Databases 外掛程式:

ibmcloud plugin install cloud-databases

您現在已準備好檢索和監視您的服務實例。

檢索您的監控服務實例

在此步驟中,您將檢索必要的憑證以存取監控實例。

首先使用以下指令登入IBM Cloud CLI:

ibmcloud login -sso

請依照螢幕上的指示登入。

接下來,為您的實例定位適當的 區域

ibmcloud target -r <REGION>

然後,使用以下命令列出該區域中現有的監控實例:

ibmcloud monitoring service-instances

請注意啟用了「平台指標」的服務實例名稱。

現在,使用以下命令為 API 建立授權令牌:

以下步驟僅適用於 Bash。

AUTH_TOKEN=$(ibmcloud iam oauth-tokens | awk '{print $4}')

現在您可以使用下列命令檢索 API 的監控服務實例的 ID:

GUID=$(ibmcloud resource service-instance <instance_name_from_step_above> --output json | jq -r '.[].guid')

設定通知管道

配置觸發警報時收到通知 的通知通道。 若要設定通知通道,請使用以下命令:

curl -X POST https://<region>.monitoring.cloud.ibm.com/api/notificationChannels -H "Authorization: Bearer $AUTH_TOKEN" -H "IBMInstanceID: $GUID" -H "content-type: application/json"  --data-raw '{"notificationChannel":{"id":null,"version":null,"teamId":"","name":"<notification_channel>","type":"EMAIL","enabled":true,"sendTestNotification":true,"options":{"notifyOnOk":true,"notifyOnResolve":true,"emailRecipients":["email@email.com"]}}}'

您將看到下列輸出:

{"notificationChannel":{"id":39209,"version":1,"customerId":34292,"enabled":true,"sendTestNotification":true,"createdOn":1678967870764,"modifiedOn":1678967870764,"name":"thursTest","options":{"notifyOnOk":true,"emailRecipients":["email@email.com"],"notifyOnResolve":true},"type":"EMAIL"}}% 

您現在已經為警報建立了通知管道。

記下 API 呼叫傳回的 id 欄位。

建立警報

現在您已經有了通知頻道,請建立 警報規則。 您的警示規則描述了需監控的指標查詢、閾值設定,以及當閾值被觸發時應執行的操作。 在這種情況下,您正在監視 ibm_service_instance_name 以確保 max 利用率不超過 90%。 如果發生這種情況,則會觸發警報並通知您。

此警報在磁碟利用率達到 90% 時觸發。 然而,50-70% 的磁碟利用率是首選。

若要檢索要為其設定警報的資料庫實例的名稱,請使用下列命令列出所有資料庫實例:

ibmcloud cdb ls

確保選擇與監控實例同地域的資料庫。

您會看到以下輸出:

Retrieving instances for all database types in all resource groups in all locations under IBM as …
OK
Name                          Location   State
Databases for PostgreSQL-76   us-south   inactive
testelastic                   eu-gb      active
Databases for MySQL-9j        us-south   active

現在,使用資料庫名稱透過以下命令建立警報:

curl --request POST \
  --url https://<region>.monitoring.cloud.ibm.com/api/alerts \
  --header "Authorization: Bearer  $AUTH_TOKEN" \
  --header 'Content-Type: application/json' \
  --header "IBMInstanceID: $GUID" \
  --data-raw  '{
	"alert":
		{
			"type": "MANUAL",
			"name": "Disk Alert",
			"description": "",
			"enabled": true,
			"severity": 1,
			"timespan": 60000000,
			"notificationChannelIds": [
				<id_from_previous_step>
			],
			"filter": "ibm_service_instance_name in (\"<db_instance_name_from_previous_step>\")",
		  "condition": "max(max(ibm_databases_for_elasticsearch_disk_used_percent)) > 0.9"
		}
}'

此命令取得任何可用成員的最大磁碟使用率,無論成員數量有多少。

檢查您的提醒是否已建立

每當達到磁碟大小的 90% 時,就會建立警報。 您會收到針對您在通知頻道中建立的相同電子郵件的提醒。 您也可以使用以下命令檢查目前活動警報:

ibmcloud monitoring alert list --name <monitoring instance name>

現在,只要您的Databases for Elasticsearch實例磁碟使用率超過 90%,您就會收到警報,以便您可以在磁碟太滿之前採取行動。

下一步

要修改您的警報或了解有關監控的更多信息,請 參閱IBM Cloud Monitoring入門

調整資源的大小

如果您收到磁碟利用率超過 90% 的警報,請擴充磁碟以使利用率不超過 50-70%。 手動管理服務的資源或自動縮放。

調整資源
服務 管理資源 自動調整
IBM Cloud® Databases for MongoDB 擴充磁碟、RAM 和 CPU 自動調整
IBM Cloud® Databases for PostgreSQL 擴充磁碟、RAM 和 CPU 自動調整
IBM Cloud® Databases for Redis 擴充磁碟、RAM 和 CPU 自動調整
IBM Cloud® Databases for MySQL 擴充磁碟、RAM 和 CPU 自動調整
IBM Cloud® Messages for RabbitMQ 擴充磁碟、RAM 和 CPU 自動調整

Cloud Databases服務指標

本教學使用IBM Cloud® Databases for Elasticsearch。 但是,相同的流程適用於其他Cloud Databases服務: