使用命令行设置、配置和管理要监视的应用程序 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用命令行设置、配置和管理要监视的应用程序

本节提供了设置、配置和管理使用监控的应用程序的步骤。Amazon CLI和 AAmazon Tools for Windows PowerShell。

添加和管理应用程序

您可以使用命令行添加、管理和配置 Application Insights 应用程序以及获取有关它的信息。

添加应用程序

使用Amazon CLI

使用Amazon CLI为资源组添加一个名为my-resource-group,并启用了 OpsCenter 以将创建的操作 opsItem 传送到 SNS 主题 ARN arn-cn:aws:sns:cn-north-1:123456789012:MyTopic,使用以下命令。

aws application-insights create-application --resource-group-name my-resource-group --ops-center-enabled --ops-item-sns-topic-arn arn-cn:aws:sns:cn-north-1:123456789012:MyTopic

使用添加应用程序Amazon Tools for Windows PowerShell

使用Amazon Tools for Windows PowerShell为资源组添加一个名为my-resource-group启用了 OpsCenter,以将创建的操作 opsItem 交付到 SNS 主题 ARNarn:aws:sns:cn-north-1:123456789012:MyTopic,使用以下命令。

New-CWAIApplication -ResourceGroupName my-resource-group -OpsCenterEnabled true -OpsItemSNSTopicArn arn-cn:aws:sns:cn-north-1:123456789012:MyTopic

描述应用程序

使用描述应用程序Amazon CLI

使用Amazon CLI描述在名为的资源组上创建的应用程序my-resource-group,使用以下命令。

aws application-insights describe-application --resource-group-name my-resource-group

使用描述应用程序Amazon Tools for Windows PowerShell

使用Amazon Tools for Windows PowerShell描述在名为的资源组上创建的应用程序my-resource-group,使用以下命令。

Get-CWAIApplication -ResourceGroupName my-resource-group

列出应用程序中的组件

使用列出应用程序中的组件Amazon CLI

使用Amazon CLI列出在名为my-resource-group,使用以下命令。

aws application-insights list-components --resource-group-name my-resource-group

使用列出应用程序中的组件Amazon Tools for Windows PowerShell

使用Amazon Tools for Windows PowerShell列出在名为my-resource-group,使用以下命令。

Get-CWAIComponentList -ResourceGroupName my-resource-group

描述组件

使用运行Amazon CLI

您可以使用以下命令Amazon CLI命令描述名为my-component,属于在名为的资源组上创建的应用程序my-resource-group

aws application-insights describe-component --resource-group-name my-resource-group --component-name my-component

使用描述组件Amazon Tools for Windows PowerShell

您可以使用以下命令Amazon Tools for Windows PowerShell命令描述名为my-component,属于在名为的资源组上创建的应用程序my-resource-group

Get-CWAIComponent -ComponentName my-component -ResourceGroupName my-resource-group

将类似资源分组到自定义组件中

我们建议将类似的资源(如 .NET Web 服务器实例)分组到自定义组件中,以轻松添加资源以及更好地进行监控和提供相应的信息。目前,CloudWatch Application Insights 支持 EC2 实例的自定义组。

使用将资源分组到自定义组件中Amazon CLI

使用Amazon CLI将三个实例分组(arn-cn:aws:ec2:cn-north-1:123456789012:instance/i-11111arn-cn:aws:ec2:cn-north-1:123456789012:instance/i-22222, 和arn-cn:aws:ec2:cn-north-1:123456789012:instance/i-33333)一起运行到名为my-component对于为资源组创建的应用程序,名为my-resource-group,使用以下命令。

aws application-insights create-component --resource-group-name my-resource-group --component-name my-component --resource-list arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-11111 arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-22222 arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-33333

使用将资源分组到自定义组件Amazon Tools for Windows PowerShell

使用Amazon Tools for Windows PowerShell将三个实例分组(arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-11111arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-22222, 和arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-33333)一起运行到名为my-component,用于为资源组创建的名为my-resource-group,使用以下命令。

New-CWAIComponent -ResourceGroupName my-resource-group -ComponentName my-component -ResourceList arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-11111,arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-22222,arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-33333

对自定义组件取消分组

使用使用自定义组件取消分组Amazon CLI

使用Amazon CLI对自定义组件取消分组my-component在资源组上创建的应用程序中,my-resource-group,使用以下命令。

