Amazon CloudWatch
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

设置应用程序

本节提供使用控制台、AWS CLI 和适用于 Windows PowerShell 的 AWS 工具设置、配置和管理适用于 .NET 和 SQL Server 的 Application Insights 应用程序的步骤。

使用 CloudWatch 控制台添加和配置应用程序

从 CloudWatch 控制台添加和配置应用程序

要从 CloudWatch 控制台开始使用适用于 .NET 和 SQL Server 的 CloudWatch Application Insights,请执行以下步骤。

  1. 开始。 打开 CloudWatch 控制台登陆页面。从左侧导航窗格中,选择设置。从设置页面中,选择适用于 .NET 和 SQL Server 的 Application Insights > 查看应用程序以开始使用

  2. 添加应用程序。 要为 .NET 和 SQL Server 应用程序设置监控,请在适用于 .NET 和 SQL Server 的 Application Insights 页面上选择添加应用程序。该页面显示使用适用于 .NET 和 SQL Server 的 Application Insights 监控的应用程序列表及其监控状态。在选择添加应用程序后,将转到添加应用程序页面。

  3. 选择资源组。Add an application (添加应用程序) 页面上,要将应用程序添加到适用于 .NET 和 SQL Server 的 CloudWatch Application Insights,请从下拉列表中选择包含应用程序资源的 AWS 资源组。这些资源包括前端服务器、负载均衡器、Auto Scaling 组和数据库服务器。

    适用于 .NET 和 SQL Server 的 CloudWatch Application Insights 支持基于标签的资源组和基于 CloudFormation 的资源组(Auto Scaling 组除外)。有关更多信息,请参阅使用标签编辑器

    如果还没有为 .NET 应用程序创建资源组,您可以创建一个资源组。有关更多信息,请参阅 AWS 资源组用户指南

  4. 添加监控详细信息。 在添加应用程序后,将转到监控详细信息页面,其中列出了应用程序组件、这些组件中的资源及其监控状态。组件是组成应用程序的类似资源的自动分组、单独分组或自定义分组。默认情况下,适用于 .NET 和 SQL Server 的 CloudWatch Application Insights 对 Auto Scaling 组中的实例以及 Elastic Load Balancer 后面的实例进行分组。在该页面上,您可以配置自定义组件,并可以管理针对每个应用程序组件的监控。有关支持的组件,请参阅支持的应用程序组件

  5. 配置组件。 在选择资源组后,将提示您配置组件。我们建议将类似的资源(如 .NET Web 服务器实例)分组到自定义组件中,以轻松添加资源以及更好地进行监控和提供相应的信息。默认情况下,适用于 .NET 和 SQL Server 的 CloudWatch Application Insights 对 Auto Scaling 组中的实例以及 Elastic Load Balancer 后面的实例进行分组。有关支持的组件,请参阅支持的应用程序组件

    应用程序组件下面,对于要设置监视器的每个组件,请选择该组件,然后选择管理监控

  6. 启用监视器。 要为应用程序组件设置监控,请选择要监控的组件,然后选择管理监控。选中启用监控复选框。在选中该复选框时,将在下拉列表中填充相关的应用程序层。选择选定组件的应用程序层。这些层表示在选定资源上运行的应用程序堆栈的一部分。

    根据您选择的层,适用于 .NET 和 SQL Server 的 CloudWatch Application Insights 将建议要为选定组件监控的日志。可以根据您的需求自定义该建议。

    对于每个日志,请指定 EC2 实例上的日志的文件路径。相应的日志组名称具有默认值,但可以对其进行自定义。对于 SQL Server 错误日志和 IIS 日志,将分配默认文件路径位置。如果不希望将日志存储在默认位置,您应该更新该默认文件路径。有关日志路径和日志名称准则,请参阅路径

    适用于 .NET 和 SQL Server 的 CloudWatch Application Insights 还会为应用程序资源设置相关的指标。大约监控两周这些资源,以确定相应的指标阈值。如果您以前创建了指标,则适用于 .NET 和 SQL Server 的 CloudWatch Application Insights 提取过去两周的历史数据,以确定阈值并相应地设置警报。对于新创建的指标,最多可能需要三天才会创建警报。

  7. 保存监视器。 在选择并自定义完日志和指标后,选择保存以设置选定组件的监视器。在选择保存时,Application Insights 根据建议的指标和选择的日志为应用程序中的所有实例设置 CloudWatch 代理配置文件。该过程最多可能需要 1 小时才能完成。

    适用于 .NET 和 SQL Server 的 CloudWatch Application Insights 还会在组件中为选定指标设置 CloudWatch 警报。这些警报是通过监控过去两周的历史指标模式动态更新的。

    在选择取消时,Application Insights 仅删除当前选择的内容。

    在使用适用于 .NET 和 SQL Server 的 CloudWatch Application Insights 创建新的应用程序时,将为您创建服务相关角色。要删除服务相关角色,您必须先在适用于 .NET 和 SQL Server 的 CloudWatch Applications Insights 上删除所有应用程序,然后手动删除该角色。有关更多信息,请参阅对 CloudWatch Application Insights for .NET and SQL Server 使用服务相关角色

    现在,适用于 .NET 和 SQL Server 的 CloudWatch Application Insights 设置为监控您的应用程序的指标和日志。系统最多可能需要两周的时间才能生成有意义的信息。

    *如果已配置资源组并且要保存配置,但不希望适用于 .NET 和 SQL Server 的 CloudWatch Application Insights 监控您的应用程序,您可以禁用适用于 .NET 和 SQL Server 的 CloudWatch Application Insights。您也可以删除配置。

  8. 添加 AWS Systems Manager OpsCenter 集成。 要在检测到所选应用程序的问题时查看并获得通知,请选择 Monitoring Details (监控详细信息) 页面上的 Integrate with AWS OpsCenter (与 AWS OpsCenter 集成) 复选框。要跟踪用于解析与 AWS 资源相关的操作工作项 (OpsItem) 的操作,请提供 SNS 主题 ARN。

  9. 查看监控(可选)。 在设置要监控的应用程序后,您可以在 CloudWatch 控制台的默认概述页面中查看和排查检测到的问题和提供的信息。您可以从 Application Insights 登录页面或 CloudWatch 登录页面中选择查看见解,以查看检测到的问题、警报和控制面板。

