管道反馈

Instana “管道反馈”是对应用程序开发和部署管道事件的自动分析,并直接关联应用程序、基础设施及服务性能数据。

随着 DevOps 团队越来越多地转向持续部署模型,生产中的动态量有了显着增加。 在更多基础架构上更新或更频繁地添加更多软件。 因此,必须具有每个发行版的端到端可视性及其对应用程序或基础结构运行状况的影响。 例如,如果没有发布发生时的上下文,那么很难理解服务的等待时间峰值是指示问题,还是表示部署过程的工件。 此信息可能指示发行版导致性能下降,这有助于决定是回滚到先前版本,还是确定要解决的特定问题。

请参阅管道反馈集成以了解如何将其与 CI/CD 管道集成。

术语

版本

对代码和基础架构进行更改的定义时刻,即体系结构变得普遍可用时。 此外,它还会对系统的运行状况或性能产生影响。

释放标记

时间序列图表中显示系统变更对用户生效时的指标。 可以使用不同的作用域来设置发行版标记:

  • 全局
  • 应用程序透视图
  • 服务
  • 应用程序透视图中的服务

突发事件

与应由人类调查的性能下降相关的问题。

配置

以下各节将说明如何在部署流程中创建发布版本、如何在 Instana 的仪表盘上查看发布版本,以及这如何帮助解决由 CI/CD 带来的持续变更所引发的问题。

通过使用我们的 Web REST API 或我们针对 Jenkins 的 Instana 管道反馈集成,在部署过程中轻松创建发布。

发布 API

我们的发布版本 API 提供了用于创建、读取、更新和删除发布版本的接口。 例如,以下 curl 命令可用于在给定时间点(作为 UNIX 时间戳记(以毫秒为单位))创建名为我的全局发行版标记的新全局发行版:

curl --location --request POST "{{base}}/api/releases" \
  --header "Authorization: apiToken {{apiToken}}" \
  --header "Content-Type: application/json" \
  --data "{
        \"name\": \"My Global Release Marker\",
        \"start\": 1565610536335
}"

有关更多配置示例,请参阅配置和 API 部分。

注意: 所使用的 API 令牌需要 “发布配置 ”权限。

Instana Jenkins 的管道反馈集成

或者,我们提供 Jenkins 插件,以允许与现有 CI/CD 工具进行更顺畅的集成。 可以在 GitHub上找到插件和更多信息。

用法

释放标记

为了将异常值与指标中的异常情况或变化联系起来, Instana 以多种方式包含了每个版本的相关信息。 例如,提供了额外的上下文判断度量值中的峰值是否可能是部署工件。 因此,可以将发行版标记用作工具比较发行版前后系统的行为。

图表

如下图所示,在应用程序视图页面中,每个图上都会显示一个发布标记作为注释。 此标记可用作快速识别的参考点,例如,回归或应用程序性能的改进。

图 1. 发布标记图表
在应用程序视图页面上发布标记图表

如前面的应用程序视图页面屏幕截图所示,发布标记包含以下信息:

  • 名称:用户定义的发行版名称。
  • 发布时间:发布发生时的时间点。
注: 为确保标记清晰可辨且不重叠,我们将多个桶聚合在一起。 将鼠标悬停在相应的发行版图标上时,集群的所有存储区都将突出显示。 如果一个桶的容量很大,那么在该桶的时间窗口内发生的释放操作会被聚类。 这是由垂直线表示的。

发布导航

除了在图表中显示外, Instana 还提供了多种方式来浏览近期发布的版本;您可以跟踪当前的实时版本,或将选定的时间范围缩小至该版本发布前后的一段时间。

发布通知

每次创建新的 全局 发布时,都会通知您,此通知使您能够执行以下两个可选操作:

  • 关注发布时间:更改所选时间范围,以便新发行版处于视图中,而时间范围的当前窗口大小保持不变,以便轻松比较发行版前后的度量值。
  • 实时关注发行版:启用 实时方式,以便在所有仪表板或图表中立即显示发行版的效果。

单击通知以将其关闭。

发布通知

距离发布还有多少时间

Instana 的时间选择器列出了最新的版本,如下图所示:

发布时间选取器

在选择一个发布之后,时间框架被调整,以便当前窗口大小保持不变,但是对于您的时间视图,发布时间是居中的。 这使您能够调查其对性能和系统运行状况的影响。

注:如果您尚未使用 API 创建发行版,那么在时间选取器中可能看不到转至发行版部分。