Creación y configuración de la supervisión de Información de aplicaciones de CloudWatch mediante las plantillas de CloudFormation
Puede agregar el monitoreo de Información de aplicaciones, incluidas las métricas clave y la telemetría, a su aplicación, base de datos y servidor web, directamente desde las plantillas de AWS CloudFormation.
En esta sección encontrará un ejemplo de plantillas de AWS CloudFormation en formatos JSON y YAML para ayudarlo a crear y configurar el monitoreo de Información de aplicaciones.
Para ver la referencia de recursos y propiedades de Información de aplicaciones en la Guía del usuario de AWS CloudFormation, consulte Referencia de tipos de recursos de Información de aplicaciones.
Plantillas de de ejemplo
Creación de una aplicación de Información de aplicaciones para toda la pila de AWS CloudFormation
Para aplicar la siguiente plantilla, cree recursos de AWS y uno o más grupos de recursos a partir de los cuales pueda crear aplicaciones de Información de aplicaciones para monitorear esos recursos. Para obtener más información, consulte Introducción a AWS Resource Groups.
Las dos primeras partes de la siguiente plantilla especifican un recurso y un grupo de recursos. La última parte de la plantilla crea una aplicación de Información de aplicaciones para el grupo de recursos, pero no configura la aplicación ni aplica monitoreo. Para obtener más información, consulte los detalles del comando CreateApplication en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
Plantilla en formato 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" } } }
Plantilla en formato 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 siguiente sección de plantilla aplica la configuración de monitoreo predeterminada a la aplicación de Información de aplicaciones. Para obtener más información, consulte los detalles del comando CreateApplication en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
Cuando AutoConfigurationEnabled
se establece en true
, todos los componentes de la aplicación se configuran con las configuraciones recomendadas de monitoreo para el nivel de aplicación DEFAULT
. Para obtener más información acerca de estas configuraciones y niveles, consulte DescribeComponentConfigurationRecommendation y UpdateComponentConfiguration en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
Plantilla en 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 } } } }
Plantilla en formato YAML
--- AWSTemplateFormatVersion: '2010-09-09' Description:
Test Application Insights Application stack
Resources: AppInsightsApp: Type: AWS::ApplicationInsights::Application Properties: ResourceGroupName:my_resource_group
AutoConfigurationEnabled: true
Creación de una aplicación de Información de aplicaciones con configuraciones detalladas
En la siguiente plantilla se realizan las siguientes acciones:
-
Crea una aplicación de Información de aplicaciones con la notificación de Eventos de CloudWatch y Centro de operaciones habilitado. Para obtener más información, consulte los detalles del comando CreateApplication en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
-
Etiqueta la aplicación con dos etiquetas, una de las cuales no tiene valores de etiqueta. Para obtener más información, consulte TagResource en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
-
Crea dos componentes de grupo de instancias personalizado. Para obtener más información, consulte CreateComponent en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
-
Crea dos conjuntos de patrones de registro. Para obtener más información, consulte CreateLogPattern en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
-
Establece
AutoConfigurationEnabled
entrue
, que configura todos los componentes de la aplicación con la configuración de monitoreo recomendada para el nivelDEFAULT
. Para obtener más información, consulte DescribeComponentConfigurationRecommendation en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
Plantilla en formato 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 } ] } ] } }
Plantilla en formato 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
Creación de una aplicación de Información de aplicaciones con la configuración del componente en modo CUSTOM
En la siguiente plantilla se realizan las siguientes acciones:
-
Crea una aplicación de Información de aplicaciones. Para obtener más información, consulte CreateApplication en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
-
El componente
my_component
estableceComponentConfigurationMode
enCUSTOM
, lo que hace que este componente se configure como se especifica enCustomComponentConfiguration
. Para obtener más información, consulte UpdateComponentConfiguration en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
Plantilla en formato 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" }, ... ] } } ] } } ] } }
Plantilla en formato 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 ...
Creación de una aplicación de Información de aplicaciones con la configuración del componente en modo DEFAULT
En la siguiente plantilla se realizan las siguientes acciones:
-
Crea una aplicación de Información de aplicaciones. Para obtener más información, consulte CreateApplication en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
-
Componente
my_component
estableceComponentConfigurationMode
enDEFAULT
yTier
enSQL_SERVER
, lo que hace que este componente se configure con los ajustes de configuración que Información de aplicaciones recomienda para el nivelSQL_Server
. Para obtener más información, consulte DescribeComponentConfiguration y UpdateComponentConfiguration en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
Plantilla en formato JSON
{ "Type": "AWS::ApplicationInsights::Application", "Properties": { "ResourceGroupName": "
my_resource_group
", "ComponentMonitoringSettings": [ { "ComponentARN": "my_component
", "Tier": "SQL_SERVER", "ComponentConfigurationMode": "DEFAULT" } ] } }
Plantilla en formato YAML
--- Type: AWS::ApplicationInsights::Application Properties: ResourceGroupName:
my_resource_group
ComponentMonitoringSettings: - ComponentARN:my_component
Tier: SQL_SERVER ComponentConfigurationMode: DEFAULT
Creación de una aplicación de Información de aplicaciones con la configuración del componente en modo DEFAULT_WITH_OVERWRITE
En la siguiente plantilla se realizan las siguientes acciones:
-
Crea una aplicación de Información de aplicaciones. Para obtener más información, consulte CreateApplication en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
-
Componente
my_component
estableceComponentConfigurationMode
enDEFAULT_WITH_OVERWRITE
ytier
enDOT_NET_CORE
, lo que hace que este componente se configure con los ajustes de configuración que Información de aplicaciones recomienda para el nivelDOT_NET_CORE
. Los ajustes de configuración sobrescritos se especifican enDefaultOverwriteComponentConfiguration
:-
En el nivel de componente, la configuración de
AlarmMetrics
se sobrescribe. -
En el nivel de subcomponente, para los subcomponentes de tipo
EC2_Instance
, los ajustes deLogs
se sobrescriben.
Para obtener más información, consulte UpdateComponentConfiguration en la Referencia de la API de Información de aplicaciones de Amazon CloudWatch.
-
Plantilla en formato 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
" } ] } } ] } } ] } }
Plantilla en formato 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