Grafana包含对Prometheus的内置支持。正则表达式
Dashboards
连接下的侧边菜单中,你应找到名为Data Sources
的连接+ Add data source
按钮Prometheus
注意:若是你没有在侧边菜单中看到Data Sources
连接,则表示你当前的用户没有当前组织的Admin
角色。
名称 | 描述 |
---|---|
Name | 数据源名称,这是你在面板和查询中引用数据源的方式 |
Default | 默认数据源意味着它将为新面板预先选择 |
Url | 你的Prometheus服务的http协议,IP和端口(默认端口一般是9090) |
Access | Server (default) = 须要从Grafana后端/服务器访问的URL,Browser = 须要从浏览器访问的URL |
Basic Auth | 启用对Prometheus数据源的基自己份验证 |
User | 你的Prometheus用户名 |
Password | 数据库用户的密码 |
Scrape interval | 这将用做Prometheus步骤查询参数的下限,默认值为15秒 |
单击标题,以编辑模式打开图形 > 编辑(或在鼠标悬停在面板上时按e
键)。数据库
名称 | 描述 |
---|---|
Query expression | Prometheus查询表达式,请查看Prometheus文档 |
Legend format | 使用名称或模式控制时间系列的名称,例如,{{hostname}} 将替换为标签hostname 的标签值 |
Min step | 设置Prometheus步骤选项的下限,步骤控制Prometheus查询引擎执行范围查询时跳转的大小,遗憾的是,没有官方的prometheus文档连接到这个很是重要的选项 |
Resolution | 控制步骤选项,小步骤能够建立高分辨率图形,但在较大的时间范围内可能会很慢,下降分辨率能够加快速度。1/2 将尝试设置步骤选项觉得每一个其余像素生成1个数据点,值为1/10 将尝试设置步长选项,所以每10个像素就有一个数据点。 |
Metric lookup | 在此输入字段来搜索指标名称 |
Format as | 在表格,时间序列或心跳图之间切换,表格格式仅适用于表格面板,心跳图格式适用于在心跳图面板上显示具备直方图类型的指标。在引擎盖下,它将累积的直方图转换为规则序列,并按桶绑定对序列进行排序。 |
你能够在指标查询中使用变量代替硬编码服务器、应用程序和传感器名称等内容。变量显示为仪表盘顶部的下拉选择框,这些下拉菜单能够轻松更改仪表盘中显示的数据。查看模板文档,了解模板功能和不一样类型的模板变量。express
查询类型的变量容许你查询Prometheus以获取指标、标签或标签值的列表,Prometheus数据源插件提供了如下可在Query
输入字段中使用的函数。segmentfault
名称 | 描述 |
---|---|
label_values(label) | 返回每一个指标中label 的标签值列表 |
label_values(metric, label) | 返回指定指标中label 的标签值列表 |
metrics(metric) | 返回与指定的metric 正则表达式匹配的指标列表 |
query_result(query) | 返回query 的Prometheus查询结果列表 |
有关指标名称、标签名称和标签值的详细信息,请参阅Prometheus文档。后端
支持$__range
,$__range_s
和$__range_ms
,仅适用于Grafana v5.3
能够在查询变量中使用一些全局内置变量;$__interval
,$__interval_ms
,$__range
,$__range_s
和$__range_ms
,有关详细信息,请参阅全局内置变量。当你须要过滤变量查询时,这些能够方便地与query_result
函数一块儿使用,由于label_values
函数不支持查询。api
确保将变量的refresh
触发器设置为On Time Range Change
,以便在更改仪表盘上的时间范围时获取正确的实例。浏览器
用法示例:服务器
根据仪表盘中显示的时间范围内的平均QPS,使用最繁忙的5个请求实例填充变量:编辑器
Query: query_result(topk(5, sum(rate(http_requests_total[$__range])) by (instance))) Regex: /"([^"]+)"/
使用更精确的$__range_s
,在仪表板中显示的时间范围内具备特定状态的实例填充变量:函数
Query: query_result(max_over_time(<metric>[${__range_s}s]) != <state>) Regex:
有两种语法:
$<varname>
例如:rate(http_requests_total{job=~“$job”}[5m])
[[varname]]
例如:rate(http_requests_total{job=~”[[job]]“}[5m])
为何两种方式?第一种语法更易于读写,但不容许你在单词的中间使用变量,启用“多值”或“包括全部值”选项后,Grafana会将标签从纯文本转换为正则表达式兼容的字符串,这意味着你必须使用=〜
而不是=
。
注解容许你在图表上叠加丰富的事件信息,你能够经过仪表盘菜单/注解视图添加注解查询。
Prometheus支持两种查询注解的方法:
步骤选项可用于限制从查询返回的事件数。
从4.6.0开始,Grafana在/metrics
端点上为Prometheus公开了指标,咱们还在Grafana中捆绑了一个仪表盘,以便你能够更快地开始查看指标。你能够经过到数据源编辑页面并点击仪表盘选项卡来导入捆绑的仪表盘,在那里你能够找到一个Grafana仪表盘和一个Prometheus仪表盘,导入并开始查看全部指标!
如今可使用Grafana的Provisioning系统使用配置文件配置数据源,你能够在Provisioning文档页面上阅读有关其工做原理以及能够为数据源设置的全部设置的更多信息。
如下是此数据源的一些Provisioning示例:
apiVersion: 1 datasources: - name: Prometheus type: prometheus access: proxy url: http://localhost:9090