Prometheus 数据源:client_error:客户端错误:403

问题描述 投票:0回答:2

您好,我正在尝试将内置 OpenShift(v4.8) prometheus 数据源添加到本地 grafana 服务器。我已经使用用户名和密码进行了基本身份验证,现在我也启用了跳过 tls 验证。我仍然收到此错误

普罗米修斯 URL =

https://prometheus-k8s-openshift-monitoring.apps.xxxx.xxxx.xxxx.com

这是grafana日志


logger=tsdb.prometheus t=2022-04-12T17:35:23.47+0530 lvl=eror msg="Instant query failed" query=1+1 err="client_error: client error: 403"
logger=context t=2022-04-12T17:35:23.47+0530 lvl=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.100.95.27 time_ms=36 size=65 referer=https://grafana.xxxx.xxxx.com/datasources/edit/6TjZwT87k
kubernetes openshift prometheus monitoring grafana
2个回答
3
投票

您无法使用基本身份验证对 OpenShift prometheus 实例进行身份验证。您需要使用不记名令牌进行身份验证,例如一个从

oc whoami -t
获得:

curl -H "Authorization: Bearer $(oc whoami -t)" -k https://prometheus-k8s-openshift-monitoring.apps.xxxx.xxxx.xxxx.com/

或者来自具有适当权限的

ServiceAccount

secret=$(oc -n openshift-monitoring get sa prometheus-k8s -o jsonpath='{.secrets[1].name}')
token=$(oc -n openshift-monitoring get secret $secret -o jsonpath='{.data.token}' | base64 -d)
curl -H "Authorization: Bearer $token" -k https://prometheus-k8s-openshift-monitoring.apps.xxxx.xxxx.xxxx.com/


0
投票

openshift 使用 grafana 的运算符,运算符扩展了它的 api 并为您提供了一些新的对象来使用。其中一个自定义资源定义 (CRD) 是 GrafanaDatasource。
[openshift 用户界面][1]

apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDatasource
metadata:
  name: cluster-prometheus
  namespace: grafana
spec:
  datasource:
    access: proxy
    editable: true
    secureJsonData:
      httpHeaderValue1: Bearer c29tZXRva2VudGhhdGhhc3Blcm1pc3Npb24K
    name: prometheus
    url: 'https://thanos-querier.openshift-monitoring.svc.cluster.local:9091'
    jsonData:
      httpHeaderName1: Authorization
      timeInterval: 5s
      tlsSkipVerify: true
    basicAuth: true
    isDefault: true
    type: prometheus
  instanceSelector:
    matchLabels:
      dashboards: grafana


  [1]: https://i.stack.imgur.com/v8K2x.png
© www.soinside.com 2019 - 2024. All rights reserved.