Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Alarmieren in Protokollen
Sie können CloudWatch Alarme zur Überwachung Ihrer Protokolldaten auf zwei Arten erstellen:
-
Log-Alarm-Ansatz — Erstellen Sie einen Log-Alarm, der eine CloudWatch Logs Insights-Abfrage nach einem Zeitplan ausführt und die aggregierten Ergebnisse direkt anhand eines Schwellenwerts auswertet.
-
Metrikfilter-Ansatz — Erstellen Sie einen Metrikfilter für eine Protokollgruppe und erstellen Sie dann einen Standard-Metrikalarm für die resultierende Metrik.
Erstellen Sie einen Log-Alarm
Erstellen Sie einen Log-Alarm
Sie können einen CloudWatch Alarm erstellen, der eine CloudWatch Logs Insights-Abfrage verwendet, um Protokolldaten direkt zu überwachen. Die Abfrage wird nach einem Zeitplan mithilfe einer geplanten Abfrage ausgeführt, und der Alarm bewertet die aggregierten Ergebnisse anhand eines Schwellenwerts. Weitere Informationen zur Funktionsweise von Log-Alarmen finden Sie unter. Alarme protokollieren
Voraussetzungen
Bevor Sie einen Log-Alarm erstellen, müssen Sie eine IAM-Rolle erstellen, die CloudWatch Logs die Berechtigung zum Ausführen der geplanten Abfrage erteilt. Wenn Sie auch möchten, dass Protokollzeilen in Amazon SNS-Benachrichtigungen enthalten sind, müssen Sie eine zweite Rolle erstellen.
Anmerkung
Wenn Sie von der CloudWatch Konsole aus einen Log Alarm erstellen, hilft Ihnen die Konsole bei der Erstellung dieser Rollen.
Rolle zur geplanten Ausführung von Abfragen
Die Rolle „Geplante Abfrageausführung“ ermöglicht es CloudWatch Logs, die Abfrage in Ihrem Namen auszuführen. Diese Rolle ist für alle Log-Alarme erforderlich, um die geplante Abfrage auszuführen. Die Rolle muss dem logs.amazonaws.com Dienstprinzipal vertrauen.
Das folgende Beispiel zeigt die Vertrauensrichtlinie für die Rolle „Geplante Abfrageausführung“.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Das folgende Beispiel zeigt die Berechtigungsrichtlinie. Beschränken Sie Resource die ARNs auf die Protokollgruppe, auf die die Abfrage abzielt.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:StartQuery", "logs:StopQuery", "logs:GetQueryResults", "logs:DescribeLogGroups" ], "Resource": "arn:aws:logs:region:account-id:log-group:your-log-group:*" } ] }
Rolle „Protokollzeilen“ (optional)
Die Rolle „Loglines“ ermöglicht CloudWatch das Abrufen von Protokollzeilen für Amazon SNS-E-Mail-Benachrichtigungen. Diese Rolle ist nur erforderlich, wenn Sie einen Wert größer als 0 festlegenActionLogLineCount. Die Rolle muss dem cloudwatch.amazonaws.com Dienstprinzipal vertrauen.
Das folgende Beispiel zeigt die Vertrauensrichtlinie für die Loglines-Rolle.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudwatch.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Das folgende Beispiel zeigt die Berechtigungsrichtlinie für die Rolle „Loglines“. Die logs:GetQueryResults Berechtigung ist erforderlich, um Protokollzeilen abzurufen. Beschränken Sie Resource die ARNs auf die Protokollgruppe, auf die die Abfrage abzielt.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:GetQueryResults" ], "Resource": "arn:aws:logs:region:account-id:log-group:your-log-group:*" } ] }
Anmerkung
Um die Ergebnisse der Log Alarm-Abfrage in der CloudWatch Konsole anzuzeigen, muss der IAM-Benutzer oder die IAM-Rolle, die auf die Konsole zugreift, über die logs:GetScheduledQueryData entsprechende Berechtigung verfügen. Dies ist eine reine Konsolen-API und nicht über das AWS CLI oder SDK verfügbar. CloudTrailprotokolliert diese API als Datenereignis. Sie müssen daher einen Trail mit Datenereignisprotokollierung konfigurieren, um ihn zu erfassen.
Erstellen eines Log-Alarms mithilfe der Konsole
Die Schritte in diesem Abschnitt erläutern, wie Sie die CloudWatch Konsole verwenden, um einen Log-Alarm zu erstellen. Sie können das auch verwenden AWS CLI , um einen Log-Alarm zu erstellen. Weitere Informationen finden Sie unter Erstellen Sie einen Log-Alarm mit dem AWS CLI.
Um einen Log-Alarm zu erstellen
-
Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Klicken Sie im Navigationsbereich auf Alarms (Alarme).
-
Wählen Sie Create Alarm (Alarm erstellen) aus.
-
Wählen Sie für Datenquelle die Option Logs aus.
-
Unter Protokollabfrage:
-
Wählen Sie in Log Analytics die Option Abfrage erstellen aus. Dadurch wird die Seite Log Analytics geöffnet, auf der Sie Ihre Abfrage erstellen.
-
Schreiben Sie auf der Seite Log Analytics Ihre Abfrage. Wenn Sie fertig sind, wählen Sie oben rechts Weiter zu Alarmen, um zur Alarmkonsole zurückzukehren.
-
Geben Sie unter Aggregationsausdruck an, wie die Abfrageergebnisse aggregiert werden sollen, um einen numerischen Wert für die Alarmauswertung zurückzugeben (z. B.
count(*)oderavg(latency) by endpoint).
-
-
Unter Alarmbedingungen:
-
Denn wann immer das aggregierte Ergebnis... , wählen Sie einen Vergleichsoperator.
-
Für dann... , geben Sie den Schwellenwert ein.
-
(Optional) Unter Zusätzliche Konfiguration:
-
Ändern Sie Datenpunkte auf Alarm, um die Anzahl der Sicherheitslücken anzugeben, die erforderlich sind, um die letzten N
ALARMAbfragen auszulösen. -
Ändern Sie die Option Behandlung fehlender Daten, um festzulegen, wie mit fehlenden Daten umgegangen werden soll.
-
-
-
Unter Zeitplan:
-
Wählen Sie unter Evaluierungshäufigkeit aus, wie oft die Abfrage ausgeführt wird (z. B. alle 5 Minuten).
-
Für den Startzeitversatz ist dies das Lookback-Fenster für jede Abfrageausführung.
-
Für Endzeitversatz (optional) das Ende des Abfragezeitbereichs als Offset in Sekunden gegenüber der aktuellen Uhrzeit.
-
-
Mit IAM-Genehmigung:
-
Geben Sie die Rolle an, die für die Ausführung der geplanten Abfrage erforderlich ist. Sie können entweder eine neue Rolle erstellen oder eine vorhandene Rolle verwenden.
-
-
Wählen Sie Weiter aus.
-
Konfigurieren Sie unter Aktionen konfigurieren die Aktionen und Benachrichtigungen nach Bedarf.
-
Um die Protokollzeilen, die den Alarmübergang auslösen, in die E-Mail-Benachrichtigungen von Amazon SNS einzubeziehen, gehen Sie unter Abfrageergebnisse in die Aktionen einbeziehen wie folgt vor:
-
Fügen Sie die Anzahl der Abfrageergebnisse hinzu, um die Anzahl der einzuschließenden Protokollzeilen anzugeben.
-
Erstellen Sie eine vorhandene Rolle, die zum Abrufen der erforderlichen Abfrageergebnisse verwendet wird, oder wählen Sie eine vorhandene aus.
-
-
-
Wählen Sie Weiter aus.
-
Geben Sie einen Namen und optional eine Beschreibung ein (unterstützt Markdown).
-
(Optional) Fügen Sie Tags hinzu.
-
Wählen Sie Weiter aus.
-
Überprüfen Sie unter Vorschau und Erstellen Ihre Konfiguration und wählen Sie dann Alarm erstellen aus.
Erstellen Sie einen Log-Alarm mit dem AWS CLI
Sie können den AWS CLI put-log-alarm Befehl verwenden, um einen Log-Alarm zu erstellen.
Im folgenden Beispiel wird ein Log-Alarm erstellt, der die Anzahl der Fehler in einer Protokollgruppe überwacht und in den ALARM Status übergeht, wenn die Anzahl bei 3 von 5 Abfrageausführungen 100 überschreitet.
aws cloudwatch put-log-alarm \ --alarm-name "HighErrorCount" \ --alarm-description "Alarm when error count exceeds 100" \ --comparison-operator GreaterThanThreshold \ --threshold 100 \ --query-results-to-evaluate 5 \ --query-results-to-alarm 3 \ --treat-missing-data missing \ --alarm-actions "arn:aws:sns:region:account-id:topic-name" \ --scheduled-query-configuration '{ "QueryString": "fields @timestamp, @message | filter @message like /ERROR/", "LogGroupIdentifiers": ["/aws/lambda/my-function"], "ScheduledQueryRoleARN": "arn:aws:iam::account-id:role/ScheduledQueryRole", "AggregationExpression": "count(*)", "ScheduleConfiguration": { "ScheduleExpression": "rate(10 minutes)", "StartTimeOffset": 600 } }' \ --action-log-line-count 5 \ --action-log-line-role-arn "arn:aws:iam::account-id:role/LogLineRole"
In der folgenden Tabelle werden die wichtigsten Parameter für den put-log-alarm Befehl beschrieben.
| Parameter | Erforderlich | Beschreibung |
|---|---|---|
--alarm-name |
Ja | Der Name des Alarms. Darf nur UTF-8 Zeichen enthalten. |
--comparison-operator |
Ja | Der Vergleichsoperator für die Bewertung von Schwellenwerten. Zulässige Werte: GreaterThanThreshold, GreaterThanOrEqualToThreshold, LessThanThreshold, LessThanOrEqualToThreshold. |
--threshold |
Ja | Der numerische Schwellenwert, mit dem verglichen werden soll. |
--query-results-to-evaluate |
Ja | Die Anzahl der kürzlich ausgeführten Abfragen, die ausgewertet werden sollen (N in M-out-of-N). |
--query-results-to-alarm |
Ja | Die Anzahl der zum Auslösen von Sicherheitsverletzungen erforderlichen Ergebnisse ALARM (M in M-out-of-N). |
--treat-missing-data |
Nein | Wie behandelt man fehlende Daten? Gültige Werte: missing (Standard),notBreaching,breaching,ignore. |
--scheduled-query-configuration |
Ja | Die Abfragekonfiguration einschließlich Abfragezeichenfolge, Protokollgruppen-Identifikatoren, ARN für geplante Abfragerollen, Aggregationsausdruck und Zeitplankonfiguration. |
--action-log-line-count |
Nein | Die Anzahl der Protokollzeilen, die in Amazon SNS-E-Mail-Benachrichtigungen enthalten sein sollen (0—50). Standard = 0. |
--action-log-line-role-arn |
Nein | Der ARN der IAM-Rolle, der vertraut wird. cloudwatch.amazonaws.com Erforderlich, wenn er größer als 0 action-log-line-count ist. |
Erstellen eines Log-Alarms mit AWS CloudFormation
Sie können den AWS::CloudWatch::LogAlarm Ressourcentyp verwenden, um einen Log-Alarm in einer AWS CloudFormation Vorlage zu erstellen.
Die folgende Beispielvorlage erstellt einen Log-Alarm, der die Anzahl der Fehler überwacht.
AWSTemplateFormatVersion: '2010-09-09' Resources: HighErrorCountAlarm: Type: AWS::CloudWatch::LogAlarm Properties: AlarmName: HighErrorCount AlarmDescription: Alarm when error count exceeds 100 ComparisonOperator: GreaterThanThreshold Threshold: 100 QueryResultsToEvaluate: 5 QueryResultsToAlarm: 3 TreatMissingData: missing ActionLogLineCount: 5 ActionLogLineRoleArn: !GetAtt LogLineRole.Arn ScheduledQueryConfiguration: QueryString: "fields @timestamp, @message | filter @message like /ERROR/" LogGroupIdentifiers: - /aws/lambda/my-function ScheduledQueryRoleARN: !GetAtt ScheduledQueryRole.Arn AggregationExpression: "count(*)" ScheduleConfiguration: ScheduleExpression: "rate(10 minutes)" StartTimeOffset: 600 AlarmActions: - !Ref AlarmSNSTopic
Erstellen Sie einen CloudWatch Alarm auf der Grundlage eines Metrikfilters für Protokollgruppen
Das Verfahren in diesem Abschnitt beschreibt, wie ein Alarm basierend auf einem Protokollgruppen-Metrikfilter erstellt wird. Mithilfe von Metrikfiltern können Sie in den Protokolldaten, an die die Daten gesendet werden, nach Begriffen und Mustern suchen. CloudWatch Weitere Informationen finden Sie unter Erstellen von Metriken aus Protokollereignissen mithilfe von Filtern im Amazon CloudWatch Logs-Benutzerhandbuch. Bevor Sie einen Alarm auf der Grundlage eines Protokollgruppen-Metrikfilters erstellen, müssen Sie die folgenden Aktionen ausführen:
-
Erstellen Sie eine -Protokollgruppe. Weitere Informationen finden Sie unter Arbeiten mit Protokollgruppen und Log-Streams im Amazon CloudWatch Logs-Benutzerhandbuch.
-
Erstellen Sie einen Metrikfilter. Weitere Informationen finden Sie unter Erstellen eines Metrikfilters für eine Protokollgruppe im Amazon CloudWatch Logs-Benutzerhandbuch.
Erstellen eines Alarms basierend auf einem Protokollgruppen-Metrikfilter
-
Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie ausgehend vom Navigationsbereich Logs (Protokolle) und dann Log groups (Protokollgruppen) aus.
-
Wählen Sie die Protokollgruppe aus, die Ihren Metrikfilter enthält.
-
Wählen Sie Metric filters (Metrikfilter) aus.
-
Wählen Sie in der Registerkarte „Metric filters“ (Metrikfilter) das Feld für den Metrikfilter aus, auf dem Ihr Alarm basieren soll.
-
Wählen Sie Alarm erstellen aus.
-
(Optional) Unter Metric (Metrik) können Sie Metric name (Metrikname), Statistic (Statistik) und Period (Zeitraum) bearbeiten.
-
Geben Sie unter Conditions (Bedingungen) Folgendes an:
-
Wählen Sie als Threshold type (Schwellenwerttyp) die Option Static (Statisch) oder Anomaly detection (Anomalieerkennung) aus.
-
Für wann immer
your-metric-namees ist. , wählen Sie Größer Greater/Equal, Lower/Equal, oder Niedriger. -
Für than . . . (als . . .) geben Sie eine Zahl für Ihren Schwellenwert an.
-
-
Wählen Sie Additional configuration (Zusätzliche Konfiguration).
-
Geben Sie für Data points to Alarm (Datenpunkte für den Alarm) an, wie viele Datenpunkte Ihren Alarm dazu bringen, in den
ALARM-Status überzugehen. Wenn Sie übereinstimmende Werte angeben, wechselt Ihr Alarm in den StatusALARM, wenn entsprechend viele aufeinanderfolgende Zeiträume überschritten werden. Um einen M-out-of-N Alarm auszulösen, geben Sie für den ersten Wert eine Zahl an, die niedriger ist als die Zahl, die Sie für den zweiten Wert angeben. Weitere Informationen finden Sie unter Auswertung von Alarmen. -
Wählen Sie für Missing data treatment (Behandlung fehlender Daten) eine Option aus, um anzugeben, wie bei der Bewertung Ihres Alarms fehlende Daten zu behandeln sind.
-
-
Wählen Sie Weiter aus.
-
Legen Sie für Notification (Benachrichtigung) ein Amazon-SNS-Thema fest, das benachrichtigen soll, wenn sich der Alarm im Status
ALARM,OKoderINSUFFICIENT_DATAbefindet.-
(Optional) Um mehrere Benachrichtigungen für den gleichen Alarmstatus oder für verschiedene Statuswerte zu senden, wählen Sie Add notification (Benachrichtigung hinzufügen) aus.
-
(Optional) Damit keine Benachrichtigungen gesendet werden, wählen Sie Remove (Entfernen) aus.
-
-
Um den Alarm Auto-Scaling-, EC2-, Lambda- oder Systems-Manager-Aktionen ausführen zu lassen, wählen Sie die entsprechende Schaltfläche und wählen Sie den Alarmstatus und die auszuführende Aktion. Wenn Sie eine Lambda-Funktion als Alarmaktion wählen, geben Sie den Funktionsnamen oder ARN an, und Sie können optional eine bestimmte Version der Funktion auswählen.
Alarme können Aktionen des Systems Manager nur ausführen, wenn sie in den ALARM-Zustand wechseln. Weitere Informationen zu Systems Manager-Aktionen finden Sie unter Konfiguration CloudWatch zur Erstellung anhand OpsItems von Alarmen und Erstellen von Incidents.
Anmerkung
Um einen Alarm zu erstellen, der eine SSM-Incident-Manager-Aktion ausführt, müssen Sie über bestimmte Berechtigungen verfügen. Weitere Informationen finden Sie unter Identity-based Richtlinienbeispiele für AWS Systems Manager Incident Manager.
-
Wählen Sie Weiter aus.
-
Geben Sie unter Name und Beschreibung einen Namen und eine Beschreibung für Ihren Alarm ein. Der Name darf nur UTF-8 Zeichen enthalten und darf keine ASCII-Steuerzeichen enthalten. Die Beschreibung kann eine Markdown-Formatierung enthalten, die nur auf der Registerkarte „Alarm-Details“ in der Konsole angezeigt wird. CloudWatch Der Markdown kann nützlich sein, um Links zu Runbooks oder anderen internen Ressourcen hinzuzufügen.
-
Vergewissern Sie sich für Preview and create (Vorschau anzeigen und erstellen), ob Ihre Konfiguration korrekt ist, und wählen Sie Create alarm (Alarm erstellen) aus.