使用IBM Instana SaaS在A

实时监控微服务与云原生应用:IBM Instana 在 AWS 上的解决方案

作者:Eduardo Monich Fronza, Arpit Nanavati, Muralidhar Chavan
日期:2023年3月15日
发表于 ,,,,[Amazon Simple Storage Service (S3)](https://aws.amazon.com/blogs/architecture/category/storage/amazon- simple-storage- services-s3/), 和

关键要点

  • 微服务架构 :客户正在采用微服务架构以构建可扩展的创新应用。
  • IBM Instana :一种自动化的应用性能管理(APM)解决方案,旨在实时监控微服务和云原生应用。
  • 实时可观测性 :使用人工智能和机器学习技术,Instana 提供详细的应用健康和行为洞察。
  • 广泛的集成 :Instana 与多种 AWS 服务和技术兼容,以提供深入的监控数据。

随着客户在 Amazon Web Services (AWS) 上构建创新且可扩展的应用,微服务架构的普及也日益增加。客户需要全面的可视化解决方案,以帮助他们有效监控和管理应用的实时性能。

是一个完全集成的应用性能管理(APM)解决方案,作为一个完全托管的 [软件即服务 (SaaS)](https://aws.amazon.com/marketplace/pp/prodview- hnqy5e3t3fzda?sr=0-1&ref_=beagle&applicationId=AWSMPContessa) 提供给客户。它专为帮助客户应对实时监控微服务和云原生应用的挑战而设计,利用人工智能和机器学习技术提供应用健康状态和行为的深入洞察,从而使开发人员和 IT团队能够实时了解微服务应用,优化性能,并迅速识别和解决问题。

本文将解释 IBM Instana 如何自动收集托管在 AWS 云以及本地环境中的可观测性指标、追踪和事件,以全面了解单个组件和整体应用性能。

IBM Instana 解决方案概述

IBM Instana 设计旨在高度可扩展,以适应不断变化的微服务应用环境。它的架构(见图1)由多个组件组成,它们共同提供对微服务和云原生应用的全面监控。

Instana 的主要构建模块是 和 ,这些模块部署在客户的 AWS 账户中,负责收集、聚合和发送应用及 AWS 服务的详细监控信息到 Instana SaaS 后端。

Instana SaaS后端服务提供了几个关键组件,包括数据收集器、存储服务、分析引擎和用户界面,允许客户实时处理和分析数据,产生可操作的洞察,全面了解应用和基础设施的性能,从而快速识别和解决问题,提升整体运营效率。

![IBM Instana architecture onAWS](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/03/14/Figure-1.-IBM- 删除)

图1. IBM Instana 架构在 AWS 上

监控数据

Instana 通过收集信标、追踪和每秒指标来监控和观察微服务及云原生应用:

  • 信标 :小型监控负载,通过 JavaScript 代理发送到 Instana 服务器,记录网站页面生命周期中特定事件的发生,如页面加载、资源获取和 HTTP 请求。
  • 追踪 :对在微服务架构中流经请求和事务的详细记录,记录处理请求时发生的事件序列,包括涉及的服务、每个服务的持续时间,以及出现的任何错误或异常。Instana 会自动关联跨服务的追踪,提供整个事务的完整视图,便于识别和诊断性能问题。
  • 指标 :表示微服务或基础设施组件性能和资源利用率的数值。指标由 Instana 代理收集,并定期发送到 Instana 后端。Instana 代理收集数百种不同的指标,包括 CPU 使用率、内存使用率、网络流量和磁盘 I/O。

这些信息由 Instana 代理和传感器捕获,同时收集应用配置和事件,自动发现应用构建块,包括集群、容器和服务。

IBM Instana 代理和传感器

是一个轻量级软件组件,负责从各种传感器收集和聚合数据,然后将数据发送到 Instana 后端。它可以部署到多种 AWS 服务中,包括 AmazonElastic Compute Cloud (Amazon EC2)AmazonElastic Kubernetes Service (Amazon EKS)、、 或 Red Hat OpenShift Service on AWS (ROSA)。单个主机代理用于收集来自监控系统的数据。

一旦 Instana 代理启动,它们会自动检测应用和服务,例如运行在 Amazon EKS 上的容器,以及像 、、、、 或 的进程。对于每个检测到的组件,Instana 会自动下载、安装并配置不同的传感器以监控环境。

Instana 传感器是小型程序,设计用于直接监控特定技术并将数据传递给代理。它们由主机代理自动进行管理、更新、加载和卸载。

这些传感器可以监控多种 AWS 服务,如 Lambda、、Amazon Simple Storage Service (Amazon S3)、、 及 。它们通过 和 收集如请求和错误率、延迟、CPU 利用率等数据。

Instana 还提供用于收集在 AWS 上运行的应用数据的传感器,如 、 或 。请查看 和 AWS 服务。

Instana 还提供跟踪器,适用于 Java、.NET、NodeJS 等运行时。它们修改代码执行以记录日志、请求级别的追踪,并将其发送回 Instana代理。

通过使用传感器,主机代理收集配置信息并监控其检测的应用。主机代理还处理与 Instana SaaS后端服务的通信。它以实时方式收集、聚合并发送日志、追踪和记录的指标(如响应时间、错误率和资源利用率)每秒到 Instana SaaS后端,使用安全且高效的通信协议。

IBM Instana SaaS

Instana SaaS 后端是 Instana APM 解决方案的核心,负责处理、存储和分析从客户基础设施中安装的 Instana代理和传感器收集的监控数据。

它由多个组件和服务组成,这些组件和服务共同为微服务应用提供实时监控和分析,包括:

  • 数据收集器 :接收并处理来自 Instana 代理和传感器的数据,并将其存储在 Instana 后端,供进一步分析。
  • 分析引擎 :分析由代理和传感器收集的数据,提供微服务应用性能和健康状况的洞察。
  • 用户界面 :基于 Web 的界面,客户可用来查看和分析他们的监控数据。
  • 警报引擎 :当监控数据中检测到阈值或异常时生成警报。
  • 数据存储 :时间序列数据库,存储由代理和传感器收集的监控数据,允许客户实时查询和分析数据。
  • 集成 :与多种第三方工具集成,如 、 和 ,提供无缝的警报和事件管理。

IBM Instana 后端:实时理解情况

Instana SaaS 平台自动从代理接收数据并持续更新 (见图2)。此图提供每个依赖关系的上下文,用户可以轻松理解应用组件和服务之间的相互关系。

这种理解使用户能够识别任何问题的上游和下游影响,确保他们始终了解任何潜在影响。

![An example of an IBM Instana dependencymap](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/03/14/Figure-2.-An- 删除)

图2. IBM Instana 依赖关系图示例

Instana 对每个请求进行端到端的追踪,不进行采样。这些追踪实时分析,提供的指标能够立即揭示任何性能问题。在发生事件时,Instana可以展示单个问题是如何引发涟漪效应,并影响多个直接和间接连接的服务。使用动态图提供的关系信息,Instana的自动根本原因分析能够精确地将单个问题聚合为一个事件。

![Applications monitoring with IBMInstana](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/03/14/Figure-3.-Applications- 删除)

图3. 使用 IBM Instana 监控应用

开发人员、IT 运维或站点可靠性工程师 (SRE) 可以访问 Instana 后端的最终用户监控界面(见图3)或最终用户监控 (EUM) 界面(见图4),以查看其工作负载的监控数据。这些工作负载可以是网站、移动应用、AWS 服务和基础设施层。从此 UI,相关人员可以访问服务仪表板,显示关键性能指标 (KPI),如响应时间和错误率。

![End-user monitoring with IBMInstana](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/03/14/Figure-4.-End- user-删除)

图4. 使用 IBM Instana 进行最终用户监控

以下行动展示了如何为部署到 Amazon S3 的 JavaScript 应用实现 EUM:

  • 开发人员将 Instana JavaScript 代码(见图5)注入到静态网站 (HTML) 中。
  • 当用户访问网站时,JavaScript 代理将信标发送到 Instana 后端。
  • 仪表板展示网站生命周期中的特定事件,包括页面加载、JS 错误和 HTTP 请求。
  • 团队访问 Instana 用户界面以检查性能矩阵。他们可以根据特定指标和 KPI 配置 自定义警报策略。
  • 智能警报可以通过诸如电子邮件、Slack 或 等多种渠道发送警报。
  • 在发生事件时,团队可以使用 Instana 检索各类性能指标进行根本原因分析。
  • 开发人员能够解决问题并应用补丁。

![IBM Instana EUM JavaScriptagent](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/03/14/Figure-5.-IBM- 删除)

图5. IBM Instana EUM JavaScript 代理

Instana 还提供智能警报(见图6),使警报管理更加直观。通过智能警报,客户可以自动生成警报配置,利用相关 KPI和自动阈值检测,处理像网站缓慢或错误等用例。

![IBM Instana SmartAlerts](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/03/14/Figure-6.-IBM- 删除)

图6. IBM Instana 智能警报

结论

在这篇文章中,我们讨论了 IBM Instana如何提供全面的监控解决方案,为您实施实时可见性和监控解决方案提供合适的工具。它使您能够深入了解微服务和云原生应用的性能,包括对 AWS服务、容器、本地基础设施和其他技术的可视化。Instana 可以快速识别和解决问题,确保您的应用运行最佳,避免影响最终用户。

作为 IT 管理员、开发人员或业务负责人,IBM Instana 在 AWS 上为您提供对应用的深刻理解,帮助您做出数据驱动的决策,以提升整体性能。

额外资源

![Eduardo MonichFronza](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/05/23/Eduardo- 删除)

Eduardo Monich Fronza

Eduardo Monich Fronza 是 AWS的合作伙伴解决方案架构师。他的经验包括云、解决方案架构、应用平台、容器、负载现代化和混合解决方案。在乎的角色中,Eduardo 帮助 AWS合作伙伴和客户推进其云采用之旅。

![Arpit删除)

Arpit Nanavati

Arpit Nanavati 是 IBM-AWS战略合作团队的云软件架构师。他的经验涵盖云、解决方案架构、微服务、容器和混合解决方案。在当前角色中,Arpit 帮助客户在 AWS 云上设计、规划和实施 IBM 软件解决方案。

![MuralidharChavan](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/03

Leave a Reply

Required fields are marked *