aws application-insights delete-component --resource-group-name my-resource-group --component-name my-new-component

使用自定义组件取消分组Amazon Tools for Windows PowerShell

使用Amazon Tools for Windows PowerShell对自定义组件取消分组my-component在资源组上创建的应用程序中,my-resource-group,使用以下命令。

Remove-CWAIComponent -ComponentName my-component -ResourceGroupName my-resource-group

更新应用程序

使用应用程序更新Amazon CLI

您可以使用Amazon CLI更新应用程序以生成Amazon适用于在应用程序中检测到的问题的 Systems Manager OpsCenter OpsCenter OpsItems 与 SNS 主题相关联的问题。arn:aws-cn:sns:cn-north-1:123456789012:MyTopic,使用以下命令。

aws application-insights update-application --resource-group-name my-resource-group --ops-center-enabled --ops-item-sns-topic-arn arn:aws-cn:sns:cn-north-1:123456789012:MyTopic

使用更新应用程序Amazon适用于 Windows PowerShell 的 工具

您可以使用Amazon Tools for Windows PowerShell更新应用程序以生成Amazon对于在应用程序中检测到的问题,以及将创建的 OpsItems 与 SNS 主题相关联的 SSM OpsCenter OpsCenter OpsCenter OpsItems ,使用以下命令。

Update-CWAIApplication -ResourceGroupName my-resource-group -OpsCenterEnabled true -OpsItemSNSTopicArn arn:aws-cn:sns:cn-north-1:123456789012:MyTopic

更新自定义组件

使用自定义组件更新Amazon CLI Amazon CLI

您可以使用Amazon CLI更新名为my-component使用新组件名称,my-new-component和更新的实例组,通过使用以下命令。

aws application-insights update-component --resource-group-name my-resource-group --component-name my-component --new-component-name my-new-component --resource-list arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-44444 arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-55555

使用更新自定义组件Amazon适用于 Windows PowerShell 的 工具

您可以使用Amazon Tools for Windows PowerShell更新名为my-component使用新组件名称,my-new-component和更新的实例组,通过使用以下命令。

Update-CWAIComponent -ComponentName my-component -NewComponentName my-new-component -ResourceGroupName my-resource-group -ResourceList arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-44444,arn:aws-cn:ec2:cn-north-1:123456789012:instance/i-55555

管理和更新监控

您可以使用命令行管理和更新针对 Application Insights 应用程序的监控。

列出应用程序的问题

使用列出应用程序的问题Amazon CLI

使用Amazon CLI以列出自 Unix Epoch 以来针对在名为的资源组上创建的应用程序在 1,000 到 10,000 毫秒之间检测到的应用程序问题my-resource-group,使用以下命令。

aws application-insights list-problems --resource-group-name my-resource-group --start-time 1000 --end-time 10000

使用列出应用程序的问题Amazon适用于 Windows PowerShell 的 工具

使用Amazon Tools for Windows PowerShell以列出自 Unix Epoch 以来针对在名为的资源组上创建的应用程序在 1,000 到 10,000 毫秒之间检测到的应用程序问题my-resource-group,使用以下命令。

$startDate = "8/6/2019 3:33:00" $endDate = "8/6/2019 3:34:00" Get-CWAIProblemList -ResourceGroupName my-resource-group -StartTime $startDate -EndTime $endDate

描述应用程序问题

使用描述应用程序问题Amazon CLI

使用Amazon CLI描述问题 IDp-1234567890,使用以下命令。

aws application-insights describe-problem —problem-id p-1234567890

使用描述应用程序问题Amazon适用于 Windows PowerShell 的 工具

使用Amazon Tools for Windows PowerShell描述问题 IDp-1234567890,使用以下命令。

Get-CWAIProblem -ProblemId p-1234567890

描述与问题关联的异常或错误

使用描述与问题关联的异常或错误Amazon CLI

使用Amazon CLI描述与问题 ID 为的问题关联的异常或错误p-1234567890,使用以下命令。

aws application-insights describe-problem-observations --problem-id -1234567890

使用描述与问题关联的异常或错误Amazon Tools for Windows PowerShell

使用Amazon Tools for Windows PowerShell描述与问题 ID 为的问题关联的异常或错误p-1234567890,使用以下命令。

Get-CWAIProblemObservation -ProblemId p-1234567890

描述应用程序的异常或错误

