Création et configuration de la surveillance CloudWatch d'Application Insights à l'aide CloudFormation de modèles - Amazon CloudWatch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création et configuration de la surveillance CloudWatch d'Application Insights à l'aide CloudFormation de modèles

Vous pouvez ajouter la surveillance d'Application Insights, y compris les indicateurs clés et la télémétrie, à votre application, à votre base de données et à votre serveur Web, directement depuis AWS CloudFormation modèles.

Cette section fournit un exemple AWS CloudFormation des modèles dans les deux JSON YAML formats pour vous aider à créer et à configurer la surveillance d'Application Insights.

Pour consulter la ressource et la référence de propriété Application Insights dans le AWS CloudFormation Guide de l'utilisateur, voir la référence ApplicationInsights des types de ressources.

Créez une application Application Insights pour l'ensemble AWS CloudFormation pile

Pour appliquer le modèle suivant, vous devez créer AWS des ressources et un ou plusieurs groupes de ressources à partir desquels créer des applications Application Insights pour surveiller ces ressources. Pour plus d'informations, consultez Getting started with AWS Resource Groups.

Les deux premières parties du modèle suivant spécifient une ressource et un Resource Group. La dernière partie du modèle crée une application Application Insights pour le Resource Group, mais ne configure pas l'application ni n'applique aucune surveillance. Pour plus d'informations, consultez les détails de la CreateApplicationcommande dans le manuel Amazon CloudWatch Application Insights API Reference.

Modèle au JSON format

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "Test Resource Group stack", "Resources": { "EC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId" : "ami-abcd1234efgh5678i", "SecurityGroupIds" : ["sg-abcd1234"] } }, ... "ResourceGroup": { "Type": "AWS::ResourceGroups::Group", "Properties": { "Name": "my_resource_group" } }, "AppInsightsApp": { "Type": "AWS::ApplicationInsights::Application", "Properties": { "ResourceGroupName": "my_resource_group" }, "DependsOn" : "ResourceGroup" } } }

Modèle au YAML format

--- AWSTemplateFormatVersion: '2010-09-09' Description: Test Resource Group stack Resources: EC2Instance: Type: AWS::EC2::Instance Properties: ImageId: ami-abcd1234efgh5678i SecurityGroupIds: - sg-abcd1234 ... ResourceGroup: Type: AWS::ResourceGroups::Group Properties: Name: my_resource_group AppInsightsApp: Type: AWS::ApplicationInsights::Application Properties: ResourceGroupName: my_resource_group DependsOn: ResourceGroup

La section de modèle suivante applique la configuration de surveillance par défaut à l'application Application Insights. Pour plus d'informations, consultez les détails de la CreateApplicationcommande dans le manuel Amazon CloudWatch Application Insights API Reference.

Lorsque AutoConfigurationEnabled est défini sur true, tous les composants de l'application sont configurés avec les paramètres de surveillance recommandés pour le niveau application DEFAULT. Pour plus d'informations sur ces paramètres et niveaux, consultez DescribeComponentConfigurationRecommendationet UpdateComponentConfigurationdans le manuel Amazon CloudWatch Application Insights API Reference.

Modèle au JSON format

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "Test Application Insights Application stack", "Resources": { "AppInsightsApp": { "Type": "AWS::ApplicationInsights::Application", "Properties": { "ResourceGroupName": "my_resource_group", "AutoConfigurationEnabled": true } } } }

Modèle au YAML format

--- AWSTemplateFormatVersion: '2010-09-09' Description: Test Application Insights Application stack Resources: AppInsightsApp: Type: AWS::ApplicationInsights::Application Properties: ResourceGroupName: my_resource_group AutoConfigurationEnabled: true

Création d'une application Application Insights avec des paramètres détaillés

Le modèle suivant exécute ces actions :

  • Crée une application Application Insights avec notification d' CloudWatch événements et OpsCenter activée. Pour plus d'informations, consultez les détails de la CreateApplicationcommande dans le manuel Amazon CloudWatch Application Insights API Reference.

  • Étiquette l'application avec deux étiquettes, dont l'une n'a aucune valeur d'étiquette Pour plus d'informations, consultez TagResourcele manuel Amazon CloudWatch Application Insights API Reference.

  • Crée deux composants de groupe d'instance personnalisés. Pour plus d'informations, consultez CreateComponentle manuel Amazon CloudWatch Application Insights API Reference.

  • Crée deux jeux de motifs de journal. Pour plus d'informations, consultez CreateLogPatternle manuel Amazon CloudWatch Application Insights API Reference.

  • Définit AutoConfigurationEnabled sur true, qui configure tous les composants de l'application avec les paramètres de surveillance recommandés pour le niveau DEFAULT. Pour plus d'informations, consultez DescribeComponentConfigurationRecommendationle manuel Amazon CloudWatch Application Insights API Reference.

Modèle au JSON format

