Voordat u begint
Houd de volgende informatie bij de hand:- De API-sleutel van uw logbron. Als u nog geen logbron heeft, maak dan eerst een nieuwe logbron aan.
- De naam van de bestaande CloudWatch-loggroep die u naar AppSignal wilt streamen.
- De AWS-regio waarin de loggroep zich bevindt. Implementeer de stack in dezelfde regio en hetzelfde account als de loggroep.
Wat de template aanmaakt
De CloudFormation-template maakt de volgende resources aan:- Een S3-bucket om records op te slaan die niet worden afgeleverd, met server-side encryptie, geblokkeerde publieke toegang, een levensduur van 30 dagen en een retain-on-delete-policy.
- Een IAM-rol waarmee Amazon Data Firehose mislukte records naar de S3-bucket kan schrijven en zijn eigen aflevering-foutlogs naar CloudWatch kan schrijven.
- Een Firehose delivery stream die logs via HTTPS naar het AppSignal-endpoint stuurt.
- Een IAM-rol waarmee CloudWatch Logs naar de Firehose delivery stream kan schrijven.
- Een CloudWatch log subscription filter op uw bestaande loggroep die log-events doorstuurt naar de Firehose delivery stream.
CloudFormation-template
Kopieer de volgende template en sla deze op alsappsignal-cloudwatch-logs.yaml:
De
logs:PutLogEvents-statement staat Firehose toe om zijn eigen aflevering-foutlogs naar CloudWatch te schrijven. Het richt zich op de Firehose-foutloggroep (/aws/kinesisfirehose/<STREAM_NAME>), die los staat van de loggroep die u naar AppSignal wilt streamen. Zie Controlling access with Amazon Data Firehose voor meer details.De stack implementeren
- Open de AWS CloudFormation-console.
- Selecteer Create stack en kies With new resources (standard).
- Onder Specify template selecteert u Upload a template file en uploadt u
appsignal-cloudwatch-logs.yaml. - Selecteer Next.
- Voer een stacknaam in, bijvoorbeeld
appsignal-cloudwatch-logs. - Voer bij LogSourceApiKey de API-sleutel van uw logbron in.
- Voer bij CloudWatchLogGroupName de exacte naam in van de loggroep die u wilt streamen.
- Selecteer twee keer Next, vink vervolgens I acknowledge that AWS CloudFormation might create IAM resources aan en selecteer Submit.
De deployment verifiëren
- Zoek in de AWS Console naar “CloudFormation” en selecteer Stacks. Open uw stack en selecteer het tabblad Resources om te bevestigen dat alle resources CREATE_COMPLETE tonen.
- Zoek in de AWS Console naar “CloudWatch”. Open in de linker zijbalk uw loggroep en selecteer het tabblad Subscription filters om te bevestigen dat het
AppSignal-filter wordt vermeld. - Zoek in de AWS Console naar “Firehose”. Open de delivery stream en gebruik de functie Test with demo data om de connectiviteit te verifiëren.
- Open in AppSignal het logbeheerscherm en bevestig dat logvermeldingen uit uw loggroep daar verschijnen.
Implementaties in meerdere regio’s
De template moet worden geïmplementeerd in dezelfde regio en hetzelfde account als de CloudWatch-loggroep. Als u loggroepen in meerdere regio’s heeft, implementeert u een aparte kopie van deze stack in elke regio.Opruimen
Om alle door deze template aangemaakte resources te verwijderen, verwijdert u de stack in de CloudFormation-console. De S3-bucket voor mislukte afleveringen heeft eenDeletionPolicy van Retain, dus deze blijft behouden wanneer de stack wordt verwijderd, om te voorkomen dat mislukte aflevering-records verloren gaan. Mislukte aflevering-records in de bucket worden automatisch na 30 dagen verwijderd door de lifecycle-regel. U kunt de bucket handmatig verwijderen zodra u deze niet meer nodig heeft.