Crea e configura il monitoraggio di CloudWatch Application Insights utilizzando modelli CloudFormation - Amazon CloudWatch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea e configura il monitoraggio di CloudWatch Application Insights utilizzando modelli CloudFormation

Puoi aggiungere il monitoraggio di Application Insights, comprese le metriche chiave e la telemetria, all'applicazione, al database e al server Web, direttamente dai modelli. AWS CloudFormation

Questa sezione fornisce AWS CloudFormation modelli di esempio in entrambi i YAML formati per aiutarti a creare JSON e configurare il monitoraggio di Application Insights.

Per visualizzare il riferimento alle risorse e alle proprietà di Application Insights nella Guida per l'AWS CloudFormation utente, consulta il riferimento al tipo di ApplicationInsights risorsa.

Crea un'applicazione Application Insights per l'intero AWS CloudFormation stack

Per applicare il seguente modello, è necessario creare AWS risorse e uno o più gruppi di risorse da cui creare applicazioni Application Insights per monitorare tali risorse. Per ulteriori informazioni, consulta Nozioni di base su AWS Resource Groups.

Le prime due parti del modello seguente specificano una risorsa e un gruppo di risorse. L'ultima parte del modello crea un'applicazione Application Insights per il gruppo di risorse, ma non configura l'applicazione né applica il monitoraggio. Per ulteriori informazioni, consulta i dettagli del CreateApplicationcomando nell'Amazon CloudWatch Application Insights API Reference.

Modello in JSON formato

{ "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" } } }

Modello in YAML formato

--- 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 sezione del modello seguente applica la configurazione di monitoraggio predefinita all'applicazione Application Insights. Per ulteriori informazioni, consulta i dettagli del CreateApplicationcomando nell'Amazon CloudWatch Application Insights API Reference.

Quando AutoConfigurationEnabled è impostato su true, tutti i componenti dell'applicazione vengono configurati con le impostazioni di monitoraggio consigliate per il livello DEFAULT. Per ulteriori informazioni su queste impostazioni e livelli, consulta DescribeComponentConfigurationRecommendatione UpdateComponentConfigurationconsulta Amazon CloudWatch Application Insights API Reference.

Modello in formato JSON

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

Modello in YAML formato

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

Creazione di un'applicazione Application Insights con impostazioni dettagliate

Questo modello di esempio esegue le seguenti operazioni:

  • Crea un'applicazione Application Insights con notifica CloudWatch degli eventi e OpsCenter abilitata. Per ulteriori informazioni, consulta i dettagli del CreateApplicationcomando nell'Amazon CloudWatch Application Insights API Reference.

  • Applica tag all'applicazione con due tag, uno dei quali non ha valori di tag. Per ulteriori informazioni, consulta TagResourceAmazon CloudWatch Application Insights API Reference.

  • Crea due componenti del gruppo di istanze personalizzate. Per ulteriori informazioni, consulta CreateComponentAmazon CloudWatch Application Insights API Reference.

  • Crea due set di modelli di log. Per ulteriori informazioni, consulta CreateLogPatternAmazon CloudWatch Application Insights API Reference.

  • Imposta AutoConfigurationEnabled su true, che configura tutti i componenti dell'applicazione con le impostazioni di monitoraggio consigliate per il livello DEFAULT. Per ulteriori informazioni, consulta DescribeComponentConfigurationRecommendationAmazon CloudWatch Application Insights API Reference.

Modello in JSON formato

{ "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 } ] } ] } }

Modello in YAML formato

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

Creazione di un'applicazione Application Insights con configurazione del componente in modalità CUSTOM

Questo modello di esempio esegue le seguenti operazioni:

  • Crea un'applicazione Application Insights. Per ulteriori informazioni, consulta CreateApplicationAmazon CloudWatch Application Insights API Reference.

  • Il componente my_component imposta ComponentConfigurationMode su CUSTOM, che causa la configurazione di questo componente con la configurazione specificata in CustomComponentConfiguration. Per ulteriori informazioni, consulta UpdateComponentConfigurationAmazon CloudWatch Application Insights API Reference.

Modello in JSON formato

{ "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" }, ... ] } } ] } } ] } }

Modello in YAML formato

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

Creazione di un'applicazione Application Insights con configurazione del componente in modalità DEFAULT

Questo modello di esempio esegue le seguenti operazioni:

  • Crea un'applicazione Application Insights. Per ulteriori informazioni, consulta CreateApplicationAmazon CloudWatch Application Insights API Reference.

  • Il componente my_component imposta ComponentConfigurationMode su DEFAULT e Tier su SQL_SERVER, il che causa la configurazione del componente con le impostazioni di configurazione consigliate da Application Insights per il livello SQL_Server. Per ulteriori informazioni, consulta DescribeComponentConfiguratione UpdateComponentConfigurationconsulta Amazon CloudWatch Application Insights API Reference.

Modello in JSON formato

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

Modello in YAML formato

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

Creazione di un'applicazione Application Insights con configurazione del componente in modalità DEFAULT_WITH_OVERWRITE

Questo modello di esempio esegue le seguenti operazioni:

  • Crea un'applicazione Application Insights. Per ulteriori informazioni, consulta CreateApplicationAmazon CloudWatch Application Insights API Reference.

  • Il componente my_component imposta ComponentConfigurationMode su DEFAULT_WITH_OVERWRITE e tier su DOT_NET_CORE, il che causa la configurazione del componente con le impostazioni di configurazione consigliate da Application Insights per il livello DOT_NET_CORE. Le impostazioni di configurazione sovrascritte sono specificate in DefaultOverwriteComponentConfiguration:

    • A livello di componente, le impostazioni AlarmMetrics vengono sovrascritte.

    • A livello di componente secondario, per i componenti secondari di tipo EC2_Instance, le impostazioni Logs vengono sovrascritte.

    Per ulteriori informazioni, consulta UpdateComponentConfigurationAmazon CloudWatch Application Insights API Reference.

Modello in JSON formato

{ "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" } ] } } ] } } ] } }

Modello in YAML formato

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