

# OPS04-BP04 实施依赖项遥测
<a name="ops_observability_dependency_telemetry"></a>

 要想监控您的工作负载所依赖的外部服务和组件的运行状况及性能，依赖项遥测必不可少。它提供有关与 DNS、数据库或第三方 API 等依赖项相关的可访问性、超时及其他关键事件的宝贵见解。通过检测您的应用程序以发出有关这些依赖关系的指标、日志和跟踪，您可以更清楚地了解可能影响您的工作负载的潜在瓶颈、性能问题或故障。 

 **期望的结果：** 您的工作负载所依赖的依赖项按预期执行，使您能够主动解决问题并确保最佳的工作负载性能。 

 **常见反模式：** 
+  忽略外部依赖项：仅关注内部应用程序指标，而忽略与外部依赖项相关的指标。 
+  缺乏主动监控：等待问题出现，而不是持续监控依赖项运行状况和性能。 
+  孤立监控：使用多种不同的监控工具，这可能会导致依赖项运行状况视图支离破碎且不一致。 

 **建立此最佳实践的好处：** 
+  提高工作负载可靠性：通过确保外部依赖项始终可用且性能出色来实现。 
+  更快地检测和解决问题：在依赖项问题影响工作负载之前，主动识别和解决这些问题。 
+  全面视图：全面了解影响工作负载运行状况的内部和外部组件。 
+  增强工作负载可扩展性：通过了解外部依赖项的可扩展性限制和性能特征来实现。 

 **未建立这种最佳实践的情况下暴露的风险等级：** 高 

## 实施指导
<a name="implementation-guidance"></a>

 从确定您的工作负载所依赖的服务、基础设施和流程开始，实施依赖项遥测。量化这些依赖项按预期运行时的良好状况，然后确定需要哪些数据来衡量这些状况。利用这些信息，您可以创建控制面板和警报，为运营团队提供有关这些依赖项状态的见解。当依赖项无法按需交付时，使用 AWS 工具来发现和量化影响。不断重新审视您的策略，以考虑优先事项、目标和所获见解的变化。 

### 实施步骤
<a name="implementation-steps"></a>

 要有效地实现依赖项遥测，请执行以下操作： 

1.  **确定外部依赖项：** 与利益相关方合作，查明您的工作负载所依赖的外部依赖项。外部依赖项可包括外部数据库、第三方 API、通往其他环境的网络连接路由以及 DNS 服务等内容。实现有效的依赖项遥测的第一步是全面了解这些依赖项是什么。 

1.  **制定监控策略：** 一旦您清楚地了解了外部依赖项，就可以针对它们设计一个量身定制的监控策略。这包括了解每个依赖项的重要程度、其预期行为以及任何相关的服务级别协议或目标（SLA 或 SLT）。设置主动警报，在出现状态变化或性能偏差时通知您。 

1.  **利用 [Amazon CloudWatch 网络监测仪](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html)：** 它提供对全球互联网的见解，有助于了解可能影响外部依赖项的中断。 

1.  **随时了解最新信息 - 借助 [AWS Health Dashboard](https://aws.amazon.com/premiumsupport/technology/aws-health-dashboard/)：** 当 AWS 遇到可能会影响您的服务的事件时，它会提供警报和修正指导。 

1.  **检测您的应用程序 - 使用 [AWS X-Ray](https://aws.amazon.com/xray/)：** AWS X-Ray 让您能够深入了解应用程序及其底层依赖项的运行情况。通过从头到尾跟踪请求，您可以找出应用程序所依赖的外部服务或组件中的瓶颈或故障。 

1.  **使用 [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/)：** 这项服务由机器学习驱动，可识别操作问题，预测何时可能出现严重问题，并建议可采取的具体行动。这对于深入了解依赖项并确定它们是不是造成操作问题的根源非常重要。 

1.  **定期监控：** 持续监控与外部依赖项相关的指标和日志。针对意外行为或性能下降设置警报。 

1.  **更改后验证：** 每当任何外部依赖项有更新或更改时，都应验证其性能，并检查它们是否符合应用程序的要求。 

 **实施计划的工作量级别：** 中 

## 资源
<a name="resources"></a>

 **相关最佳实践：** 
+  [OPS04-BP01 识别关键绩效指标](ops_observability_identify_kpis.md) 
+  [OPS04-BP02 实施应用程序遥测](ops_observability_application_telemetry.md) 
+  [OPS04-BP03 实施用户体验遥测](ops_observability_customer_telemetry.md) 
+  [OPS04-BP05 实施分布式跟踪](ops_observability_dist_trace.md) 

 **相关文档：** 
+ [ 什么是 AWS Health? ](https://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html)
+ [ Using Amazon CloudWatch Internet Monitor ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html)
+ [AWS X-Ray 开发人员指南](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ [ Amazon DevOps Guru 用户指南 ](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html)

 **相关视频：** 
+ [ Visibility into how internet issues impact app performance ](https://www.youtube.com/watch?v=Kuc_SG_aBgQ)
+ [ Introduction to Amazon DevOps Guru ](https://www.youtube.com/watch?v=2uA8q-8mTZY)

 **相关示例：** 
+ [ Gaining operational insights with AIOps using Amazon DevOps Guru ](https://catalog.us-east-1.prod.workshops.aws/workshops/f92df379-6add-4101-8b4b-38b788e1222b/en-US)
+ [AWS Health Aware ](https://github.com/aws-samples/aws-health-aware/)