使用AmazonCLI

使用Amazon CLI描述观察 ID 为的应用程序的异常或错误o-1234567890,使用以下命令。

aws application-insights describe-observation —observation-id o-1234567890

使用描述应用程序的异常或错误Amazon适用于 Windows PowerShell 的 工具

使用Amazon Tools for Windows PowerShell描述观察 ID 为的应用程序的异常或错误o-1234567890,使用以下命令。

Get-CWAIObservation -ObservationId o-1234567890

描述组件的监控配置

使用组件描述组件的监控配置Amazon CLI

使用Amazon CLI描述名为的组件的监控配置my-component在资源组上创建的应用程序中my-resource-group,使用以下命令。

aws application-insights describe-component-configuration —resource-group-name my-resource-group —component-name my-component

使用描述组件的监控配置Amazon适用于 Windows PowerShell 的 工具

使用Amazon Tools for Windows PowerShell描述名为的组件的监控配置my-component,在资源组上创建的应用程序中my-resource-group,使用以下命令。

Get-CWAIComponentConfiguration -ComponentName my-component -ResourceGroupName my-resource-group

有关组件配置和示例 JSON 文件的更多信息,请参阅使用组件配置

描述建议的组件监控配置

使用组件描述建议的组件监控配置Amazon CLI

当组件是 .NET Worker 应用程序的一部分时,您可以使用Amazon CLI描述建议的组件监控配置my-component在资源组上创建的应用程序中my-resource-group,使用以下命令。

aws application-insights describe-component-configuration-recommendation --resource-group-name my-resource-group --component-name my-component --tier DOT_NET_WORKER

使用描述建议的组件监控配置Amazon Tools for Windows PowerShell

当组件是 .NET Worker 应用程序的一部分时,您可以使用Amazon Tools for Windows PowerShell描述建议的组件监控配置my-component在资源组上创建的应用程序中my-resource-group,使用以下命令。

Get-CWAIComponentConfigurationRecommendation -ComponentName my-component -ResourceGroupName my-resource-group -Tier DOT_NET_WORKER

有关组件配置和示例 JSON 文件的更多信息,请参阅使用组件配置

更新组件的监控配置

使用组件更新组件的监控配置Amazon CLI

使用Amazon CLI来更新名为my-component在资源组上创建的应用程序中,名为my-resource-group,使用以下命令。该命令包括以下操作:

  1. 启用组件监控。

  2. 将组件层设置为 .NET Worker

  3. 更新组件的 JSON 配置以从本地文件 configuration.txt 中读取。

aws application-insights update-component-configuration --resource-group-name my-resource-group --component-name my-component --tier DOT_NET_WORKER --monitor --component-configuration "file://configuration.txt"

使用组件更新组件的监控配置Amazon Tools for Windows PowerShell

使用Amazon Tools for Windows PowerShell来更新名为my-component在资源组上创建的应用程序中,名为my-resource-group,使用以下命令。该命令包括以下操作:

  1. 启用组件监控。

  2. 将组件层设置为 .NET Worker

  3. 更新组件的 JSON 配置以从本地文件 configuration.txt 中读取。

[string]$config = Get-Content -Path configuration.txt Update-CWAIComponentConfiguration -ComponentName my-component -ResourceGroupName my-resource-group -Tier DOT_NET_WORKER -Monitor 1 -ComponentConfiguration $config

有关组件配置和示例 JSON 文件的更多信息,请参阅使用组件配置

对指定的资源组取消 Application Insights 监控

使用 Application Insights 监控对指定的资源组取消 Application Insights 监控Amazon CLI

使用Amazon CLI以删除在名为的资源组上创建的应用程序my-resource-group,请使用以下命令。

aws application-insights delete-application --resource-group-name my-resource-group

使用 Application Insights 监控对指定的资源组取消 Application Insights 监控Amazon Tools for Windows PowerShell

使用Amazon Tools for Windows PowerShell以删除在名为的资源组上创建的应用程序my-resource-group,请使用以下命令。

Remove-CWAIApplication -ResourceGroupName my-resource-group

