标签: grafana

两个 Grafana 面板 singlestat 和具有相同查询的图形之间的区别

我创建了以下 Grafana 仪表板:

在此处输入图片说明singlestat面板使用以下查询:

SELECT sum("value") FROM "rails.pageviews" 
WHERE $timeFilter 
GROUP BY time($__interval) fill(null)
Run Code Online (Sandbox Code Playgroud)

图面板采用了完全相同的查询:

SELECT sum("value") FROM "rails.pageviews" 
WHERE $timeFilter 
GROUP BY time($__interval) fill(null)
Run Code Online (Sandbox Code Playgroud)

如何让单统计面板显示总浏览量?它应该是 12 (8+2+2) 而不是 4,对吧?


当我调试从 Influxdb 返回的数据时:

response:Object
  results:Array[1]
    0:Object
    statement_id:0
    series:Array[1]
      0:Object
      name:"rails.pageviews"
      columns:Array[2]
        0:"time"
        1:"sum"
      values:Array[73]
        0:Array[1530870900000,null]
        (...)
        37:Array[1530882000000,null]
        38:Array[1530882300000,8]
        39:Array[1530882600000,null]
        (...)
        44:Array[1530884100000,null]
        45:Array[1530884400000,2]
        46:Array[1530884700000,null]
        (...)
        53:Array[1530886800000,null]
        54:Array[1530887100000,2]
        55:Array[1530887400000,null]
        (...)
        72:Array[1530892500000,null]
Run Code Online (Sandbox Code Playgroud)

time influxdb grafana

0
推荐指数
1
解决办法
2872
查看次数

Prometheus 与 Kubernetes v1.16 不兼容

我安装了 stable/prometheus helm chart 并在helm/charts#17268 中提出了一些小的更改,以使其与 Kubernetes v1.16 兼容

