

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
<a name="appinsights-cloudformation"></a>

Vous pouvez ajouter la surveillance 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 à partir de AWS CloudFormation modèles.

Cette section fournit des exemples de CloudFormation modèles aux formats JSON et YAML pour vous aider à créer et à configurer la surveillance d'Application Insights.

Pour consulter la référence aux ressources et aux propriétés d'Application Insights dans le *guide de CloudFormation l'utilisateur*, consultez la [référence aux types de ApplicationInsights ressources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApplicationInsights.html). 

**Topics**
+ [Création d'une application Application Insights pour l'ensemble du CloudFormation stack](#appinsights-cloudformation-apply-to-stack)
+ [Création d'une application Application Insights avec des paramètres détaillés](#appinsights-cloudformation-apply-detailed)
+ [Créez une application Application Insights avec un mode de configuration de composants `CUSTOM`](#appinsights-cloudformation-custom)
+ [Créez une application Application Insights avec un mode de configuration de composants `DEFAULT`](#appinsights-cloudformation-default)
+ [Créez une application Application Insights avec un mode de configuration de composants `DEFAULT_WITH_OVERWRITE`](#appinsights-cloudformation-default-with-overwrite)

## Création d'une application Application Insights pour l'ensemble du CloudFormation stack
<a name="appinsights-cloudformation-apply-to-stack"></a>

Pour appliquer le modèle suivant, vous devez créer des AWS ressources et un ou plusieurs groupes de ressources à partir desquels créer des applications Application Insights afin de surveiller ces ressources. Pour plus d'informations, consultez [Premiers pas avec les Groueps de ressources AWS](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted.html).

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 [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)commande dans le manuel *Amazon CloudWatch Application Insights API Reference*.

**Modèle au format JSON**

```
{
    "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 format YAML**

```
---
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 [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)commande 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 [DescribeComponentConfigurationRecommendation](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_DescribeComponentConfigurationRecommendation.html)et [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html)dans le manuel *Amazon CloudWatch Application Insights API Reference*. 

**Modèle au format JSON**

```
{
    "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 format YAML**

```
---
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
<a name="appinsights-cloudformation-apply-detailed"></a>

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 [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)commande 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 [TagResource](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_TagResource.html)le manuel *Amazon CloudWatch Application Insights API Reference*.
+ Crée deux composants de groupe d'instance personnalisés. Pour plus d'informations, consultez [CreateComponent](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateComponent.html)le manuel *Amazon CloudWatch Application Insights API Reference*.
+ Crée deux jeux de motifs de journal. Pour plus d'informations, consultez [CreateLogPattern](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateLogPattern.html)le 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 [DescribeComponentConfigurationRecommendation](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_DescribeComponentConfigurationRecommendation.html)le manuel *Amazon CloudWatch Application Insights API Reference*.

**Modèle au format JSON**

```
{
    "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 format YAML**

```
---
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`
<a name="appinsights-cloudformation-custom"></a>

Le modèle suivant exécute ces actions :
+ Crée une application Application Insights. Pour plus d'informations, consultez [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)le 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 [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html)le manuel *Amazon CloudWatch Application Insights API Reference*.

**Modèle au format JSON**

```
{
    "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 format YAML**

```
---
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`
<a name="appinsights-cloudformation-default"></a>

Le modèle suivant exécute ces actions :
+ Crée une application Application Insights. Pour plus d'informations, consultez [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)le 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 [DescribeComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_DescribeComponentConfiguration.html)et consultez [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html)le manuel *Amazon CloudWatch Application Insights API Reference*.

**Modèle au format JSON**

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

**Modèle au format YAML**

```
---
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`
<a name="appinsights-cloudformation-default-with-overwrite"></a>

Le modèle suivant exécute ces actions :
+ Crée une application Application Insights. Pour plus d'informations, consultez [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)le 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 [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html)le manuel *Amazon CloudWatch Application Insights API Reference*.

**Modèle au format JSON**

```
{
    "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 format YAML**

```
---
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
```