适用于 Grafana 的 AppDynamics 数据源
AppDynamics 数据源插件允许您在 Grafana 中查询和可视化 AppDynamics 指标和分析。
要求
此插件具有以下要求
- 具有可以 生成 API 密钥 的用户的 AppDynamics 帐户。
- 以下帐户类型之一
- 适用于具有 Grafana Cloud 免费版、高级版或试用版帐户或具有 已激活的 Grafana 企业版许可证 的用户。
已知限制
- 指标路径名称不能包含您选择的定界符。有关更多信息,请参阅 查询指标数据源。
安装插件
导航到 AppDynamics 插件主页。
从左侧菜单中,单击“安装插件”按钮。
- 如果您没有看到“安装插件”按钮,请确保您已登录到具有有效企业版插件订阅的 Grafana.com 帐户。
将显示“安装”选项卡。
满足兼容性要求
对于此插件,没有兼容性要求。
从 AppDynamics 获取凭据
您可以使用用户名和密码的基本身份验证或使用 API 令牌进行身份验证。
验证插件是否已安装
- 在 Grafana 企业版中,从左侧菜单导航到“配置”>“数据源”。
- 从右上角,单击“添加数据源”按钮。
- 在搜索字段中搜索
AppDynamics
,并将鼠标悬停在 AppDynamics 搜索结果上。 - 单击 AppDynamics 的“选择”按钮。
- 如果您可以单击“选择”按钮,则说明它已安装。
- 如果按钮丢失或被禁用,则说明插件未安装。检查您的 Grafana 企业版许可证是否有效,并重新安装插件。如果您仍然需要帮助,请 联系 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 验证。 |
带凭据 | 允许在跨站点请求中发送凭据,例如 cookie 或身份验证标头。 |
使用 CA 证书 | 允许验证自签名 TLS 证书。 |
转发 OAuth 身份 | 在 Grafana 和数据源都使用同一 OAuth 提供商的情况下,转发登录 Grafana 的 OAuth 用户的身份。 |
客户端名称 | 使用 API 客户端设置身份验证. |
客户端域名 | 使用 API 客户端设置身份验证. |
客户端密钥 | 使用 API 客户端设置身份验证. |
自定义 HTTP 标头 通过 Grafana 中的配置进行管理的数据源可以配置为向所有发送到该数据源的请求添加 HTTP 标头。标头名称在 jsonData
字段中配置,标头值应在 secureJsonData 中配置。
分析身份验证字段
与大多数在控制器中提供的 AppDynamics REST API 不同,您通过访问 AppDynamics 平台中的事件服务实例来访问分析事件 API。由于这种划分,分析的身份验证独立于指标。
AppDynamics 分析
字段 | 描述 |
---|---|
分析 API URL | SaaS 或本地 分析事件服务数据存储 的端点 |
分析 API 密钥 | 使用具有所需 分析权限 的 设置使用 API 密钥进行身份验证。 |
全局帐户名称 | 全局帐户名称,如 控制器 UI 许可证页面 中所示。 |
使用配置配置数据源
可以使用配置文件和 Grafana 的配置系统来配置数据源。您可以在 配置文档页面 上阅读更多相关信息。
以下是使用基本身份验证的此数据源的一些配置示例
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 密钥配置指标和分析的示例。
注意:如果您已配置指标 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 。 |
分隔符 | 选择用于影响指标路径标记化的分隔符。 |
指标图例键
图例键的默认值可能很长,但可以自定义此格式。
如果查询用于单统计量或其他面板,您无法看到图例键,则单击显示元数据选项以查看查询的图例键(也称为别名)。
图例下拉菜单有几个选项:完整路径、片段和自定义
完整路径:图例键是完整的指标路径。例如:
总体应用程序性能|平均响应时间(毫秒)
。片段:图例键由指标路径中选择的片段组成,片段索引从 1 开始。例如,指标路径为
错误|我的网站|错误|每分钟错误
,并指定2, 4
作为片段将返回我的网站|每分钟错误
。自定义:通过将文本与以下别名模式组合来创建自定义图例,以便能够混合指标元数据
{{app}}
返回应用程序名称。{{n}}
返回指标路径中的第 n 个片段。
例如,指标路径
总体应用程序性能|平均响应时间(毫秒)
和自定义图例{{app}} MetricPart2: {{2}}
返回App: myApp MetricPart2: 平均响应时间(毫秒)
。
查询分析数据源
在查询类型列表中,单击分析。查询编辑器允许您使用 ADQL 查询 AppDynamics 分析。
查询编辑器将在您键入 ADQL 查询时提供对字段、表和模板变量的建议。
分析查询示例
SELECT distinct (transactionName), count(*) FROM transactions WHERE transactionName IN (${transactionName:doublequote})
模板和变量
要添加新的 AppDynamics 查询变量,请参考 添加查询变量。使用您的 AppDynamics 数据源作为以下可用查询的数据源
查询 | 描述 |
---|---|
应用程序 | 所有应用程序 |
AppName.BusinessTransactions | 应用程序名称的所有业务事务 |
AppName.Tiers | 应用程序名称的所有层 |
AppName.Nodes | 应用程序名称的所有节点 |
AppName.TierName.BusinessTransactions | 特定层的所有业务事务 |
AppName.TierName.Nodes | 特定层的所有节点 |
AppName.Path.<任何指标路径> | 可以指定任何指标路径 |
SELECT column from table | 分析 ADQL 查询 |
创建变量后,您可以使用 变量语法 在 AppDynamics 查询中使用它。有关变量的更多信息,请参阅 模板和变量。
注意:多值变量在指标查询中不受支持。如果在指标路径中找到多值变量,它们将被替换为
*
导入 AppDynamics 的仪表盘
按照这些 说明 导入仪表盘。导入的仪表盘可以在配置>数据源>选择您的 AppDynamics 数据源>选择仪表盘选项卡以查看可用的预制仪表盘中找到。