使用控制台禁用应用程序

要禁用应用程序,请从 CloudWatch 控制面板中的设置下面选择要禁用的应用程序。在操作下面,选择禁用。在禁用应用程序时,将禁用监控,但 Application Insights 存储为应用程序组件保存的监视器。

使用控制台为应用程序组件禁用监控

要为应用程序组件禁用监控,请从“应用程序详细信息”页面中选择要禁用监控的组件。选择管理监视器,然后取消选中启用监控复选框。

使用控制台删除应用程序

要删除应用程序,请从 CloudWatch 控制面板中的设置下面选择要删除的应用程序。在操作下面,选择删除。这会删除监控,并删除为应用程序组件保存的所有监视器。不会删除应用程序资源。

使用命令行通过 Application Insights 添加和管理应用程序

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

添加应用程序

使用 AWS CLI 添加应用程序

要使用 AWS CLI 为名为 my-resource-group 的资源组添加应用程序,并启用 OpsCenter 以将创建的 opsItem 传递到 SNS 主题 ARN arn:aws:sns:us-east-1:123456789012:MyTopic,请使用以下命令。

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

使用适用于 Windows PowerShell 的 AWS 工具添加应用程序

要使用适用于 Windows PowerShell 的 AWS 工具为名为 my-resource-group 的资源组添加应用程序,并启用 OpsCenter 以将创建的 opsItem 传递到 SNS 主题 ARN arn:aws:sns:us-east-1:123456789012:MyTopic,请使用以下命令。

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

描述应用程序

使用 AWS CLI 描述应用程序

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

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

使用适用于 Windows PowerShell 的 AWS 工具描述应用程序

要使用适用于 Windows PowerShell 的 AWS 工具描述在名为 my-resource-group 的资源组上创建的应用程序,请使用以下命令。

Get-CWAIApplication -ResourceGroupName my-resource-group

列出应用程序中的组件

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

要使用 AWS CLI 列出在名为 my-resource-group 的资源组上创建的组件,请使用以下命令。

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

使用适用于 Windows PowerShell 的 AWS 工具列出应用程序中的组件

要使用适用于 Windows PowerShell 的 AWS 工具列出在名为 my-resource-group 的资源组上创建的组件,请使用以下命令。

Get-CWAIComponentList -ResourceGroupName my-resource-group

描述组件

使用 AWS CLI 描述组件

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

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

使用适用于 Windows PowerShell 的 AWS 工具描述组件

您可以使用以下适用于 Windows PowerShell 的 AWS 工具描述属于在名为 my-resource-group 的资源组上创建的应用程序且名为 my-component 的组件。

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

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

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

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