针对 SQL Always On 可用性组配置监控

  1. 使用 SQL HA EC2 实例为资源组创建应用程序。

    aws application-insights create-application ‐-region <REGION> ‐-resource-group-name <RESOURCE_GROUP_NAME>
  2. 通过创建新的应用程序组件,定义表示 SQL HA 集群的 EC2 实例。

    aws application-insights create-component ‐-resource-group-name "<RESOURCE_GROUP_NAME>" ‐-component-name SQL_HA_CLUSTER ‐-resource-list "arn:aws-cn:ec2:<REGION>:<ACCOUNT_ID>:instance/<CLUSTER_INSTANCE_1_ID>" "arn:aws-cn:ec2:<REGION>:<ACCOUNT_ID>:instance/<CLUSTER_INSTANCE_2_ID>
  3. 配置 SQL HA 组件。

    aws application-insights update-component-configuration ‐-resource-group-name "<RESOURCE_GROUP_NAME>" ‐-region <REGION> ‐-component-name "SQL_HA_CLUSTER" ‐-monitor ‐-tier SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP ‐-monitor ‐-component-configuration '{ "subComponents" : [ { "subComponentType" : "AWS::EC2::Instance", "alarmMetrics" : [ { "alarmMetricName" : "CPUUtilization", "monitor" : true }, { "alarmMetricName" : "StatusCheckFailed", "monitor" : true }, { "alarmMetricName" : "Processor % Processor Time", "monitor" : true }, { "alarmMetricName" : "Memory % Committed Bytes In Use", "monitor" : true }, { "alarmMetricName" : "Memory Available Mbytes", "monitor" : true }, { "alarmMetricName" : "Paging File % Usage", "monitor" : true }, { "alarmMetricName" : "System Processor Queue Length", "monitor" : true }, { "alarmMetricName" : "Network Interface Bytes Total/sec", "monitor" : true }, { "alarmMetricName" : "PhysicalDisk % Disk Time", "monitor" : true }, { "alarmMetricName" : "SQLServer:Buffer Manager Buffer cache hit ratio", "monitor" : true }, { "alarmMetricName" : "SQLServer:Buffer Manager Page life expectancy", "monitor" : true }, { "alarmMetricName" : "SQLServer:General Statistics Processes blocked", "monitor" : true }, { "alarmMetricName" : "SQLServer:General Statistics User Connections", "monitor" : true }, { "alarmMetricName" : "SQLServer:Locks Number of Deadlocks/sec", "monitor" : true }, { "alarmMetricName" : "SQLServer:SQL Statistics Batch Requests/sec", "monitor" : true }, { "alarmMetricName" : "SQLServer:Database Replica File Bytes Received/sec", "monitor" : true }, { "alarmMetricName" : "SQLServer:Database Replica Log Bytes Received/sec", "monitor" : true }, { "alarmMetricName" : "SQLServer:Database Replica Log remaining for undo", "monitor" : true }, { "alarmMetricName" : "SQLServer:Database Replica Log Send Queue", "monitor" : true }, { "alarmMetricName" : "SQLServer:Database Replica Mirrored Write Transaction/sec", "monitor" : true }, { "alarmMetricName" : "SQLServer:Database Replica Recovery Queue", "monitor" : true }, { "alarmMetricName" : "SQLServer:Database Replica Redo Bytes Remaining", "monitor" : true }, { "alarmMetricName" : "SQLServer:Database Replica Redone Bytes/sec", "monitor" : true }, { "alarmMetricName" : "SQLServer:Database Replica Total Log requiring undo", "monitor" : true }, { "alarmMetricName" : "SQLServer:Database Replica Transaction Delay", "monitor" : true } ], "windowsEvents" : [ { "logGroupName" : "WINDOWS_EVENTS-Application-<RESOURCE_GROUP_NAME>", "eventName" : "Application", "eventLevels" : [ "WARNING", "ERROR", "CRITICAL", "INFORMATION" ], "monitor" : true }, { "logGroupName" : "WINDOWS_EVENTS-System-<RESOURCE_GROUP_NAME>", "eventName" : "System", "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ], "monitor" : true }, { "logGroupName" : "WINDOWS_EVENTS-Security-<RESOURCE_GROUP_NAME>", "eventName" : "Security", "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ], "monitor" : true } ], "logs" : [ { "logGroupName" : "SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP-<RESOURCE_GROUP_NAME>", "logPath" : "C:\\Program Files\\Microsoft SQL Server\\MSSQL**.MSSQLSERVER\\MSSQL\\Log\\ERRORLOG", "logType" : "SQL_SERVER", "monitor" : true, "encoding" : "utf-8" } ] }, { "subComponentType" : "AWS::EC2::Volume", "alarmMetrics" : [ { "alarmMetricName" : "VolumeReadBytes", "monitor" : true }, { "alarmMetricName" : "VolumeWriteBytes", "monitor" : true }, { "alarmMetricName" : "VolumeReadOps", "monitor" : true }, { "alarmMetricName" : "VolumeWriteOps", "monitor" : true }, { "alarmMetricName" : "VolumeQueueLength", "monitor" : true }, { "alarmMetricName" : "VolumeThroughputPercentage", "monitor" : true }, { "alarmMetricName" : "BurstBalance", "monitor" : true } ] } ] }'
