Avant de commencer
Préparez les informations suivantes :- La clé Push API au niveau de l’application de votre app. Pour la trouver, ouvrez la page des paramètres des clés d’API, ou rendez-vous dans les paramètres de votre organisation et sélectionnez Dev zone > API keys.
- La région AWS où vous souhaitez déployer la stack
Ce que crée le template
Le template CloudFormation crée les ressources suivantes :- Un bucket S3 pour stocker les enregistrements dont la livraison a échoué, avec une expiration de cycle de vie de 30 jours et une politique de conservation à la suppression.
- Un rôle IAM qui permet à Amazon Data Firehose d’écrire les enregistrements échoués dans le bucket S3.
- Un delivery stream Firehose qui envoie les métriques au point de terminaison AppSignal via HTTPS.
- Un rôle IAM qui permet aux CloudWatch Metric Streams d’écrire dans le delivery stream Firehose.
- Un CloudWatch metric stream qui exporte les métriques au format OpenTelemetry 1.0.
Template CloudFormation
Copiez le template suivant et enregistrez-le sous le nomappsignal-cloudwatch-metrics.yaml :
YAML
Déployer la stack
- Ouvrez la console AWS CloudFormation.
- Sélectionnez Create stack et choisissez With new resources (standard).
- Sous Specify template, sélectionnez Upload a template file et téléchargez
appsignal-cloudwatch-metrics.yaml. - Sélectionnez Next.
- Entrez un nom de stack, par exemple
appsignal-cloudwatch-metrics. - Pour AppLevelPushApiKey, saisissez la clé Push API au niveau de l’application de votre app.
- Sélectionnez Next deux fois, puis cochez I acknowledge that AWS CloudFormation might create IAM resources et sélectionnez Submit.
Filtrer des services AWS spécifiques
Par défaut, le template diffuse les métriques de tous les services AWS du compte. Pour ne diffuser que des services spécifiques, ajoutezIncludeFilters à la ressource CloudWatchMetricStream :
YAML
Vérifier le déploiement
- Dans la console AWS, recherchez “CloudFormation” et sélectionnez Stacks. Ouvrez votre stack et sélectionnez l’onglet Resources pour confirmer que toutes les ressources affichent CREATE_COMPLETE.
- Dans la console AWS, recherchez “CloudWatch”. Dans la barre latérale gauche, allez dans Metrics > Streams et confirmez que le statut du metric stream est Running.
- Dans la console AWS, recherchez “Firehose”. Ouvrez le delivery stream et utilisez la fonction Test with demo data pour vérifier la connectivité.
- Dans AppSignal, ouvrez le tableau de bord de votre app et vérifiez que les métriques CloudWatch apparaissent dans votre tableau de bord personnalisé.
Déploiements multi-régions
Le template déploie toutes les ressources dans une seule région AWS. Si vous exécutez des charges de travail dans plusieurs régions, déployez une copie distincte de cette stack dans chaque région. Cela maintient le transfert de données au sein de chaque région et évite les frais de transfert inter-régions.Nettoyage
Pour supprimer toutes les ressources créées par ce template, supprimez la stack dans la console CloudFormation. Le bucket S3 pour les livraisons échouées a uneDeletionPolicy de Retain, il est donc conservé lors de la suppression de la stack afin d’éviter de perdre des enregistrements de livraison échoués. Les enregistrements de livraison échoués dans le bucket sont automatiquement supprimés après 30 jours par la règle de cycle de vie. Vous pouvez supprimer le bucket manuellement lorsque vous n’en avez plus besoin.