根据在 Dynatrace 中检测到的问题自动创建 Jira Software 事务

按 Rob Jahn、Dynatrace 技术合作伙伴经理兼 DevOps 布道师

本教程详细介绍如何根据 Dynatrace 检测到的问题自动创建 Jira 事务。请参阅我们的其他教程(如何集成 Dynatrace 和 Jira 以提高可观察性)以了解如何设置 Jira 和 Dynatrace 集成。

对于此用例,“客户”后端服务将被关闭,从而会导致“前端”服务出错。然后,Dynatrace 将检测到这些错误并自动创建 Jira 事务。

时间

15 分钟阅读。在 2-3 个小时内完成。

观众

拥有所有项目的管理员项目权限。有关更多信息,请参阅管理项目权限

拥有 Dynatrace 环境的管理权限。有关更多信息,请参阅 Dynatrace 入门

对 Linux 命令有基本的了解。

先决条件

您已拥有 Dynatrace 环境 - 获取 Dynatrace 的 15 天免费试用。

运行 Dynatrace 提供的示例应用需要 Linux 主机。有关在虚拟机上安装的要求和说明,请按照本自述文件中的安装说明进行操作。

该 Linux 主机需要安装 Dynatrace OneAgent

您已拥有 Jira Software 帐户。点击此处开始使用 Jira。

想了解更多?

有关在 Jira 中使用冲刺的更多信息,请参阅冲刺教程

概述

本教程取决于几个相互交互的组成部分。在本教程中,您将:

1. 配置 Jira Automaton 以创建 Dynatrace 问题卡片评论,其中包含返回 Jira 事务的 URL。

2. 配置 Dynatrace 以将问题推送给 Jira。

3. 在示例应用中触发问题,然后查看 Dynatrace 如何检测问题并自动创建 Jira 事务。

4. 在 Dynatrace 发布页面上配置 Jira 事务查询。

5. 清理您的环境。

此图显示了本教程的组成部分,以及它们之间的基本交互。

使用 Dynatrace 和 Jira 的图

1. 使用 Dynatrace 监控应用 — 在本教程中,Dynatrace 将从运行示例应用的主机上安装的 Dynatrace 代理收集指标。所有数据都集中在中央 Dynatrace 租户中,该租户还提供用于管理以及由 AI 提供支持的问题检测功能的 Web 界面。

2. 具有详细上下文的问题通知 — Dynatrace 的 AI 引擎 Davis 使用映射到统一实体模型的高保真指标、轨迹、日志和真实用户数据。它使用 Davis 的确定性 AI 来揭示问题的确切根源。Davis 不仅能找到确切的根本原因,而且可以立即提供有价值的上下文。您将知道问题是资源瓶颈还是部署变更的结果,甚至是背后的原因。您可以重现问题以充分了解问题发生的原因以及如何解决问题。

3. 自动创建 Jira 事务 — Dynatrace 和 Jira 集成会自动为在 Dynatrace 环境中自动检测到的所有新问题创建事务。

4. Jira Automation 更新了 Dynatrace — Jira Automation 是一项“无代码”功能,只需单击几下即可轻松构建规则。对 Dynatrace API 的网络请求使用 Dynatrace 问题 ID 来更新 Dynatrace 问题卡片评论。

5. 解决问题并关闭 Jira 事务

步骤 1:停止示例应用,让 Dynatrace 检测可用性问题

在运行示例应用的 Linux 主机上,导航到包含 docker-compose.yaml 文件的目录,然后运行以下命令停止服务:

sudo docker-compose -f docker-compose-services.yaml scale customer-service=0

此命令可用于验证它没有运行:

sudo docker ps

步骤 2:在 Dynatrace 中查看问题卡片

几分钟后,问题就会出现,而 Dynatrace 将创建问题。Dynatrace 的不同之处在于它不是警报。Dynatrace 使用确定性 AI 来执行自动故障树分析,此分析将指标、日志、真实用户数据和事件均纳入考虑。其分析结果是一张问题卡片,其中显示了业务影响、哪些应用和基础设施组件受到影响、事件的可重现历史记录以及事务的根本原因。

问题窗口

步骤 3:查看自动生成的 Jira 事务

Jira 将生成一个新事务,其中包括问题详细信息以及指回 Dynatrace 问题卡片的深度 URL 链接。

问题事务

步骤 4:查看 Dynatrace 评论

创建 Jira 事务后,单击 Dynatrace 问题 URL 以打开 Dynatrace 问题卡片。向下滚动以查看评论,其中附带指回 Jira 事务的 URL。这是 Dynatrace API 调用(由 Jira Automation 规则创建)中添加的 Jira Automation 智能标签实现的。

从问题卡片向下滚动以发表评论

** 专业提示 — 您可以使用与 Dynatrace 评论相同的概念来添加任意新的 Jira 评论。为此,请使用“当:事务已评论”触发器创建新的 Automation 规则,并将其用作 webhook 正文:

{

"comment": "{{issue.comments.last.body}} - Jira Issue: [{{issue.key}}]({{issue.url}})", "user": "{{issue.comments.last.author.displayName}}", "context": "Jira"

}

故障率上升屏幕

** 专业提示 — Dynatrace 问题通知可以配置为将其他信息从 Dynatrace 传递给 Jira,包括问题状态、受影响的实体和标记。此数据可以进一步用于更复杂的自动化,例如分配事务、设置优先级、链接到组件以及填充自定义 Jira 字段。例如,Jira Automation “if block”可以解析匹配 Dynatrace 标记。

If 数据块窗口

步骤 5:通过重新启动示例应用服务来解决事务

在运行示例应用的 Linux 主机上,导航到包含 docker-compose.yaml 文件的目录,然后运行以下命令以重新启动服务:

sudo docker-compose -f docker-compose-services.yaml scale customer-service=1

此命令可用于验证它是否正在运行:

sudo docker ps

步骤 6:在 Dynatrace 中再次查看应用

查看前端服务页面,您会注意到故障是如何消失的。

故障率窗口

而且 Dynatrace 问题卡片也自动关闭了。

故障率通知

尝试其他几个问题

Dynatrace Orders 应用预先构建了编程为不同版本的问题。该应用使用功能标记 URL 进行编程,该 URL 可用于更改版本,从而会更改应用的行为。订单和客户服务的版本 1 具有“正常”行为,并通过将版本设为 2 来启用问题。

如果您想试用这些功能,请参阅 Dynatrace Orders 概览页面。

在 Dynatrace 发布页面上配置 Jira 事务查询

在“发布”页面上,Dynatrace 显示事务跟踪器查询,包括与实时库存中受监控实体相关的事务统计信息。

通过筛选器查询结果

步骤 1:定义您的 JQL

在 Jira 的事务搜索中,构造一个 Jira 查询语言 (JQL) 表达式,如下所示。

project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC

生成事务的查询

步骤 2:创建发布事务跟踪器查询

1. 在 Dynatrace 中,使用左侧菜单导航到发布页面。

2. 在发布页面上,单击配置按钮。

实时发布窗口

3. 在发布事务跟踪器查询设置页面上,单击添加新的事务跟踪器查询按钮。

指向左侧导航中“设置”的箭头

4. 在新的查询表单上,按如下方式填写值:

  • 事务标签:dt-orders 前端事务

  • Issue query: project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC

  • 事务主题:错误

  • 事务跟踪器系统:Jira

  • URL 目标https://YOUR-COMPANY.atlassian.net

  • 用户名:您的 Jira 用户 ID,例如一个电子邮件地址

  • 密码:留空

  • 令牌:您在本指南中先前创建的 Jira 用户令牌

5. 保存查询。

步骤 3:查看

1. 使用左侧菜单导航回发布页面。

2. 现在,您应能看到包含所有未解决事务的事务计数的新查询。

实时发布窗口

3. 如果单击事务行,系统将打开 Jira 来查看这些队列。

清除

1. 如果您正在为示例应用运行按需运行的主机,请将其终止。

2. 要停止示例应用,请转到运行示例应用的 Linux 主机,导航到包含 docker-compose.yaml 文件的目录,然后运行以下命令以停止应用:

sudo docker-compose -f docker-compose-services.yaml down

使用此命令验证没有容器在运行

sudo docker ps

3. 在 Jira 中,删除您为本教程创建的项目。

4. 在 Dynatrace 中,删除您添加的 API 令牌和问题通知规则。

了解更多

在 Atlassian Marketplace 中获取适用于 Jira 的 Dynatrace 问题集成插件

在我们的 Dynatrace 社区提问(并提供建议)。

此处了解有关 Dynatrace + Atlassian 功能的更多信息。

点击此处了解有关 Dynatrace 与 Atlassian 集成的更多信息(以及如何让工作更智能,而不是更困难)。

在此 Dynatrace Performance Clinic 中,查看 Atlassian、Dynatrace 和 KepTN 的实际应用。

请参阅我们的其他教程如何集成 Dynatrace 和 Jira 以提高可观察性以了解如何设置 Jira 和 Dynatrace 集成。

为您推荐

DevOps 社区

DevOps 学习路径

免费试用