IBM Cloud Docs
ディスク使用率に関するディスクアラートの設定

ディスク使用率に関するディスクアラートの設定

目標

リソースの使用状況に関するタイムリーなアラートを受け取ることは、データベースを管理し、問題を回避し、ダウンタイムを軽減するための鍵となります。 データベースがディスク不足に陥ることが事前に分かっている場合は、リソースを拡張するための措置を講じてください。

このチュートリアルでは、IBM CloudAPI と IBM Cloud CLIを使用して、データベースのディスク使用率が 90% を超えるたびに電子メールを送信するアラートを設定します。 この具体的な例は、Databases for Elasticsearchデプロイメントでアラートを作成しますが、IBM Cloud Databasesカタログ内のすべてのデータベースに適用できます。

生産性の向上

モニタリング・インスタンスとプラットフォーム・メトリクスの設定

開始するには、データベース・リージョンの IBM Cloud® Monitoring にアクセスし、監視インスタンス を利用できるようにする必要があります。 このモニタリング・インスタンスは、データベース・ターゲットと同じリージョンになければなりません。

また、Platform Metrics を有効にしておく必要がある。

コマンドライン・インターフェイス・ツールのインストール

次に、IBM Cloud Monitoring CLICloud Databases CLI plug-in が必要だ。

以下のコマンドを実行して、IBM Cloud Monitoring CLI をインストールします。

ibmcloud plugin install monitoring

以下のコマンドを実行してCloud DatabasesCLIプラグインをインストールします。以下のコマンドを実行してCLIプラグインをインストールする:

ibmcloud plugin install cloud-databases

これでサービスインスタンスの取得と監視の準備が整いました。

モニタリングサービスのインスタンスを取得する

このステップでは、モニタリング・インスタンスにアクセスするために必要な認証情報を取得します。

IBM Cloudにログインします。以下のコマンドでCLIにログインする:

ibmcloud login -sso

画面の指示に従ってログインしてください。

次に、インスタンスの適切な リージョン をターゲットにする:

ibmcloud target -r <REGION>

次に、そのリージョンにある既存のモニタリング・インスタンスを以下のコマンドでリストアップする:

ibmcloud monitoring service-instances

Platform Metrics」が有効になっているサービス・インスタンス名に注意。

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

アラートの作成

通知チャネルができたので、アラートルールを作成します。 アラートルールには、監視するメトリッククエリ、しきい値、およびしきい値を超えたときに取るアクションを記述します。 この場合、使用率が90 max を超えないように監視していることになる ibm_service_instance_name その場合、アラートが作動し、あなたに通知されます。

このアラートは、ディスク使用率が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%に達するたびにアラートが表示されます。 通知チャネルで作成したのと同じEメールにアラートが届きます。 また、以下のコマンドを使って、現在アクティブなアラートをチェックすることもできる:

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

これにより、Databases for Elasticsearchインスタンスのディスク使用率が90%を超えるとアラートが表示され、ディスクがいっぱいになる前に対処できるようになりました。

次のステップ

アラートを変更したり、モニタリングの詳細を確認するには、{{site{{site.data.keyword.mon_full_notm}}を使い始める を参照してください。

リソースのスケーリング

ディスク使用率が90%を超えたというアラートを受け取った場合は、使用率が50~70%を超えないようにディスクをスケールしてください。 サービスのリソースを手動で管理するか、オートスケールする。

リソースのスケーリング
サービス リソースの管理 自動スケーリング
Databases for EnterpriseDB ディスク、RAM、CPU のスケーリング 自動スケーリング
Databases for etcd ディスク、RAM、CPU のスケーリング 自動スケーリング
Databases for MongoDB ディスク、RAM、CPU のスケーリング 自動スケーリング
Databases for PostgreSQL ディスク、RAM、CPU のスケーリング 自動スケーリング
Databases for Redis ディスク、RAM、CPU のスケーリング 自動スケーリング
Databases for MySQL ディスク、RAM、CPU のスケーリング 自動スケーリング
Messages for RabbitMQ ディスク、RAM、CPU のスケーリング 自動スケーリング

Cloud Databasesサービス・メトリクス

このチュートリアルではIBM Cloud® Databases for Elasticsearchを使用します。 しかし、同じプロセスが他のCloud Databasesサービスにも適用されます: