Skip to main content
Gebruik een AWS CloudFormation-template om het streamen van CloudWatch-metrics naar AppSignal in te stellen. Het template maakt alle vereiste resources aan in één deployment, in plaats van elke resource handmatig via de AWS Console te configureren. Voor een overzicht van CloudWatch-metrics in AppSignal, inclusief magic dashboards en metric-naamgeving, zie AWS CloudWatch-metrics. Als u liever elke resource handmatig instelt, zie de console-setup-handleiding.

Voordat u begint

Houd de volgende informatie bij de hand:
  • De App-level Push API-sleutel van uw app. Om deze te vinden, opent u de API keys-instellingenpagina, of navigeert u naar uw organisatie-instellingen en selecteert u Dev zone > API keys.
  • De AWS-regio waarin u de stack wilt deployen

Wat het template aanmaakt

Het CloudFormation-template maakt de volgende resources aan:
  1. Een S3-bucket om records die niet geleverd kunnen worden op te slaan, met een lifecycle-vervaltermijn van 30 dagen en een retain-on-delete-policy.
  2. Een IAM-rol waarmee Amazon Data Firehose mislukte records naar de S3-bucket kan schrijven.
  3. Een Firehose delivery stream die metrics via HTTPS naar het AppSignal-endpoint stuurt.
  4. Een IAM-rol waarmee CloudWatch Metric Streams naar de Firehose delivery stream kan schrijven.
  5. Een CloudWatch metric stream die metrics in OpenTelemetry 1.0-formaat exporteert.

CloudFormation-template

Kopieer het volgende template en sla het op als appsignal-cloudwatch-metrics.yaml:
YAML

De stack deployen

  1. Open de AWS CloudFormation-console.
  2. Selecteer Create stack en kies With new resources (standard).
  3. Onder Specify template selecteert u Upload a template file en uploadt u appsignal-cloudwatch-metrics.yaml.
  4. Selecteer Next.
  5. Voer een stack-naam in, bijvoorbeeld appsignal-cloudwatch-metrics.
  6. Voer voor AppLevelPushApiKey de App-level Push API-sleutel van uw app in.
  7. Selecteer tweemaal Next, vink I acknowledge that AWS CloudFormation might create IAM resources aan en selecteer Submit.
Het aanmaken van de stack duurt enkele minuten. Zodra de status CREATE_COMPLETE toont, begint CloudWatch met het streamen van metrics naar AppSignal.

Specifieke AWS-diensten filteren

Standaard streamt het template metrics van alle AWS-diensten in het account. Om alleen specifieke diensten te streamen, voegt u IncludeFilters toe aan de CloudWatchMetricStream-resource:
YAML
Vervang de namespaces door de AWS-diensten die u wilt monitoren. Zie de AWS-diensten die CloudWatch-metrics publiceren voor een volledige lijst met beschikbare namespaces.

De deployment verifiëren

  1. 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.
  2. Zoek in de AWS Console naar “CloudWatch”. Ga in de linker zijbalk naar Metrics > Streams en bevestig dat de status van de metric stream Running is.
  3. 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.
  4. Open in AppSignal het dashboard van uw app en controleer of CloudWatch-metrics op uw custom dashboard verschijnen.
Als metrics na enkele minuten niet verschijnen, controleer dan de S3-bucket op mislukte delivery records. Als u hulp nodig heeft, neem dan contact met ons op.

Multi-regio deployments

Het template deployt alle resources in één enkele AWS-regio. Als u workloads in meerdere regio’s draait, deploy dan een aparte kopie van deze stack in elke regio. Dit houdt de gegevensoverdracht binnen elke regio en voorkomt cross-region transfer fees.

Opruimen

Om alle resources die door dit template zijn aangemaakt te verwijderen, verwijdert u de stack in de CloudFormation-console. De S3-bucket voor mislukte deliveries heeft een DeletionPolicy van Retain, dus deze blijft behouden wanneer de stack wordt verwijderd om te voorkomen dat mislukte delivery records verloren gaan. Mislukte delivery records in de bucket worden na 30 dagen automatisch verwijderd door de lifecycle-regel. U kunt de bucket handmatig verwijderen zodra u deze niet meer nodig heeft.