应用程序 UI 中的自定义链接
对于无服务器可观测性(Observability)项目,需要 Editor(编辑者)或更高角色才能创建和管理自定义链接。要了解更多信息,请参阅 分配用户角色和权限。
Elastic 的自定义链接功能允许您根据特定的 APM 数据轻松创建多达 500 个动态链接。可以对自定义链接进行过滤,使其仅在应用程序 UI 中针对相关服务、环境、事务类型或事务名称显示。
准备好深入了解了吗?直接跳转到示例。
每个自定义链接由标签、URL 和可选的过滤器组成。创建自定义链接最简单的方法是从事务详情页面的操作下拉菜单中进行。此方法会自动应用过滤器,将链接范围限定到该特定的服务、环境、事务类型和事务名称。
或者,您也可以在应用程序 UI 中导航到 Settings(设置) > Customize UI(自定义 UI),然后选择 Create custom link(创建自定义链接),来创建自定义链接。
自定义链接的名称。操作上下文菜单会显示此文本,因此请尽量简短。
自定义链接在操作菜单中按字母顺序显示。
您的链接指向的 URL。URL 支持用双大括号封装的动态字段名称变量:{{field.name}}。点击链接时,这些变量将被替换为事务元数据。
由于每个人的数据都不同,您需要检查您的跟踪(trace)以了解有哪些可用的元数据。为此,请在应用程序 UI 中选择一个跟踪,然后在 Trace Sample(跟踪样本)表中单击 Metadata(元数据)。
过滤每个链接,使其仅对特定的服务或事务显示。您可以按以下字段进行过滤
service.nameservice.envtransaction.typetransaction.name
使用逗号分隔时允许多个值。
不知道如何开始使用自定义链接?请查看以下示例并根据您的喜好进行自定义!
给服务的所有者发邮件。
| 标签 | 给 <SERVICE_NAME> 工程师发邮件 |
| 链接 | mailto:<TEAM_OR_ENGINEER>@<COMPANY_NAME>.com |
| 多过滤 (Filters) | service.name:<SERVICE_NAME> |
示例
此链接会打开一封收件人为 python-backend 团队或所有者的电子邮件。它将仅显示在名称为 python-backend 的服务上。
| 标签 | 给 python-backend 工程师发邮件 |
| 链接 | mailto:python_team@elastic.co |
| 多过滤 (Filters) | service.name:python-backend |
打开一个带有来自所选跟踪样本的预填元数据的 GitHub Issue。
| 标签 | 在 <REPO_NAME> 中打开一个 Issue |
| 链接 | https://github.com/<ORG>/<REPO>/issues/new?title=<TITLE>&body=<BODY> |
| 多过滤 (Filters) | service.name:client |
示例
此链接会在 apm-agent-rum 仓库中打开一个新的 GitHub Issue。它会在 Issue 正文中填充来自当前活动跟踪的相关元数据。点击此链接将导致创建以下 Issue
| 标签 | 在 apm-rum-js 中打开一个 Issue |
| 链接 | https://github.com/elastic/apm-agent-rum-js/issues/new?title=Investigate+APM+trace&body=Investigate+the+following+APM+trace%3A%0D%0A%0D%0Aservice.name%3A+{{service.name}}%0D%0Atransaction.id%3A+{{transaction.id}}%0D%0Acontainer.id%3A+{{container.id}}%0D%0Aurl.full%3A+{{url.full}} |
| 多过滤 (Filters) | service.name:client |
有关支持的查询参数的完整列表,请参阅 GitHub 自动化文档。
创建一个带有来自所选跟踪样本的预填元数据的 Jira 任务。
| 标签 | 在 Jira 中打开一个 Issue |
| 链接 | https://<JIRA_BASE_URL>/secure/CreateIssueDetails!init.jspa?<ARGUMENTS> |
示例
此链接会在 Jira 的工程看板上创建一个新任务。它会在 Issue 正文中填充来自当前活动跟踪的相关元数据。点击此链接将导致在 Jira 中创建以下任务
| 标签 | 在 Jira 中打开一个任务 |
| 链接 | https://test-site-33.atlassian.net/secure/CreateIssueDetails!init.jspa?pid=10000&issuetype=10001&summary=Created+via+APM&description=Investigate+the+following+APM+trace%3A%0D%0A%0D%0Aservice.name%3A+{{service.name}}%0D%0Atransaction.id%3A+{{transaction.id}}%0D%0Acontainer.id%3A+{{container.id}}%0D%0Aurl.full%3A+{{url.full}} |
有关支持的查询参数的完整列表,请参阅 Jira 应用管理知识库。
链接到自定义仪表板。
| 标签 | 在自定义可视化中打开事务 |
| 链接 | https://kibana-instance/app/kibana#/dashboard?_g=query:(language:kuery,query:'transaction.id:{{transaction.id}}'... |
示例
此链接在自定义仪表板中打开当前的 transaction.id。未设置任何过滤器。
| 标签 | 在 Python 下钻可视化中打开事务 |
| URL | https://kibana-instance/app/kibana#/dashboard?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-24h,to:now))&_a=(description:'',filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),panels:!((embeddableConfig:(),gridData:(h:15,i:cb79c1c0-1af8-472c-aaf7-d158a76946fb,w:24,x:0,y:0),id:c8c74b20-6a30-11ea-92ab-b5d3feff11df,panelIndex:cb79c1c0-1af8-472c-aaf7-d158a76946fb,type:visualization,version:'7.7')),query:(language:kuery,query:'transaction.id:{{transaction.id}}'),timeRestore:!f,title:'',viewMode:edit) |
打开指定的 Slack 频道。
| 标签 | 打开 SLACK_CHANNEL |
| 链接 | https://COMPANY_SLACK.slack.com/archives/SLACK_CHANNEL |
| 多过滤 (Filters) | service.name : SERVICE_NAME |
示例
此链接会打开一个公司 Slack 频道 #apm-user-support。它仅在 transaction.name 为 GET user/login 时显示。
| 标签 | 打开 #apm-user-support |
| 链接 | https://COMPANY_SLACK.slack.com/archives/efk52kt23k |
| 多过滤 (Filters) | transaction.name:GET user/login |
打开内部或外部网站。
| 标签 | 打开 <WEBSITE> |
| 链接 | https://<COMPANY_SLACK>.slack.com/archives/<SLACK_CHANNEL> |
| 多过滤 (Filters) | service.name:<SERVICE_NAME> |
示例
此链接会打开有关特定 user.email 的更多数据。它仅显示在前端事务上。
| 标签 | 内部查看用户 |
| 链接 | https://internal-site.example.com/user/{{user.email}} |
| 多过滤 (Filters) | service.name:client |