AWS 宣布支持 Python 应用程序的自动检测功能
AWS 宣布将 Python 应用程序的自动检测功能引入 Amazon CloudWatch Application Signals。该功能允许使用 AWS Distro for OpenTelemetry (ADOT) 对 Python 应用程序进行检测,而无需更改代码。Application Signals 支持监控服务级别目标(SLOs),并与多种 AWS 可观察性和监控工具协同工作。
功能背景与支持范围
在 re:Invent 2023 期间,Application Signals 最初仅支持 Java 应用程序的自动检测。尽管 SDK 支持 JavaScript、Kotlin、Android、C++、PHP、Ruby、Go 和 iOS,但自动检测功能目前仅适用于 Java 和 Python 应用程序。该功能自动收集并关联来自多个来源的可观察性数据,包括 CloudWatch RUM、CloudWatch Synthetics canary、AWS Service Catalog AppRegistry 和 Amazon EC2 Auto Scaling。Application Signals 还会生成所发现服务的应用程序拓扑图。该功能目前仍处于预览状态。
支持的平台与架构
Application Signals 在 Amazon EKS、Amazon ECS 和 Amazon EC2 上得到支持和测试。对于运行在 Amazon EKS 上的工作负载,服务和集群的名称会自动发现,否则需要手动提供名称。AWS 指出,Application Signals 对于 Amazon EC2 应支持任何支持 CloudWatch 代理和 AWS Distro for OpenTelemetry 的架构。
仪表板与监控细节
配置完成后,服务会自动填充并显示在 Services 仪表板中。Service 详情页面提供单个启用服务的更详细信息。AWS X-ray 跟踪地图也可在 Trace 详情下查看。
服务级别目标(SLOs)支持
Application Signals 还支持创建服务级别目标(SLOs)以监控业务目标。每个发现的服务都会自动创建延迟和可用性指标。除了这两个指标外,任何 CloudWatch 指标或指标表达式都可以用作服务级别指标(SLIs)。然后可以设置 SLO 来跟踪 SLI 性能是否符合所需的阈值和目标。
与其他云服务提供商的对比
Google Cloud 提供了类似的功能,通过其 Managed Service for Prometheus 实现 Kubernetes 集群的自动收集。对于虚拟机,可以使用 Ops Agent 启用指标收集。GCP 还支持定义和监控 SLOs。在 Azure 中,可以使用 Azure Monitor Application Insights 实现自动检测,该服务对 .NET、Java、Node.js 和 Python 应用程序有不同程度的支持。
可用区域与预览状态
Application Signals 目前在美国东部(北弗吉尼亚)、美国东部(俄亥俄)、美国西部(俄勒冈)、亚太地区(悉尼)、亚太地区(东京)和欧洲(爱尔兰)区域得到支持。该功能处于预览状态,可能在正式发布前进行重大更改。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。