Naar hoofdinhoud gaan
Deze handleiding doorloopt het instellen van het streamen van CloudWatch-metrics naar AppSignal door elke resource handmatig in de AWS Console aan te maken. Voor een geautomatiseerd alternatief, zie AWS CloudWatch-metrics streamen met CloudFormation. Voor een overzicht van CloudWatch-metrics in AppSignal, inclusief magic dashboards en metric-naamgeving, zie AWS CloudWatch-metrics. Voltooi de volgende stappen om CloudWatch-metrics naar AppSignal te sturen via Amazon Data Firehose:
  1. Een S3-bucket voor mislukte deliveries instellen
  2. Een IAM-rol voor Data Firehose instellen
  3. Een Firehose stream aanmaken
  4. Een CloudWatch metric stream aanmaken
Houd voordat u begint 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 waarvan u metrics wilt streamen.
  • AWS-permissies om Firehose streams, CloudWatch metric streams, S3-buckets en IAM-rollen aan te maken.

Een S3-bucket voor mislukte deliveries instellen

Amazon Data Firehose vereist een S3-bucket om records die niet geleverd kunnen worden op te slaan. Maak een S3-bucket aan via de AWS Console of CLI voordat u doorgaat.

Een IAM-rol voor Data Firehose instellen

Maak een IAM-rol aan waarmee Data Firehose naar de S3-bucket kan schrijven. Gebruik het volgende trust policy:
JSON
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "firehose.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
Wijs het volgende permissions policy toe aan de rol als inline policy.
Zie IAM-identiteitsmachtigingen toevoegen voor instructies over het aanmaken van inline-policies voor IAM-rollen.
JSON
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::<FIREHOSE_S3_BUCKET>",
        "arn:aws:s3:::<FIREHOSE_S3_BUCKET>/*"
      ]
    }
  ]
}
Vervang <FIREHOSE_S3_BUCKET> door de naam van de S3-bucket die u in de vorige stap heeft aangemaakt.

Een Firehose stream aanmaken

  1. Open de Amazon Data Firehose-console en selecteer Create Firehose stream.
  2. Selecteer Direct PUT als source.
  3. Selecteer HTTP Endpoint als destination.
  4. Onder “Transform records” laat u data transformation uitgeschakeld. De gegevens moeten ongewijzigd worden geleverd.
  5. Voer de volgende URL in als HTTP endpoint URL:
Shell
https://appsignal-endpoint.net/metrics/aws-cloudwatch
  1. Voer de App-level Push API-sleutel van uw app in als Access key. Dit is geen AWS-access-key. Het is de sleutel die AppSignal gebruikt om uw app te identificeren.
  2. Onder “Content encoding” selecteert u GZIP.
  3. Onder “Buffer hints” stelt u de buffer size in op 1 MB en het buffer interval op 60 seconds voor de laagste latency. Hogere waarden verlagen de kosten maar verhogen de delivery-vertraging.
  4. Onder “Backup settings” stelt u source record backup in op Failed data only en selecteert u de S3-bucket die u in de vorige stappen heeft aangemaakt.
  5. Onder “Advanced settings > Service access” selecteert u Choose existing IAM role en kiest u de IAM-rol die u in de vorige stappen heeft aangemaakt.
  6. Selecteer Create Firehose stream.

Een CloudWatch metric stream aanmaken

  1. In de CloudWatch-console gaat u naar Metrics > Streams.
  2. Selecteer Create metric stream.
  3. Selecteer Custom setup with Firehose. Onder Select your Amazon Data Firehose stream kiest u de Firehose stream die u in de vorige stap heeft aangemaakt.
  4. Kies welke metrics u wilt streamen:
    • All metrics streamt alles van alle AWS-diensten. Dit is de eenvoudigste optie, maar kan de kosten verhogen.
    • Selected namespaces laat u specifieke namespaces opnemen of uitsluiten, zoals AWS/EC2, AWS/Lambda of AWS/RDS. Zie de pagina magic dashboards voor de diensten die AppSignal ondersteunt.
  5. Selecteer OpenTelemetry 1.0 als output-formaat.
  6. Voor Service access laat u de AWS Console de IAM-rol voor u aanmaken of bijwerken, of kiest u een bestaande rol met permissies om naar de Firehose stream te schrijven.
  7. Selecteer Create metric stream.
U kunt meerdere metric streams aanmaken als u metrics naar verschillende destinations wilt sturen of metrics anders wilt filteren voor afzonderlijke use cases.

De setup verifiëren

Na het voltooien van de setup, geef het 5 tot 10 minuten voordat metrics in AppSignal beginnen te verschijnen. Om te verifiëren dat gegevens stromen:
  1. Controleer het tabblad Monitoring op uw Firehose stream in de AWS Console. Kijk naar niet-nul metrics voor Incoming records en HTTP endpoint - Success.
  2. Bevestig dat de status van de metric stream Running toont in de CloudWatch-console onder Metrics > Streams.
Als er geen gegevens verschijnen, schakel dan CloudWatch Logs error logging in op de Firehose stream en controleer op delivery-errors.
Sommige AWS-metrics, zoals dagelijkse S3-opslagmetrics, worden gerapporteerd met tijdstempels die ouder zijn dan twee uur en verschijnen niet in metric streams. Zie de documentatie over AWS CloudWatch Metric Streams voor details over rapportagefrequenties van metrics.

CloudWatch-metrics in AppSignal

Na de setup ontvangt AppSignal metrics van elke AWS-dienst die metrics via CloudWatch uitzendt. AppSignal maakt automatisch magic dashboards aan voor ondersteunde AWS-diensten wanneer het hun metrics detecteert. Deze dashboards verschijnen in Dashboards met vooraf opgebouwde grafieken voor de belangrijkste metrics van elke dienst. U kunt ook uw eigen weergaven bouwen met custom dashboards. Typ in het veld Metric aws_ om door de CloudWatch-metrics te bladeren die AppSignal heeft ontvangen. AppSignal normaliseert CloudWatch-metric-namen naar kleine letters met underscores. Bijvoorbeeld, AWS/Firehose DeliveryToS3.Success wordt aws_firehose_delivery_to_s3_success. Het kan enkele minuten duren na de setup voordat de eerste metrics verschijnen. Als de lijst leeg is, wacht dan enkele minuten en vernieuw. Als u hulp nodig heeft, neem dan contact met ons op.