0

我安装了 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 的请求资源,而不是实时使用情况,要么什么也不显示。

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

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

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

4

2 回答 2

7

Kubernetes 1.16 从 cAdvisor 指标、pod 和容器的副本中删除了标签 pod_name 和 container_name。

您需要在 Grafana 仪表板 JSON 模型中更改 pod_name -> pod、container_name -> container。

于 2019-10-26T15:13:23.547 回答
0

尝试以这种方式安装,因为新的 CRD 有一些问题,所以我使用旧的 CRD-

kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/alertmanager.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/prometheus.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/prometheusrule.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/servicemonitor.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/podmonitor.crd.yaml

helm install --name prometheus --namespace monitoring  stable/prometheus-operator --set prometheusOperator.createCustomResource=false

确保 CRD 不存在先验,您可以通过以下方式删除它们

kubectl delete crd --all
于 2019-10-25T12:03:01.573 回答