{ "Type": "AWS::ApplicationInsights::Application", "Properties": { "ResourceGroupName": "my_resource_group", "CWEMonitorEnabled": true, "OpsCenterEnabled": true, "OpsItemSNSTopicArn": "arn:aws:sns:us-east-1:123456789012:my_topic", "AutoConfigurationEnabled": true, "Tags": [ { "Key": "key1", "Value": "value1" }, { "Key": "key2", "Value": "" } ], "CustomComponents": [ { "ComponentName": "test_component_1", "ResourceList": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i" ] }, { "ComponentName": "test_component_2", "ResourceList": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i", "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i" ] } ], "LogPatternSets": [ { "PatternSetName": "pattern_set_1", "LogPatterns": [ { "PatternName": "deadlock_pattern", "Pattern": ".*\\sDeadlocked\\sSchedulers(([^\\w].*)|($))", "Rank": 1 } ] }, { "PatternSetName": "pattern_set_2", "LogPatterns": [ { "PatternName": "error_pattern", "Pattern": ".*[\\s\\[]ERROR[\\s\\]].*", "Rank": 1 }, { "PatternName": "warning_pattern", "Pattern": ".*[\\s\\[]WARN(ING)?[\\s\\]].*", "Rank": 10 } ] } ] } }

Modèle au YAML format

--- Type: AWS::ApplicationInsights::Application Properties: ResourceGroupName: my_resource_group CWEMonitorEnabled: true OpsCenterEnabled: true OpsItemSNSTopicArn: arn:aws:sns:us-east-1:123456789012:my_topic AutoConfigurationEnabled: true Tags: - Key: key1 Value: value1 - Key: key2 Value: '' CustomComponents: - ComponentName: test_component_1 ResourceList: - arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i - ComponentName: test_component_2 ResourceList: - arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i - arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i LogPatternSets: - PatternSetName: pattern_set_1 LogPatterns: - PatternName: deadlock_pattern Pattern: ".*\\sDeadlocked\\sSchedulers(([^\\w].*)|($))" Rank: 1 - PatternSetName: pattern_set_2 LogPatterns: - PatternName: error_pattern Pattern: ".*[\\s\\[]ERROR[\\s\\]].*" Rank: 1 - PatternName: warning_pattern Pattern: ".*[\\s\\[]WARN(ING)?[\\s\\]].*" Rank: 10

Créez une application Application Insights avec un mode de configuration de composants CUSTOM

Le modèle suivant exécute ces actions :

  • Crée une application Application Insights. Pour plus d'informations, consultez CreateApplicationle manuel Amazon CloudWatch Application Insights API Reference.

  • Le composant my_component définit ComponentConfigurationMode sur CUSTOM, ce qui entraîne ce composant d'être configuré avec le configuration spécifiée dans CustomComponentConfiguration. Pour plus d'informations, consultez UpdateComponentConfigurationle manuel Amazon CloudWatch Application Insights API Reference.

Modèle au JSON format

