适用于 Grafana 的 AppDynamics 数据源
AppDynamics 数据源插件使您能够在 Grafana 中查询和可视化 AppDynamics 指标和分析数据。
要求
本插件有以下要求
- 拥有一个 AppDynamics 帐户,该帐户中的用户可以生成 API 密钥。
- 以下帐户类型之一
- 适用于拥有 Grafana Cloud Free、Advanced 或 Trial 帐户或已激活 Grafana Enterprise 许可的用户。
已知限制
- 指标路径名称不能包含您选择的分隔符。有关更多信息,请参阅查询指标数据源。
安装插件
导航到AppDynamics 插件主页。
在左侧菜单中,点击安装插件按钮。
- 如果您没有看到安装插件按钮,请确保您已登录到拥有有效 Enterprise Plugins 订阅的 Grafana.com 帐户。
显示安装选项卡。
满足兼容性要求
对于此插件,没有兼容性要求。
从 AppDynamics 获取凭据
您可以使用基本身份验证(用户名和密码)或 API 令牌进行身份验证。
验证插件是否已安装
- 在 Grafana Enterprise 中,从左侧菜单导航到配置 > 数据源。
- 从右上角,点击添加数据源按钮。
- 在搜索字段中搜索
AppDynamics
,并将鼠标悬停在 AppDynamics 搜索结果上。 - 点击 AppDynamics 的选择按钮。
- 如果您可以点击选择按钮,则表示已安装。
- 如果按钮丢失或禁用,则表示插件未安装。请检查您的 Grafana Enterprise 许可是否有效,然后重新安装插件。如果您仍然需要帮助,请联系 Grafana Labs。
配置 AppDynamics 指标数据源
您可以在 AppDynamics 中为数据源创建角色和用户,或使用 API 客户端设置身份验证。
在 AppDynamics 中为数据源创建角色和用户
数据源需要对帐户、应用程序、数据库和分析具有查看
权限。
如果您不想使用现有用户,请创建一个用户
- 导航到 AppDynamics 管理设置。
- 在角色选项卡中,选择 + 按钮创建新角色,例如
grafana_readonly
。将显示创建角色部分。 - 在帐户选项卡中,添加权限
查看业务流程
。 - 在应用程序选项卡中,勾选查看框,以允许 Grafana 查看应用程序数据。
- 在数据库选项卡中,勾选查看框,以允许 Grafana 查看数据库数据
- 在分析选项卡中,勾选可以查看所有应用程序的数据框,以允许 Grafana 查看应用程序分析数据
- 在管理页面的用户选项卡中,创建一个新用户,例如
grafana
。将新用户(或用户所属的组)分配给您刚刚创建的角色(例如grafana_readonly
)。
使用 API 客户端设置身份验证
- 作为具有管理权限的用户,登录 AppDynamics Controller UI:
https://company.saas.appdynamics.com/controller
,其中company
是您公司的名称。 - 点击齿轮图标,选择管理。
- 点击API 客户端选项卡。
- 点击创建按钮创建新的 API 客户端。
- 为 API 客户端添加名称和描述,然后生成客户端密钥。
- 将在 AppDynamics 中为数据源创建角色和用户步骤中创建的角色添加到新的 API 客户端。
- 将客户端名称字段中的值用于数据源配置中的客户端名称。
- 将您的公司/域名用于客户端域中的值。例如,参照第
1
点:客户端域的值应为company
。 - 输入步骤
4
中生成的密钥作为客户端密钥。
配置指标数据源
通过填写以下字段来添加数据源
基本字段
字段 | 描述 |
---|---|
名称 | 此特定 AppDynamics 数据源的名称。 |
URL | AppDynamics 的托管位置,例如 https://moria.saas.appdynamics.com 。 |
访问 | 访问模式控制如何处理对数据源的请求。如果没有另作说明,应首选服务器模式。 |
指标身份验证字段
字段 | 描述 |
---|---|
基本身份验证 | 输入 AppDynamics 用户名和密码。 |
TLS 客户端身份验证 | 使用传输层安全协议进行身份验证的内置选项。 |
跳过 TLS 验证 | 启用以跳过 TLS 验证。 |
包含凭据 | 启用此选项可在跨站点请求中发送凭据,例如 cookies 或 auth header。 |
包含 CA 证书 | 启用以验证自签名 TLS 证书。 |
转发 OAuth 身份 | 转发登录 Grafana 的 OAuth 用户的身份,适用于 Grafana 和数据源使用相同 OAuth 提供商的情况。 |
客户端名称 | 使用 API 客户端设置身份验证. |
客户端域 | 使用 API 客户端设置身份验证. |
客户端密钥 | 使用 API 客户端设置身份验证. |
自定义 HTTP 头部通过 Grafana 的 Provisioning 系统管理的数据源可以配置为向发往该数据源的所有请求添加 HTTP 头部。头部名称在 jsonData
字段中配置,头部值应在 secureJsonData
中配置。
分析身份验证字段
与大多数在 Controller 上提供的 AppDynamics REST API 不同,您通过访问 AppDynamics 平台中的 Events Service 实例来访问 Analytics Events API。由于此划分,分析的身份验证独立于指标。
AppDynamics 分析
字段 | 描述 |
---|---|
分析 API URL | SaaS 或本地部署的分析事件服务数据存储端点 |
分析 API 密钥 | 使用具有所需分析权限的 API 密钥设置身份验证。 |
全局帐户名称 | 全局帐户名称,如Controller UI 许可页面所示。 |
使用 Provisioning 配置数据源
可以使用配置文件通过 Grafana 的 Provisioning 系统配置数据源。您可以在Provisioning 文档页面上阅读更多信息
以下是使用基本身份验证的此数据源的一些 Provisioning 示例
apiVersion: 1
datasources:
- name: AppDynamics
type: dlopes7-appdynamics-datasource
basicAuth: true
basicAuthUser: Auth Username
url: https://abcdef12345.saas.appdynamics.com
secureJsonData:
basicAuthPassword: Auth Password
以下是使用 API 密钥 Provisioning 指标和分析数据的示例。
注意:如果您同时配置了指标 API 密钥和基本身份验证,则使用 API 密钥。
apiVersion: 1
datasources:
- name: AppDynamics
type: dlopes7-appdynamics-datasource
jsonData:
analyticsURL: https://analytics.api.appdynamics.com
globalAccountName: customer1_abcdef-123456-78910
secureJsonData:
apiKey: Metrics Api Key
analyticsAPIKey: Analytics API Key
查询指标数据源
在查询类型下拉菜单中,点击指标。查询编辑器允许您查询 AppDynamics 应用程序指标。
字段 | 描述 |
---|---|
应用程序 | AppDynamics 应用程序名称 |
指标 | |
图例 | 从完整路径、段或自定义中选择,详细信息请参阅此处 |
单个数据点(汇总) | 要获取最新行,请设置为 true 。 |
分隔符 | 选择用于影响指标路径如何分词的分隔符。 |
指标图例键
图例键的默认值可能相当长,但此格式可以自定义。
如果查询用于您看不到图例键的 singlestat 或其他面板,请点击显示元数据选项以查看查询的图例键(也称为别名)。
图例下拉菜单有几个选项:完整路径、段和自定义
完整路径:图例键是完整的指标路径。例如:
Overall Application Performance|Average Response Time (ms)
。段:图例键由从指标路径中选择的段组成,段索引从 1 开始。例如,对于指标路径
Errors|mywebsite|Error|Errors per Minute
,指定2, 4
作为段,返回mywebsite|Errors per minute
。自定义:通过将文本与以下别名模式结合来创建自定义图例,以便混合指标元数据
{{app}}
返回应用程序名称。{{n}}
返回指标路径中的第 n 个段。
例如,指标路径
Overall Application Performance|Average Response Time (ms)
和自定义图例{{app}} MetricPart2: {{2}}
返回App: myApp MetricPart2: Average Response Time (ms)
。
查询分析数据源
在查询类型列表中,点击分析。查询编辑器允许您使用 ADQL 查询 AppDynamics 分析数据。
当您输入 ADQL 查询时,查询编辑器将提供字段、表和模板变量的建议。
分析查询示例
SELECT distinct (transactionName), count(*) FROM transactions WHERE transactionName IN (${transactionName:doublequote})
模板和变量
要添加新的 AppDynamics 查询变量,请参阅添加查询变量。使用您的 AppDynamics 数据源作为以下可用查询的数据源
查询 | 描述 |
---|---|
应用程序 | 所有应用程序 |
AppName.Tiers | 指定应用程序名称的所有层级 |
AppName.TierName.BusinessTransactions | 指定层级的所有业务事务 |
AppName.TierName.Nodes | 指定层级的所有节点 |
AppName.Path.<任何指标路径> | 可以指定任何指标路径 |
SELECT 列 from 表 | 分析 ADQL 查询 |
创建变量后,您可以使用变量语法在 AppDynamics 查询中使用它。有关变量的更多信息,请参阅模板和变量。
注意:Metrics 查询不支持多值变量。如果在指标路径中找到多值变量,它们将被替换为
*
。
导入 AppDynamics 仪表盘
按照这些说明导入仪表盘。导入的仪表盘可以在配置 > 数据源 > 选择您的 AppDynamics 数据源 > 选择仪表盘选项卡中找到,以查看可用的预制仪表盘。