Grafana 的 New Relic 数据源
New Relic 数据源插件允许您在 Grafana 中查询和可视化 New Relic APM(应用程序性能监控)和 Insights 数据。
要求
此插件有以下要求
- New Relic 帐户
- 以下帐户类型之一
- 适用于拥有 Grafana Cloud 免费、高级或试用帐户,或已激活 Grafana Enterprise 许可的用户。
已知限制
- 目前不支持 Ad-hoc 过滤器。
- 不 支持具有多个
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。 |
区域 | 输入托管您服务的区域。 |
使用 provisioning 配置数据源
数据源可以通过 Grafana 的 provisioning 系统进行配置。您可以阅读更多关于其工作原理以及所有可为数据源设置的配置,请参阅 Grafana provisioning。
以下是 provisioning 此数据源的示例
apiVersion: 1
datasources:
- name: New Relic
type: grafana-newrelic-datasource
jsonData:
region: EU
secureJsonData:
accountId: 1111111
personalApiKey: Personal API Key
查询数据源
服务可以是 Metrics
、Data Explorer
、NRQL Editor
、Logs
或 Traces
。要了解更多关于 NRQL Editor/Insights 的信息,请参阅 Insights。
指标
如果您在这些下拉框中找不到某个选项,您仍然可以通过选择 Create: (your text)
来选择该选项。
字段名称 | 描述 |
---|---|
应用 | 选择源应用程序。在下拉框中开始输入以查找您的源。 |
指标 | 从展开列表中选择您希望查看的指标命名空间。 |
值 | 输入您希望返回的指标值。 |
别名 | 您可以将纯文本与以下变量结合使用:$__nr_metric 是指标名称,例如 CPU/User time 。$__nr_metric_value 是指标值,例如 average_value 。 |
应用/指标选择器旁边有一个小搜索图标。当您有大量应用程序或指标时,可以使用它们进行搜索。搜索图标一次最多返回 1000 个相关结果。如果您有超过 1000 个应用程序/指标,可以使用名称过滤器来过滤结果。注意:搜索区分大小写。
Data Explorer
Data explorer 允许您在不编写原始 NRQL 的情况下查询 New Relic Insights 数据。
切换到 Data Explorer 模式后,查询编辑器将预配置默认查询。您可以通过自定义以下字段来创建自己的 data explorer 查询
字段名称 | 描述 |
---|---|
From | 使用此字段指定您希望查询的数据类型。如果更新此字段,查询的其余部分将重置为默认值。 |
Select | 您可以在 SELECT 部分指定一个或多个聚合。这也可以用于对两个聚合字段执行算术运算。另外,SELECT 中的每个项目都可以使用 NRQL FILTER 查询进行过滤。 |
Where | (可选)指定 NRQL 过滤器的原始条件。示例 appName = 'something' AND serverName in ('server1','server2') AND city in (${cities:singlequote}) 。此字段接受 Grafana 变量。 |
Facet | (可选)使用此字段按属性值分隔和分组结果。使用 FACET BY CASES 可以按比 FACET 更复杂的条件来分解数据。 |
时间过滤器 | (可选)配置此字段以根据时间范围过滤数据。选择 Dashboard time 以根据 Grafana 选定的时间范围过滤数据。默认情况下,使用 Grafana 的时间范围。 |
格式 | 可以是 TimeSeries 或 Table 。默认值为 TimeSeries 。如果选择 TimeSeries,则 TIMESERIES 关键字会添加到查询中,并且您的数据将按指定时间段以时间序列格式呈现。如果选择 Table ,则数据将不按时间聚合。如果您需要摘要,请使用 Table 模式。 |
时间间隔 | (可选)在上面选择 timeseries 格式时,您可以选择配置时间序列聚合的时间间隔。 |
滑动窗口 | (可选)在选择 timeseries 格式和 custom 时间间隔时,可以选择使用 slide by 字段指定滑动时间窗口范围。 |
您可以在 Preview 部分预览根据您的选项生成的 NRQL 查询。如果您想进一步自定义查询,可以点击 Switch to NRQL Editor 切换到原始 NRQL 编辑器。
在 New Relic 文档页面了解更多关于 NRQL 语法的信息。
NRQL 编辑器 (Insights)
要了解 New Relic Query Language 的介绍,请参阅 NRQL 简介。
开始输入后将显示代码补全。要选择补全选项,请使用箭头键突出显示所需选项,然后按 Tab 键进行选择。
编辑器支持以下宏。
宏语法 | 描述 |
---|---|
$__timeFilter | 这将通过将 $__timeFilter 转换为 SINCE <from> UNTIL <to> 来使用 Grafana 仪表盘的时间范围进行查询。 |
$__timeSeries(时间范围,对应聚合,默认聚合) | 此宏可用于根据时间范围动态设置聚合。示例:$__timeSeries(60m,1 MINUTE,MAX) 。当仪表盘时间间隔小于等于 60 分钟时,此宏将扩展为 TIMESERIES 1 MINUTE 。否则,它将扩展为 TIMESERIES MAX 。 |
示例
SELECT average(value) FROM $event_template_variable $__timeFilter TIMESERIES
确保在您的 NRQL 查询中包含
$__timeFilter
宏。否则,您的结果将不会与 Grafana 仪表盘的时间范围同步。
Synthetics 查询
可以 使用 NRQL 编辑器/Insights 从 SyntheticCheck
和 SyntheticRequest
表中查询 New Relic Synthetics 数据。
例如,以下查询返回按响应状态分组的所有请求计数。
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
有关 Synthetics 监控查询的更多详细信息,请参阅 Synthetics 监控报告的事件
日志
日志查询
字段 | 描述 |
---|---|
Query | 在搜索日志时提供 NRQL 过滤查询。示例:message LIKE '%ERROR%' AND container_name = 'petclinic' |
order By | 默认情况下,结果按时间戳降序排列。您可以选择将其更改为升序。 |
日志搜索查询最多返回 2000 条记录(NRQL API 限制)。但 Explore 中的日志量面板可以提示您在整个时间范围内存在更多日志,然后您可以将 Explore 的时间范围缩小到特定时期。
如果日志行找到诸如 traceId
/traceid
/trace.id
之类的字段,日志面板将提供指向相应跟踪视图的链接。
跟踪
跟踪查询
字段 | 描述 |
---|---|
Trace ID | 使用跟踪视图时在此处提供跟踪 ID。示例:951ae3313c093aa3278cbc27c0714c94 |
Query | 在搜索跟踪时提供 NRQL 过滤查询。示例:parentId IS NULL AND duration > 0.05 AND appName = 'petclinic' |
您可以在 New Relic 文档站点找到更多关于 New Relic 跟踪 API 的信息。
模板和变量
要添加新的 New Relic 查询变量,请参阅 添加查询变量。将您的 New Relic 数据源用作以下可用查询的数据源。
端点 | 描述 |
---|---|
applications | 可用应用程序列表 |
applicationNames | 可用应用程序名称列表 |
applications/{application_id}/metrics | 某个应用程序的可用指标列表 |
New Relic 查询可以返回相对端点(不包括文件扩展名)。更多信息请参阅 New Relic REST API
创建变量后,您可以使用变量语法在您的 New Relic 查询中使用它。更多信息请参阅 变量语法。关于变量的更多信息,请参阅 模板和变量。
导入 New Relic 仪表盘
按照这些说明导入仪表盘。
导入的仪表盘可以在 Configuration > Data Sources > 选择您的 New Relic 数据源 > 选择 Dashboards 标签页中找到,查看可用的预制仪表盘。