{ "Type": "AWS::ApplicationInsights::Application", "Properties": { "ResourceGroupName": "my_resource_group, "ComponentMonitoringSettings": [ { "ComponentARN": "my_component", "Tier": "SQL_SERVER", "ComponentConfigurationMode": "CUSTOM", "CustomComponentConfiguration": { "ConfigurationDetails": { "AlarmMetrics": [ { "AlarmMetricName": "StatusCheckFailed" }, ... ], "Logs": [ { "LogGroupName": "my_log_group_1", "LogPath": "C:\\LogFolder_1\\*", "LogType": "DOT_NET_CORE", "Encoding": "utf-8", "PatternSet": "my_pattern_set_1" }, ... ], "WindowsEvents": [ { "LogGroupName": "my_windows_event_log_group_1", "EventName": "Application", "EventLevels": [ "ERROR", "WARNING", ... ], "Encoding": "utf-8", "PatternSet": "my_pattern_set_2" }, ... ], "Alarms": [ { "AlarmName": "my_alarm_name", "Severity": "HIGH" }, ... ] }, "SubComponentTypeConfigurations": [ { "SubComponentType": "EC2_INSTANCE", "SubComponentConfigurationDetails": { "AlarmMetrics": [ { "AlarmMetricName": "DiskReadOps" }, ... ], "Logs": [ { "LogGroupName": "my_log_group_2", "LogPath": "C:\\LogFolder_2\\*", "LogType": "IIS", "Encoding": "utf-8", "PatternSet": "my_pattern_set_3" }, ... ], "processes" : [ { "processName" : "my_process", "alarmMetrics" : [ { "alarmMetricName" : "procstat cpu_usage", "monitor" : true }, { "alarmMetricName" : "procstat memory_rss", "monitor" : true } ] } ], "WindowsEvents": [ { "LogGroupName": "my_windows_event_log_group_2", "EventName": "Application", "EventLevels": [ "ERROR", "WARNING", ... ], "Encoding": "utf-8", "PatternSet": "my_pattern_set_4" }, ... ] } } ] } } ] } }

Modèle au YAML format

--- Type: AWS::ApplicationInsights::Application Properties: ResourceGroupName: my_resource_group ComponentMonitoringSettings: - ComponentARN: my_component Tier: SQL_SERVER ComponentConfigurationMode: CUSTOM CustomComponentConfiguration: ConfigurationDetails: AlarmMetrics: - AlarmMetricName: StatusCheckFailed ... Logs: - LogGroupName: my_log_group_1 LogPath: C:\LogFolder_1\* LogType: DOT_NET_CORE Encoding: utf-8 PatternSet: my_pattern_set_1 ... WindowsEvents: - LogGroupName: my_windows_event_log_group_1 EventName: Application EventLevels: - ERROR - WARNING ... Encoding: utf-8 PatternSet: my_pattern_set_2 ... Alarms: - AlarmName: my_alarm_name Severity: HIGH ... SubComponentTypeConfigurations: - SubComponentType: EC2_INSTANCE SubComponentConfigurationDetails: AlarmMetrics: - AlarmMetricName: DiskReadOps ... Logs: - LogGroupName: my_log_group_2 LogPath: C:\LogFolder_2\* LogType: IIS Encoding: utf-8 PatternSet: my_pattern_set_3 ... Processes: - ProcessName: my_process AlarmMetrics: - AlarmMetricName: procstat cpu_usage ... ... WindowsEvents: - LogGroupName: my_windows_event_log_group_2 EventName: Application EventLevels: - ERROR - WARNING ... Encoding: utf-8 PatternSet: my_pattern_set_4 ...

Créez une application Application Insights avec un mode de configuration de composants DEFAULT

Le modèle suivant exécute ces actions :

  • Crée une application Application Insights. Pour plus d'informations, consultez CreateApplicationle manuel Amazon CloudWatch Application Insights API Reference.

  • Le composant my_component définit ComponentConfigurationMode sur DEFAULT et Tier sur SQL_SERVER, ce qui entraîne la configuration de ce composant avec les paramètres de configuration recommandés par Application Insights pour le niveau SQL_Server. Pour plus d'informations, consultez DescribeComponentConfigurationet consultez UpdateComponentConfigurationle manuel Amazon CloudWatch Application Insights API Reference.

Modèle au JSON format

{ "Type": "AWS::ApplicationInsights::Application", "Properties": { "ResourceGroupName": "my_resource_group", "ComponentMonitoringSettings": [ { "ComponentARN": "my_component", "Tier": "SQL_SERVER", "ComponentConfigurationMode": "DEFAULT" } ] } }

Modèle au YAML format

--- Type: AWS::ApplicationInsights::Application Properties: ResourceGroupName: my_resource_group ComponentMonitoringSettings: - ComponentARN: my_component Tier: SQL_SERVER ComponentConfigurationMode: DEFAULT

Créez une application Application Insights avec un mode de configuration de composants DEFAULT_WITH_OVERWRITE

Le modèle suivant exécute ces actions :

  • Crée une application Application Insights. Pour plus d'informations, consultez CreateApplicationle manuel Amazon CloudWatch Application Insights API Reference.

  • Le composant my_component définit ComponentConfigurationMode sur DEFAULT_WITH_OVERWRITE et tier sur DOT_NET_CORE, ce qui entraîne la configuration de ce composant avec les paramètres de configuration recommandés par Application Insights pour le niveau DOT_NET_CORE. Les paramètres de configuration écrasés sont spécifiés dans DefaultOverwriteComponentConfiguration :

    • Au niveau du composant, les paramètres AlarmMetrics sont remplacés.

    • Au niveau des sous-composants, pour les sous-composants de type EC2_Instance, les paramètres Logs sont remplacés.

    Pour plus d'informations, consultez UpdateComponentConfigurationle manuel Amazon CloudWatch Application Insights API Reference.

Modèle au JSON format

{ "Type": "AWS::ApplicationInsights::Application", "Properties": { "ResourceGroupName": "my_resource_group", "ComponentMonitoringSettings": [ { "ComponentName": "my_component", "Tier": "DOT_NET_CORE", "ComponentConfigurationMode": "DEFAULT_WITH_OVERWRITE", "DefaultOverwriteComponentConfiguration": { "ConfigurationDetails": { "AlarmMetrics": [ { "AlarmMetricName": "StatusCheckFailed" } ] }, "SubComponentTypeConfigurations": [ { "SubComponentType": "EC2_INSTANCE", "SubComponentConfigurationDetails": { "Logs": [ { "LogGroupName": "my_log_group", "LogPath": "C:\\LogFolder\\*", "LogType": "IIS", "Encoding": "utf-8", "PatternSet": "my_pattern_set" } ] } } ] } } ] } }

Modèle au YAML format

--- Type: AWS::ApplicationInsights::Application Properties: ResourceGroupName: my_resource_group ComponentMonitoringSettings: - ComponentName: my_component Tier: DOT_NET_CORE ComponentConfigurationMode: DEFAULT_WITH_OVERWRITE DefaultOverwriteComponentConfiguration: ConfigurationDetails: AlarmMetrics: - AlarmMetricName: StatusCheckFailed SubComponentTypeConfigurations: - SubComponentType: EC2_INSTANCE SubComponentConfigurationDetails: Logs: - LogGroupName: my_log_group LogPath: C:\LogFolder\* LogType: IIS Encoding: utf-8 PatternSet: my_pattern_set