- Eine Log-Quelle erstellen
- Einen S3-Bucket für fehlgeschlagene Zustellungen einrichten
- Eine IAM-Rolle für Data Firehose einrichten
- Einen Firehose-Delivery-Stream erstellen
- Eine IAM-Rolle für CloudWatch einrichten
- Ein CloudWatch-Log-Abonnement erstellen
- Den API-Schlüssel Ihrer Log-Quelle. Wenn Sie noch keine Log-Quelle haben, erstellen Sie zuerst eine neue Log-Quelle.
- AWS-Konto-ID
- AWS-Region
- Name des S3-Buckets für die Speicherung fehlgeschlagener Zustellungen
- Name des Data-Firehose-Streams
- IAM-Rollenname für den S3-Bucket
- IAM-Rollenname für das CloudWatch-Abonnement
Eine Log-Quelle erstellen
Erstellen Sie eine Log-Quelle, bevor Sie fortfahren. Siehe Logging-Konfiguration für Anweisungen.Einen S3-Bucket für fehlgeschlagene Zustellungen einrichten
Amazon Data Firehose benötigt einen S3-Bucket, um Datensätze zu speichern, deren Zustellung fehlschlägt. Erstellen Sie einen S3-Bucket über die AWS-Konsole oder CLI, bevor Sie fortfahren; ohne einen Bucket können Sie keinen Firehose-Delivery-Stream erstellen.Eine IAM-Rolle für Data Firehose einrichten
Erstellen Sie eine IAM-Rolle, die es Data Firehose erlaubt, in den S3-Bucket zu schreiben und optional in CloudWatch Logs für Zustellfehler-Logging. Verwenden Sie die folgende Trust-Policy:Siehe Hinzufügen von IAM-Identitäts-Berechtigungen
für Anweisungen zur Erstellung von Inline-Richtlinien für IAM-Rollen.
<AWS_ACCOUNT_ID>— Ihre AWS-Konto-ID.<AWS_REGION>— die Region, in der Ihr Firehose-Stream laufen wird.<FIREHOSE_S3_BUCKET>— der S3-Bucket, den Sie im vorherigen Schritt erstellt haben.<FIREHOSE_LOG_GROUP>— die Log-Gruppe, die Firehose für seine eigenen Zustellfehler-Logs verwendet (getrennt von der Log-Gruppe, die Sie an AppSignal streamen möchten). AWS verwendet die Konvention/aws/kinesisfirehose/<FIREHOSE_STREAM_NAME>, entscheiden Sie also jetzt über den Namen Ihres Firehose-Streams – Sie werden ihn im nächsten Schritt wiederverwenden. Wenn Sie das Fehler-Logging am Firehose-Stream nicht aktivieren möchten, können Sie die Anweisunglogs:PutLogEventsvollständig weglassen.
Siehe Controlling access with Amazon Data
Firehose
für mehr zu den Berechtigungen, die Data Firehose benötigt.
Einen Firehose-Delivery-Stream erstellen
- Öffnen Sie die Amazon-Data-Firehose-Konsole und wählen Sie Create Firehose stream.
- Wählen Sie Direct PUT als Quelle.
- Wählen Sie HTTP Endpoint als Ziel.
- Lassen Sie unter „Transform records” die Datentransformation deaktiviert.
- Geben Sie die folgende URL als HTTP endpoint URL ein:
- Geben Sie Ihren AppSignal-Log-Source-API-Schlüssel aus dem Erstellen einer Log-Quelle als Access key ein. Dies ist ein AppSignal-Schlüssel, kein AWS-Access-Key.
- Aktivieren Sie unter „Content encoding” GZIP.
- Wählen Sie unter „Backup settings” den S3-Bucket aus, den Sie im vorherigen Schritt erstellt haben.
- Wählen Sie unter „Advanced settings > Service access” die Option Choose existing IAM role und wählen Sie die IAM-Rolle aus, die Sie im vorherigen Schritt erstellt haben.
- (Optional) Aktivieren Sie unter „Advanced settings > Amazon CloudWatch error logging” das Fehler-Logging, um die im vorherigen Schritt erteilte Berechtigung
logs:PutLogEventszu nutzen. - Verwenden Sie denselben Firehose-Stream-Namen, auf den Sie beim Einrichten der IAM-Rolle verwiesen haben, und wählen Sie dann Create Firehose stream.
DeliveryToHttpEndpoint.Success im Tab Monitoring des Firehose-Streams ansteigt.
Eine IAM-Rolle für CloudWatch einrichten
Erstellen Sie eine IAM-Rolle, die es CloudWatch erlaubt, Logs an den Firehose-Delivery-Stream zu senden. Verwenden Sie die folgende Trust-Policy:Siehe Hinzufügen von IAM-Identitäts-Berechtigungen
für Anweisungen zur Erstellung von Inline-Richtlinien für IAM-Rollen.
<AWS_REGION>, <AWS_ACCOUNT_ID> und <FIREHOSE_DELIVERY_STREAM> durch Ihre eigenen Werte.
Ein CloudWatch-Log-Abonnement erstellen
- Navigieren Sie in der CloudWatch-Konsole zu der Log-Gruppe, deren Logs Sie streamen möchten.
- Öffnen Sie den Tab Subscription filters.
- Wählen Sie Create Amazon Data Firehose subscription filter.
- Wählen Sie den Firehose-Delivery-Stream aus Schritt 4 und die IAM-Rolle aus Schritt 5.
- Geben Sie einen Subscription filter name ein und wählen Sie Start streaming.
- Öffnen Sie den Tab Monitoring Ihres Firehose-Streams und prüfen Sie
DeliveryToHttpEndpoint.Success. Der Wert sollte bei etwa 1 bleiben; ein Abfall oder Null deutet darauf hin, dass AppSignal Datensätze ablehnt. - Prüfen Sie den S3-Fehler-Bucket aus Schritt 2. Fehlgeschlagene Datensätze landen dort, und jedes Objekt enthält den Ablehnungsgrund.
- Wenn Datensätze mit einem Autorisierungsfehler fehlschlagen, überprüfen Sie, ob der Access key am Firehose-Stream mit Ihrem AppSignal-Log-Source-API-Schlüssel übereinstimmt.