grafana面板上出现“Only queries that return single…”异常

发布时间 2023-04-24 11:49:57作者: wenwenliang

问题现象:数据读取不上,如下图
image

问题根因:启动停止了很多次postgres export并且这个数据库环境进行恢复快照过,导致Prometheus server中存在相同实例不同的数据,进而导致通过语法无法确定唯一的数据出现报错。

解决方案:通过Prometheus的api对实例的数据进行清空,让export重新获取新的数据

  • Prometheus启动时,加上–web.enable-admin-api
    如果是服务启动的,需要到服务文件:/etc/systemd/system/prometheus.service 进行修改,如下

     [root@localhost ~]# cat /etc/systemd/system/prometheus.service 
     [Unit]
     Description=Prometheus ServerDocumentation=https://prometheus.io/docs/introduction/overview/
     After=network-online.target
    
     [Service]
     Restart=on-failure
     ExecStart=/usr/local/prometheus-2.19.1.linux-amd64/prometheus --config.file=/usr/local/prometheus-2.19.1.linux-amd64/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --web.external-url=http://localhost:9090 --web.enable-admin-api
    
     [Install]
     WantedBy=multi-user.target
    

    服务启动的,修改完后需要执行:systemctl daemon-reload,然后重启systemctl restart prometheus
    如果是命令启动的,直接重新启动一下即可

  • 到prometheus后台进行数据清空,

    curl -X POST -g 'http://localhost:9090/api/v1/admin/tsdb/delete_series?match[]={instance="172.1.1.1:9187"}'

  • 再次查看grafana面板数据已经读取正常

    image

参考链接:https://blog.csdn.net/weixin_44729138/article/details/116503087