我正在制作Grafana仪表板,并希望有一个面板报告我们应用的最新版本.该版本在app_version(比如)度量标准中报告为标签,如下所示:
app_version_updated{instance="eu99",version="1.5.0-abcdefg"}
Run Code Online (Sandbox Code Playgroud)
我尝试了一些Prometheus查询,将版本标签从这个时间序列的最新成员中提取为字符串,无效.
例如,查询
count(app_version_updated) by (version)
Run Code Online (Sandbox Code Playgroud)
返回{version="1.5.0-abcdefg"}值为的元素1.当在单个值面板中放入Grafana仪表板时,这不会显示版本字符串,而是显示计数值(1).
如何构造返回版本字符串的Prometheus查询?
我正在使用grafana,我想创建一个面板,我将来自一个应用服务器的数据与除了那个之外的所有其他应用服务器的平均值进行比较.就像是:
apps.machine1.someMetric
averageSeries(apps.*.not(machine1).someMetric)
Run Code Online (Sandbox Code Playgroud)
可以这样做吗?怎么样?
关于 Spring Boot、一些有用的默认指标以及如何在 Grafana 中正确使用它们的小问题。
目前,Spring Boot 2.5.1+(适用于 2.xx 的问题)具有 Actuator + Micrometer + Prometheus 依赖项,有许多开箱即用的非常方便的默认指标。
我看到很多很多都有图案_max _count _sum。
举几个例子:
spring_data_repository_invocations_seconds_max
spring_data_repository_invocations_seconds_count
spring_data_repository_invocations_seconds_sum
reactor_netty_http_client_data_received_bytes_max
reactor_netty_http_client_data_received_bytes_count
reactor_netty_http_client_data_received_bytes_sum
http_server_requests_seconds_max
http_server_requests_seconds_count
http_server_requests_seconds_sum
Run Code Online (Sandbox Code Playgroud)
不幸的是,我不知道如何处理它们,如何正确使用它们,并且感觉我的无知让我错过了一些很棒的应用程序见解。
在网上搜索时,我看到一些使用这样的方法来计算 Grafana 的平均值:
irate(http_server_requests_seconds::sum{exception="None", uri!~".*actuator.*"}[5m]) / irate(http_server_requests_seconds::count{exception="None", uri!~".*actuator.*"}[5m])
Run Code Online (Sandbox Code Playgroud)
但不确定这是否是使用它们的正确方法。
请问在处理 type 的指标时通常会使用什么类型的查询_max _count _sum?
谢谢
有一点背景,我一直在与BCI(脑计算机界面)和多通道脑电图一起监测大脑活动.当用户启动具有BCI上限的会话时,来自每个通道的原始数据流存储在Influxdb中.
我可以通过将我的数据库集成在Influxdb中与Grafana实时成功实现这些数据的实现,如下面第1频道所示
但是,我的最终目标是创建一个Web应用程序,用户可以在该应用程序中实时登录或查看当前的流式会话或任何之前的会话.Grafana的问题在于,与现有的Web应用程序集成/嵌入并不容易.我查看了嵌入式面板,但这使我只能添加图表的快照,而我需要它实时地将数据连续流式传输到图表.
任何帮助将不胜感激,并提前感谢!
我需要监视非常不同的日志文件以查找错误,成功状态等.我需要使用Prometheus获取相应的指标并在Grafana中显示并设置一些警报.普罗米修斯+格拉法纳是好的我已经使用不同的导出器如node_exporter或mysql_exporter等使用它们.在新的Grafana 4.x中提醒也很有效.
但是我找到合适的导出器/程序来解决日志文件并"从中提取"并从中提取指标时遇到了很大问题.
到目前为止我试过:
这里有没有一个真正运行的解决方案,使用"some exporter"+ Prometheus + Grafana来监控日志文件中的高级指标?或者代替出口商一些程序,我可以使用Prometheus推送网关获取结果.谢谢.
我正在将面板从使用 SQL 语法(从 InfluxDB 版本 1.X)迁移到新的 influx 语法(InfluxDB 版本 2)。
数据标签存在问题。它包括我用来过滤它的属性。例如,如果我从包含 2 天的范围中选择数据,它会将数据拆分。请参阅下面的屏幕截图:
这完全把图表弄乱了。基本代码如下所示:
from(bucket: "main")
|> range(start: v.timeRangeStart, stop:v.timeRangeStop)
|> filter(fn: (r) =>
r._measurement == "POWER" and
r._field == "value" and
r.device == "living_room"
)
|> aggregateWindow(every: v.windowPeriod, fn: sum)
Run Code Online (Sandbox Code Playgroud)
显然应该只是“POWER”和“CURRENT”。
我尝试了十几种不同的方法,但无法提出可行的解决方案。
例如,如果我这样做:
from(bucket: "main")
|> range(start: v.timeRangeStart, stop:v.timeRangeStop)
|> filter(fn: (r) =>
r._measurement == "POWER" and
r._field == "value" and
r.device == "living_room"
)
|> aggregateWindow(every: v.windowPeriod, fn: sum)
|> map(fn: (r) => ({ POWER: r._value }))
Run Code Online (Sandbox Code Playgroud)
它说“数据没有时间字段”。 …
我有一个新的数据源,我希望使用现有的仪表板。
我怎样才能改变它?有没有比导出/导入仪表板更快的方法?
在为 Grafana 构建 docker 镜像时是否可以导入仪表板。
我的docker-compose.yml目前看起来像这样:
# /docker-compose.yml
version: "3"
services:
grafana:
image: grafana/grafana:latest
ports:
- 3000:3000
Run Code Online (Sandbox Code Playgroud)
有什么我可以添加的东西 - 顺便说一句,我想要预先设置的仪表板是: https: //grafana.com/grafana/dashboards/10562
谢谢。
在https://github.com/grafana/loki/issues/4249我发现了有趣的屏幕截图。

在此屏幕截图中,我看到日志级别和消息以粗体显示,并带有白色文本,其他元数据(从日志消息收集)以灰色显示在单独的行上。
我搜索了文档,但没有找到如何实现这一目标。老实说,我正在 ELK 中寻找类似“短信”的东西,让开发人员仅在真正需要时才能看到元数据。您能否指出文档如何实现这一目标?
grafana ×10
prometheus ×3
influxdb ×2
docker ×1
grafana-loki ×1
graphite ×1
influxdb-2 ×1
logging ×1
spring-boot ×1