注意

Application Insights 必须获取应用程序事件日志(信息级别)才能检测集群活动(如故障转移)。

为 MySQL RDS 配置监控

  1. 使用 RDS MySQL 数据库实例为资源组创建应用程序。

    aws application-insights create-application ‐-region <REGION> ‐-resource-group-name <RESOURCE_GROUP_NAME>
  2. 默认情况下,启用错误日志。可以使用数据参数组启用慢速查询日志。有关更多信息,请参阅访问 MySQL 慢速查询和常规日志

    • set slow_query_log = 1

    • set log_output = FILE

  3. 将要监控的日志导出到 CloudWatch Logs 中。有关更多信息,请参阅将 MySQL 日志发布到 CloudWatch Logs

  4. 配置 MySQL RDS 组件。

    aws application-insights update-component-configuration ‐-resource-group-name "<RESOURCE_GROUP_NAME>" ‐-region <REGION> ‐-component-name "<DB_COMPONENT_NAME>" ‐-monitor ‐-tier DEFAULT ‐-monitor ‐-component-configuration "{\"alarmMetrics\":[{\"alarmMetricName\":\"CPUUtilization\",\"monitor\":true}],\"logs\":[{\"logType\":\"MYSQL\",\"monitor\":true},{\"logType\": \"MYSQL_SLOW_QUERY\",\"monitor\":false}]}"

为 MySQL EC2 配置监控

  1. 使用 SQL HA EC2 实例为资源组创建应用程序。

    aws application-insights create-application ‐-region <REGION> ‐-resource-group-name <RESOURCE_GROUP_NAME>
  2. 默认情况下,启用错误日志。可以使用数据参数组启用慢速查询日志。有关更多信息,请参阅访问 MySQL 慢速查询和常规日志

    • set slow_query_log = 1

    • set log_output = FILE

  3. 配置 MySQL EC2 组件。

    aws application-insights update-component-configuration ‐-resource-group-name "<RESOURCE_GROUP_NAME>" ‐-region <REGION> ‐-component-name "<DB_COMPONENT_NAME>" ‐-monitor ‐-tier MYSQL ‐-monitor ‐-component-configuration "{\"alarmMetrics\":[{\"alarmMetricName\":\"CPUUtilization\",\"monitor\":true}],\"logs\":[{\"logGroupName\":\"<UNIQUE_LOG_GROUP_NAME>\",\"logPath\":\"C:\\\\ProgramData\\\\MySQL\\\\MySQL Server **\\\\Data\\\\<FILE_NAME>.err\",\"logType\":\"MYSQL\",\"monitor\":true,\"encoding\":\"utf-8\"}]}"

为 PostgreSQL RDS 配置监控

  1. 使用 PostgreSQL RDS 数据库实例为资源组创建应用程序。

    aws application-insights create-application ‐-region <REGION> ‐-resource-group-name <RESOURCE_GROUP_NAME>
  2. 默认情况下,未启用 PostgreSQL 日志发布到 CloudWatch。要启用监视,请打开 RDS 控制台并选择要监视的数据库。选择修改,然后选择标签为PostgreSQL日志。选择Continue将保存此设置。

  3. 您的 PostgreSQL 日志将导出到 CloudWatch 中。

  4. 配置 PostgreSQL RDS 组件。

    aws application-insights update-component-configuration --region <REGION> --resource-group-name <RESOURCE_GROUP_NAME> --component-name <DB_COMPONENT_NAME> --monitor --tier DEFAULT --component-configuration "{ \"alarmMetrics\":[ { \"alarmMetricName\": \"CPUUtilization\", \"monitor\": true } ], \"logs\":[ { \"logType\": \"POSTGRESQL\", \"monitor\": true } ] }"