Einrichten von Festplattenwarnungen für die Festplattennutzung

Ziele

Rechtzeitige Warnungen über die Ressourcennutzung sind der Schlüssel zur Verwaltung Ihrer Datenbank, zur Vermeidung von Problemen und zur Begrenzung von Ausfallzeiten. Wenn Sie im Voraus wissen, dass Ihre Datenbank nicht mehr genügend Speicherplatz hat, sollten Sie Maßnahmen ergreifen, um diese Ressourcen zu skalieren.

In diesem Lernprogramm verwenden Sie die IBM Cloud API und die IBM Cloud CLI, um einen Alarm einzurichten, der Sie per E-Mail benachrichtigt, wenn die Festplattenauslastung Ihrer Datenbank 90 % überschreitet. Dieses spezielle Beispiel erstellt eine Warnung für eine Databases for Elasticsearch, ist aber auf alle Datenbanken im IBM Cloud Databases anwendbar.

Produktiv werden

Überwachungsinstanz und Plattformmetriken einrichten

Um loszulegen, benötigen Sie Zugriff auf IBM Cloud® Monitoring in Ihrer Datenbankregion, und Sie müssen eine Überwachungsinstanz verfügbar haben. Diese Überwachungsinstanz muss sich in der gleichen Region befinden wie das Datenbankziel.

Außerdem müssen Sie Platform Metrics aktiviert haben.

Tools für die Befehlszeilenschnittstelle installieren

Als nächstes benötigen Sie die IBM Cloud Monitoring CLI und Cloud Databases CLI-Plugin.

Installieren Sie die IBM Cloud Monitoring-CLI, indem Sie den folgenden Befehl ausführen:

ibmcloud plugin install monitoring

Installieren Sie das Cloud Databases CLI-Plugin, indem Sie den folgenden Befehl ausführen:

ibmcloud plugin install cloud-databases

Sie sind nun bereit, Ihre Dienstinstanz abzurufen und zu überwachen.

Rufen Sie Ihre Überwachungsdienstinstanz ab

In diesem Schritt rufen Sie die erforderlichen Anmeldedaten ab, um Zugang zu Ihrer Überwachungsinstanz zu erhalten.

Beginnen Sie mit der Anmeldung bei der IBM Cloud CLI mit dem folgenden Befehl an:

ibmcloud login -sso

Folgen Sie den Anweisungen auf dem Bildschirm, um sich anzumelden.

Als nächstes wählen Sie die entsprechende Region für Ihre Instanz aus:

ibmcloud target -r <REGION>

Listen Sie dann die vorhandenen Überwachungsinstanzen in dieser Region mit dem folgenden Befehl auf:

ibmcloud monitoring service-instances

Beachten Sie den Namen der Dienstinstanz, bei der "Platform Metrics" aktiviert ist.

Erstellen Sie nun ein Autorisierungs-Token für die API, indem Sie einen Befehl wie diesen verwenden:

Die folgenden Schritte funktionieren nur unter Bash.

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

Sie können nun die ID Ihrer Überwachungsdienstinstanz für die API mit dem folgenden Befehl abrufen:

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

Benachrichtigungskanal einrichten

Konfigurieren Sie einen Benachrichtigungskanal, der benachrichtigt werden soll, wenn ein Alert ausgelöst wird. Um Ihren Benachrichtigungskanal einzurichten, verwenden Sie den folgenden Befehl:

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"]}}}'

Daraufhin wird die folgende Ausgabe angezeigt:

{"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"}}% 

Sie haben nun einen Benachrichtigungskanal für Ihre Benachrichtigungen erstellt.

Notieren Sie sich das id Feld, das durch den API-Aufruf zurückgegeben wird.

Alert erstellen

Da Sie nun einen Benachrichtigungskanal haben, erstellen Sie Ihre Warnregel. Ihre Alarmregel beschreibt die zu überwachende Metrikabfrage, den Schwellenwert und die Aktion, die bei Überschreiten des Schwellenwerts ausgeführt werden soll. In diesem Fall überwachen Sie Ihre ibm_service_instance_name, um sicherzustellen, dass die max Auslastung 90 % nicht überschreitet. Wenn dies geschieht, wird ein Alarm ausgelöst und Sie werden benachrichtigt.

Dieser Alarm wird bei 90 % Festplattenauslastung ausgelöst. Eine Festplattennutzung von 50-70 % ist jedoch vorzuziehen.

Um den Namen der Datenbankinstanz abzurufen, für die Sie den Alarm einrichten wollen, listen Sie alle Ihre Datenbankinstanzen mit einem Befehl wie diesem auf:

ibmcloud cdb ls

Achten Sie darauf, eine Datenbank auszuwählen, die sich in derselben Region befindet wie die Überwachungsinstanz.

Sie sehen eine Ausgabe wie die folgende:

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

Verwenden Sie nun den Namen Ihrer Datenbank, um die Warnmeldung zu erstellen, indem Sie einen Befehl wie diesen verwenden:

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

Dieser Befehl nimmt die maximale Festplattenauslastung jedes verfügbaren Mitglieds, unabhängig von der Anzahl der Mitglieder.

Prüfen Sie, ob Ihre Ausschreibung erstellt wurde

Bei Erreichen von 90 % der Festplattengröße wird eine Warnung ausgegeben. Sie erhalten die Benachrichtigung an die gleiche E-Mail, die Sie im Benachrichtigungskanal erstellt haben. Sie können auch den folgenden Befehl verwenden, um aktuelle aktive Alarme zu überprüfen:

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

Sie erhalten jetzt eine Warnung, wenn die Festplattenauslastung Ihrer Databases for Elasticsearch 90 % übersteigt, sodass Sie handeln können, bevor die Festplatte zu voll ist.

Nächste Schritte

Um Ihren Alert zu ändern oder mehr über Monitoring zu erfahren, siehe Erste Schritte mit {{site{{site.data.keyword.mon_full_notm}}.

Skalierung von Ressourcen

Wenn Sie eine Warnung erhalten, dass Ihre Festplattennutzung 90 % übersteigt, skalieren Sie Ihre Festplatte so, dass Sie nicht mehr als 50-70 % nutzen. Manuelle Verwaltung der Ressourcen Ihres Dienstes oder automatische Skalierung.

Skalierung von Ressourcen
Service Ressourcen verwalten Automatische Skalierung
IBM Cloud® Databases for MongoDB Platte, RAM und CPU skalieren Automatische Skalierung
IBM Cloud® Databases for PostgreSQL Platte, RAM und CPU skalieren Automatische Skalierung
IBM Cloud® Databases for Redis Platte, RAM und CPU skalieren Automatische Skalierung
IBM Cloud® Databases for MySQL Platte, RAM und CPU skalieren Automatische Skalierung
IBM Cloud® Messages for RabbitMQ Platte, RAM und CPU skalieren Automatische Skalierung

Cloud Databases Dienstmetriken

Dieses Tutorial verwendet IBM Cloud® Databases for Elasticsearch. Das gleiche Verfahren gilt jedoch auch für andere Cloud Databases: