Close

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

Phillip Jones 头像
Rob Jahn

Dynatrace 的技术合作伙伴经理兼 DevOps 宣传专员

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

For this use case, the “customer” backend service will be shut down, which will cause errors in the “frontend” service. These errors will then be detected by Dynatrace and Jira issues will automatically be created.

Time

15-minute read. Complete over 2-3 hours.

Audience

You have administrator projects permission for all projects. See Managing project permissions for more information.

You have administration permission for your Dynatrace environment. See Get started with Dynatrace for more information.

You have a basic knowledge of Linux commands.

Prerequisites

You have a Dynatrace environment -- Get a 15-day trial of Dynatrace.

A Linux host is required to run a Dynatrace provided sample application. Follow the installation instructions found in this README for requirements and instructions to install on a virtual machine.

This same Linux host needs to have the Dynatrace OneAgent installed.

You have a Jira Software account. Get started with Jira here.

Want to learn more?

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

有疑问?咨询 Atlassian 社区

概述

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

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 的操作。
查看 Atlassian Open DevOps 的更多集成

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

Rob Jahn
Rob Jahn

分享这篇文章
下一个主题

推荐阅读

将这些资源加入书签,以了解 DevOps 团队的类型,或获取 Atlassian 关于 DevOps 的持续更新。

Devops 示意图

DevOps 社区

Devops 示意图

DevOps 学习路径

地图插图

免费试用

注册以获取我们的 DevOps 新闻资讯

Thank you for signing up