Grafana 的 New Relic 数据源
新 relic 数据源插件允许您在 Grafana 内部查询和可视化 New Relic APM(应用程序性能监控)和洞察。
要求
此插件有以下要求
- 一个 New Relic 账户
- 以下账户类型之一
- 适用于具有 Grafana Cloud 免费版、高级版或试用账户或已激活的 Grafana 企业版许可证 的用户。
已知限制
- 目前不支持即兴过滤器。
- 不支持具有多个
FACET
字段的 NRQL 查询。
安装 New Relic 数据源插件
要安装数据源,请参阅 安装。
从 New Relic 获取 API 密钥和账户 ID
您需要您的个人 API 密钥/用户 API 密钥,请参阅 New Relic API 密钥。您还需要从 New Relic 获取您的账户 ID,请参阅 账户 ID。
在 Grafana 中配置数据源
添加数据源,填写以下字段
字段名称 | 描述 |
---|---|
名称 | 为此特定的 New Relic 数据源输入一个名称。 |
个人 API 密钥 / 用户 API 密钥 | 要查找您的 New Relic API 密钥,请参阅 从 New Relic 获取 API 密钥和账户 ID。输入此特定的 New Relic 数据源的名称。 |
账户 ID | 输入您的 New Relic 账户 ID。要查找您的 New Relic 账户 ID,请参阅 从 New Relic 获取 API 密钥和账户 ID。 |
区域 | 输入您的服务所在区域。 |
使用配置管理配置数据源
可以使用 Grafana 的配置管理系统配置数据源。您可以在 配置 Grafana 上阅读更多有关其工作方式和可以为数据源设置的所有设置。
以下是一个配置此数据源的示例
apiVersion: 1
datasources:
- name: New Relic
type: grafana-newrelic-datasource
jsonData:
region: EU
secureJsonData:
accountId: 1111111
personalApiKey: Personal API Key
查询数据源
服务可以是 指标
、数据探索器
、NRQL 编辑器
、日志
或 跟踪
。有关 NRQL 编辑器/洞察的更多信息,请参阅 洞察。
度量
如果这些下拉框中没有找到选项,您还可以通过选择 创建:(您的文本)
来选择该选项。
字段名称 | 描述 |
---|---|
应用程序 | 选择源应用程序。在下拉框中开始键入以找到您的源。 |
指标 | 从展开的列表中选择您希望查看的指标命名空间。 |
值 | 输入您希望返回的指标值。 |
别名通过 | 您可以将纯文本与以下变量组合:$__nr_metric 是指标名称,例如 CPU/User time 。 $__nr_metric_value 是指标值,例如 average_value 。 |
应用程序/指标选择器旁边有一个小搜索图标。当您有很多应用程序或指标时,您可以使用它们来搜索。搜索图标将在任何时间点产生相关的前 1000 个结果。如果您有超过 1000 个应用程序/指标,您可以使用名称过滤器过滤结果。注意:搜索区分大小写。
数据探索器
数据探索器允许您查询 New Relic Insights 数据 而无需编写原始 NRQL。
一旦切换到 数据探索器 模式,查询编辑器将预配置为默认查询。您可以通过自定义以下字段来创建自己的数据探索器查询:
字段名称 | 描述 |
---|---|
从: | 使用此字段指定您要查询的数据类型。如果此字段更新,查询的其余部分将重置为默认值。 |
选择: | 您可以在 SELECT 部分指定一个或多个聚合。这也可以用于对两个聚合字段执行算术运算。可选的,可以使用 NRQL FILTER 查询过滤 SELECT 中的每个项目。 |
在: | (可选) 指定 NRQL 过滤器的原始条件。例如 appName = 'something' AND serverName in ('server1','server2') AND city in (${cities:singlequote}) 。此字段接受 Grafana 变量。 |
分面: | (可选) 使用此字段通过属性值分离和分组您的结果。使用 FACET BY CASES 可以根据比 FACET 更复杂的条件分解数据。 |
时间过滤器: | (可选) 配置此字段以根据时间范围过滤数据。选择 仪表板时间 以根据 Grafana 选择的時間范围过滤数据。默认情况下,使用 Grafana 的时间范围。 |
格式: | 这可以是 时间序列 或 表格 之一。默认是 时间序列 。如果选择时间序列,则将在查询中添加 TIMESERIES 关键字,并且您的数据将以按指定时间段拆分的时间序列格式呈现。如果选择 表格 ,则数据将不会按时间聚合。如果要汇总数据,请使用 表格 模式。 |
间隔: | (可选) 选择上述 timeseries 格式时,您可以配置时间序列聚合的间隔。 |
滑动: | (可选) 选择 timeseries 格式和 custom 间隔时,可选地使用 滑动 字段来指定滑动时间窗口范围。 |
您可以在预览部分根据您的选项预览 NRQL 查询。如果您想进一步自定义查询,可以通过单击 切换到 NRQL 编辑器 切换到原始 NRQL 编辑器。
有关 NRQL 语法,请参阅 New Relic 文档页面。
N R Q L 编辑器 (洞察)
有关 NRQL 简介,请参阅 NRQL 简介。
一旦开始输入,就会显示代码完成。要选择完成选项,使用箭头键突出显示所需选项,然后按 Tab 键选择。
编辑器支持以下宏。
宏语法: | 描述 |
---|---|
$__timeFilter | 这将使用您的 Grafana 仪表板的时间范围在查询中,通过将 $__timeFilter 插值到 SINCE <from> UNTIL <to> 。 |
$__timeSeries(time range,corresponding aggregation,default aggregation) | 此宏可以根据时间范围动态设置聚合。例如:$__timeSeries(60m,1 MINUTE,MAX) 。当仪表板间隔小于或等于 60 分钟时,此宏将扩展到 TIMESERIES 1 MINUTE 。否则,它将扩展到 TIMESERIES MAX 。 |
示例
SELECT average(value) FROM $event_template_variable $__timeFilter TIMESERIES
请确保在您的NRQL查询中包含
$__timeFilter
宏。否则,您的结果将不会同步到Grafana仪表板的计时范围。
合成查询
可以使用NRQL编辑器/洞察从SyntheticCheck
和SyntheticRequest
表查询New Relic合成数据。
例如,以下查询返回所有请求按响应状态的数量。
SELECT count(*) FROM SyntheticRequest FACET responseStatus $__timeFilter
以下查询返回所有监控的成功率。
SELECT (
filter(count(*),WHERE result = 'SUCCESS')
/ filter(count(*), WHERE result IN ('SUCCESS','FAILED'))
* 100
) as 'Success Rate' FROM SyntheticCheck
FACET monitorName $__timeFilter TIMESERIES
有关合成监控查询的更多详细信息,请参阅合成监控报告的事件
日志
插件的服务日志允许您查询和查看存储在New Relic Log
表中的日志。插件使用NerdGraph NRQL查询执行搜索。插件使用SELECT * FROM Log WHERE <xxxx> SINCE <xxxxx> UNTIL <xxxxx> ORDER BY <xxxxx> LIMIT MAX
查询执行日志搜索,并以Grafana日志格式呈现结果。日志将自动过滤仪表板的计时范围。您可以配置以下字段以过滤数据(可选)
字段 | 描述 |
---|---|
查询 | 在搜索日志时提供NRQL过滤器查询。例如:message LIKE '%ERROR%' AND container_name = 'petclinic' |
排序 | 默认情况下,结果将按时间戳降序排序。您可以选择将其更改为升序。 |
日志搜索查询将返回最多2000条记录(NRQL API限制)。但探索中的日志量面板可以为您提供有关整个时间范围内存在更多日志的提示,然后您可以将探索的计时范围缩小到特定时间段。
如果日志行找到traceId
/traceid
/trace.id
等字段,日志面板将为您提供相应的跟踪视图链接。
跟踪
插件的跟踪服务允许您查询和查看存储在New Relic中的跟踪。这可以通过单独搜索跟踪或通过列表来完成。
字段 | 描述 |
---|---|
跟踪ID | 在使用跟踪视图时,在此处提供跟踪ID。例如:951ae3313c093aa3278cbc27c0714c94 |
查询 | 在搜索跟踪时提供NRQL过滤器查询。例如:parentId IS NULL AND duration > 0.05 AND appName = 'petclinic' |
有关New Relic跟踪API的更多信息,请参阅New Relic文档站点。
模板和变量
要添加新的New Relic查询变量,请参阅添加查询变量。使用以下可用查询的New Relic数据源作为数据源。
端点 | 描述 |
---|---|
应用程序 | 可用应用程序列表 |
applicationNames | 可用应用程序名称列表 |
applications/{application_id}/metrics | 应用程序的可用指标列表 |
New Relic查询可以返回相对端点(不包括文件扩展名)。有关更多信息,请参阅New Relic REST API
创建变量后,您可以在New Relic查询中使用它,通过使用变量语法。有关更多信息,请参阅变量语法。有关变量的更多信息,请参阅模板和变量。
导入New Relic仪表板
按照以下说明导入仪表板。
导入的仪表板可以在“配置”>“数据源”>选择您的New Relic数据源>选择“仪表板”选项卡查看可用的预定义仪表板。