要使用 AWS CLI 将三个实例(arn:aws:ec2:us-east-1:123456789012:instance/i-11111arn:aws:ec2:us-east-1:123456789012:instance/i-22222arn:aws:ec2:us-east-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:ec2:us-east-1:123456789012:instance/i-11111 arn:aws:ec2:us-east-1:123456789012:instance/i-22222 arn:aws:ec2:us-east-1:123456789012:instance/i-33333

使用适用于 Windows PowerShell 的 AWS 工具将资源分组到自定义组件中

要使用适用于 Windows PowerShell 的 AWS 工具将三个实例(arn:aws:ec2:us-east-1:123456789012:instance/i-11111arn:aws:ec2:us-east-1:123456789012:instance/i-22222arn:aws:ec2:us-east-1:123456789012:instance/i-33333)一起分组到一个名为 my-component 的自定义组件(属于为名为 my-resource-group 的资源组创建的应用程序),请使用以下命令。

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

对自定义组件取消分组

使用 AWS CLI 对自定义组件取消分组

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

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

使用适用于 Windows PowerShell 的 AWS 工具对自定义组件取消分组

要使用适用于 Windows PowerShell 的 AWS 工具对在资源组 my-resource-group 上创建的应用程序中名为 my-component 的自定义组件取消分组,请使用以下命令。

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

更新应用程序

使用 AWS CLI 更新应用程序

您可以使用 AWS CLI 更新应用程序,以针对在应用程序中检测到的问题生成 AWS Systems Manager OpsCenter OpsItem,并使用以下命令将创建的 OpsItem 与 SNS 主题 arn:aws:sns:us-east-1:123456789012:MyTopic 相关联。

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

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

您可以使用适用于 Windows PowerShell 的 AWS 工具更新应用程序,以针对在应用程序中检测到的问题生成 AWS Systems Manager OpsCenter OpsItem,并使用以下命令将创建的 OpsItem 与 SNS 主题 arn:aws:sns:us-east-1:123456789012:MyTopic 相关联。

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

更新自定义组件

使用 AWS CLI 更新自定义组件

您可以使用 AWS CLI,通过使用以下命令,使用新的组件名称 my-new-component 和更新的实例组来更新名为 my-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:ec2:us-east-1:123456789012:instance/i-44444 arn:aws:ec2:us-east-1:123456789012:instance/i-55555

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

您可以使用适用于 Windows PowerShell 的 AWS 工具,通过使用以下命令,使用新的组件名称 my-new-component 和更新的实例组来更新名为 my-component 的自定义组件。

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

使用命令行管理和更新监控

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

列出应用程序的问题

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

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

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

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

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

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

描述应用程序问题

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

要使用 AWS CLI 描述问题 ID 为 p-1234567890 的问题,请使用以下命令。

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

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

要使用适用于 Windows PowerShell 的 AWS 工具描述问题 ID 为 p-1234567890 的问题,请使用以下命令。

Get-CWAIProblem -ProblemId p-1234567890

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

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

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

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

使用适用于 Windows PowerShell 的 AWS 工具描述与问题关联的异常或错误

要使用适用于 Windows PowerShell 的 AWS 工具描述与问题 ID 为 p-1234567890 的问题关联的异常或错误,请使用以下命令。

Get-CWAIProblemObservation -ProblemId p-1234567890

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

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

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

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

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

要使用适用于 Windows PowerShell 的 AWS 工具描述观察 ID 为 o-1234567890 的应用程序的异常或错误,请使用以下命令。

Get-CWAIObservation -ObservationId o-1234567890

描述组件的监控配置

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

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

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

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

要使用适用于 Windows PowerShell 的 AWS 工具描述在资源组 my-resource-group 上创建的应用程序中名为 my-component 的组件的监控配置,请使用以下命令。

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

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

描述建议的组件监控配置

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

当组件是 .NET Worker 应用程序的一部分时,您可以使用 AWS 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

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

当组件是 .NET Worker 应用程序的一部分时,您可以使用适用于 Windows PowerShell 的 AWS 工具,通过使用以下命令来描述在资源组 my-component 上创建的应用程序中名为 my-resource-group 的组件的建议监视配置。

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

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

更新组件的监控配置

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

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

  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"

使用适用于 Windows PowerShell 的 AWS 工具更新组件的监控配置

要使用适用于 Windows PowerShell 的 AWS 工具更新在名为 my-resource-group 的资源组上创建的应用程序中名为 my-component 的组件,请使用以下命令。该命令包括以下操作:

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

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

要使用 AWS CLI 对在名为 my-resource-group 的资源组上创建的应用程序取消监控,请使用以下命令。

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

使用适用于 Windows PowerShell 的 AWS 工具对指定的资源组取消 Application Insights 监控

要使用适用于 Windows PowerShell 的 AWS 工具对在名为 my-resource-group 的资源组上创建的应用程序取消监控,请使用以下命令。

Remove-CWAIApplication -ResourceGroupName my-resource-group