安装后,Kubernetes grafana 仪表板都没有显示正确的值。我正在使用 8769 ( https://grafana.com/grafana/dashboards/8769 ) 仪表板,它提供了有关 CPU、内存、网络等的许多信息。该仪表板在较旧的 k8s 版本上正常工作,但在 v1.16 上显示没有结果。我还随机尝试了其他一些仪表板(8588、6879、10551),但它们要么只显示每个 pod 的请求资源,而不显示实时使用情况,要么什么也不显示。

这些仪表板的作用是向 prometheus 发送 promql 查询并获取结果。例如,这是来自 8769 仪表板的 cpu 使用情况的 promql 查询:

sum (rate (container_cpu_usage_seconds_total{id!="/",namespace=~"$Namespace",pod_name=~"^$Deployment.*$"}[1m])) by (pod_name)
Run Code Online (Sandbox Code Playgroud)

我不知道我是否必须更改 promql 或问题出在其他地方。

grafana kubernetes prometheus promql

0
推荐指数
1
解决办法
958
查看次数

使用 Prometheus 的 InfoMetricFamily 在 Grafana 中进行表格可视化

我有以下代码:

c = InfoMetricFamily("health", "Health Monitoring")
c.add_metric(labels=name, value={"name": name, "status": status, "value": value})
Run Code Online (Sandbox Code Playgroud)

为 Prometheus 提供以下指标:

# HELP health_info Health Monitoring
# TYPE health_info gauge
health_info{name="external",status="danger",value="N\\A"} 1.0
Run Code Online (Sandbox Code Playgroud)

我想建表的仪表板在哪里Grafana namestatusvalue将列。我怎么能这样做?

python grafana prometheus

0
推荐指数
1
解决办法
2139
查看次数

节点导出器显示错误的空闲 CPU 时间

我已经使用 prometheus 设置了一个监控系统,带有 AWS EC2 自动发现和节点导出器。使用以下公式获取 CPU 利用率:

100 - (avg by (instance) (irate(node_cpu_seconds_total{instance="instancexyz" ,mode="idle"}[5m])) * 100)

但是,在一个特定的 ASG 中,我得到的 CPU 百分比为大的负值。我打开了 instance:9100/metrics 链接,发现空闲值是大指数值。这是我得到的一个值:

node_cpu_seconds_total{cpu="0",mode="idle"} 4.25766215e+06

除了少数实例外,这些指标在我的所有实例上都运行良好。知道发生了什么吗?

grafana prometheus prometheus-node-exporter

0
推荐指数
1
解决办法
1292
查看次数

在 Prometheus 中解析 JSON Rest api 响应

目前我有一个 Kubernetes 环境并使用 Py rometheus 工具包进行监控。我有未在容器指标中公开的应用程序计数器。不过,我可以使用curl 命令将它们视为JSON 对象。

http://10.0.0.1:8081/api/events/

我使用 NodePort 通过工作节点的 IP 向外部公开 POD。

响应具有以下格式:

{
{
  "ID":   "001",
  "source": "pageloads",
  "summary":  "high failure counts",
  "severity": "major"
},
{
  "ID":   "003",
  "source": "profile_counts",
  "summary":  "profile count doesn't match number of groups",
  "severity": "minor"
},
{
  "ID":   "002",
  "source": "number of subscribers",
  "summary":  "profiles higher than subscribers",
  "severity": "critical"
}
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在 Prometheus 中包含 API 响应以每 15 秒轮询一次?

grafana kubernetes prometheus

0
推荐指数
1
解决办法
3873
查看次数

获取 prometheus 标签的因变量

在我的 /metrics 页面上,我有类似的字符串

 my_metric{controller="cont_a",action="act_a",le="1"} 5
 my_metric{controller="cont_a",action="act_b",le="1"} 4
 my_metric{controller="cont_b",action="act_c",le="1"} 3
 my_metric{controller="cont_b",action="act_d",le="1"} 2
Run Code Online (Sandbox Code Playgroud)

在我的 Grafana 仪表板上,我想看到两个变量:controlleraction。如果我只是通过label_values(controller)和之类的查询来定义它们label_values(action),它们将是独立的,这意味着如果"cont_a"选择了控制器,则所有 4 个操作都将可用。但我想让操作变量依赖于控制器变量,因此,如果"cont_a"选择控制器,则只有值"act_a""act_b"可用于操作变量。如果"cont_b"选择 ,则只有"act_c""act_d"。有没有办法以这种方式配置 Grafana 仪表板?

grafana prometheus

0
推荐指数
1
解决办法
2792
查看次数

Grafana mysql 多值变量

我在 grafana 中为数据源 MySql 有两个变量,一个是我启用了多值选项的站点,第二个是主题。现在我希望如果我们在站点变量中选择多个值,主题变量应该反映这些更改,但这不起作用。

我正在使用的表是这样的 - 在此输入图像描述

虽然 mysql 中的正常查询正在工作 - 我编写的 sql 查询工作正常 -

select topic from problems_solved where Site in (select Site from problems_solved)

但在grafana中它不起作用。我正在尝试这个查询 - select topic from problems_solved where Site in(select ${Site} from problems_solved)。我尝试过其他查询,效果很好,但不起作用。有人可以帮我吗?

谢谢

grafana

0
推荐指数
1
解决办法
6553
查看次数

Grafana组系列

我有包含三个变量的 postgres 表:datetime、robot_id 和 energy_percent。现在在图表中我有energy_percentrobot_id。如何按 对该表中的记录进行分组robot_id?目前在这个表中我有 3 个不同的记录robot_id,所以我想在这个图表上看到 3 条线。 在此输入图像描述

编辑:我有一张包含很多记录的表,在列中robot_id我有 id。我需要每个唯一的一张折线图robot_id。如果表包含x唯一的robot_id我期望x图表上的线条。这是Excel示例:左边是错误的图表,右边是正确的图表: 在此输入图像描述 而且一件事:在 Excel 上,没有数据的地方我有 0,但我不需要点。

Edit2:我可以用下面的很多系列来做,但它应该是通用的(我不知道有多少唯一的robot_id)并且用一个查询(A)而不是很多查询(A,B,C等)来完成

在此输入图像描述

编辑3:当我应用代码时:

SELECT
  $__timeGroupAlias(time_created, $__interval),
  robot_id AS "metric",
  AVG(energy_percent) AS "value"
FROM api_robotlog
WHERE
  $__timeFilter(time_created)
GROUP BY 1,2
ORDER BY 1
Run Code Online (Sandbox Code Playgroud)

我有 2 个地块:energy_percent(time)robot_id(time)。没有很多情节energy_percent(time, robot_id)在此输入图像描述

编辑 5:使用@Jan Garaj 解决方案可以正常工作。两个图表,有两个相似的查询: 在此输入图像描述 TOP图表查询:

SELECT
  $__timeGroupAlias(time_created, $__interval),
  robot_id AS "metric",
  AVG(energy_percent) AS …
Run Code Online (Sandbox Code Playgroud)

postgresql grafana

0
推荐指数
1
解决办法
962
查看次数

Nginx反向代理无法访问prometheus容器

我创建了这个 docker compose 文件,该文件构建+运行没有错误

version: '3.7'

volumes:
  grafana:
    driver: local
  prometheus-data:
    driver: local

services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    expose:
      - 9090
    volumes:
      - prometheus-data:/prometheus
      - ./prometheus:/etc/prometheus
    restart: unless-stopped
    command:
      - "--config.file=/etc/prometheus/prometheus.yml"
  
  grafana:
    image: grafana/grafana-oss:latest
    container_name: grafana
    expose:
      - 3000
    volumes:
      - grafana:/etc/grafana
    restart: unless-stopped
  
  nginx:
    image: nginx
    container_name: webserver
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /opt/certs/:/etc/nginx/certs/
      - ./nginx/gw-web/:/usr/share/nginx/html:ro
      - ./nginx/nginx_proxy.conf:/etc/nginx/conf.d/default.conf
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
    command: [nginx-debug, '-g', 'daemon off;']

Run Code Online (Sandbox Code Playgroud)

nginx 具有以下反向代理配置:

server {
    listen 80;
    listen [::]:80;
    server_name …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy nginx docker grafana prometheus

0
推荐指数
1
解决办法
1040
查看次数

使用 Prometheus 计算命名空间中 pod 的 CPU 使用率

如何获取namespace下pod的CPU使用率?我在 Grafana 设置上的初始仪表板如下所示 - 在此输入图像描述

我正在尝试提出一个查询,它可以提供所选cluster中所选命名空间的所选Pod的 CPU 使用情况。设法想出下面的一个,但它返回“ ”。No data

sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{pod="$pod", namespace="$namespace"})
Run Code Online (Sandbox Code Playgroud)

我哪里出错了?

grafana kubernetes prometheus

0
推荐指数
1
解决办法
2112
查看次数