Thanos-Query/Query-Frontend 没有显示任何指标
Thanos-Query/Query-Frontend does not show any metrics
基本上,我从 kube-prometheus-stack using the provided helm chart repo prometheus-community
安装了 Prometheues-Grafana
# helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
# helm install kube-prometheus-stack prometheus-community/kube-prometheus-stack
他们工作正常。
但我现在面临的问题是将 Thanos 与现有的 kube-prometheus-stack.
集成
安装了 thanos
# helm repo add bitnami https://charts.bitnami.com/bitnami
# helm install thanos bitnami/thanos
我可以加载 Thanos 查询前端 GUI,但那里没有显示指标。
我现在正在努力让它正常工作。是因为来自完全不同的 helm chart 的 Thanos 和来自另一个 helm chart 的 Prometheus-operator-grafana stack 吗?
我在 AWS 上的 Kubernetes 集群是使用 Kops 创建的。并且,我使用 Gitlab pipeline 和 helm 将应用程序部署到集群。
仅仅安装它们是不够的,你需要整合 prometheus
和thanos
。
下面我将描述获得结果所需执行的所有步骤。
第一空头理论。集成它们的最常见方法是为 prometheus
pod 使用 thanos sidecar
容器。您可以阅读更多 here.
这是怎么做到的:
(考虑到安装是干净的,可以轻松删除并从头开始重新安装)。
- 将
thanos sidecar
添加到 prometheus
连播。
拉kube-prometheus-stack
图表:
$ helm pull prometheus-community/kube-prometheus-stack --untar
您将拥有一个包含图表的文件夹。需要修改values.yaml
,精确两部分:
# Enable thanosService
prometheus:
thanosService:
enabled: true # by default it's set to false
# Add spec for thanos sidecar
prometheus:
prometheusSpec:
thanos:
image: "quay.io/thanos/thanos:v0.24.0"
version: "v0.24.0"
请记住,此功能仍处于试验阶段:
## This section is experimental, it may change significantly without deprecation notice in any release.
## This is experimental and may change significantly without backward compatibility in any release.
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosspec
完成后,安装 prometheus
图表并编辑 values.yaml
:
$ helm install prometheus . -n prometheus --create-namespace # installed in prometheus namespace
并检查 sidecar 是否也已部署:
$ kubectl get pods -n prometheus | grep prometheus-0
prometheus-prometheus-kube-prometheus-prometheus-0 3/3 Running 0 67s
应该是 3 个容器 运行(默认是 2 个)。您可以使用 kubectl describe
命令更详细地检查它。
- 设置
thanos
图表并部署它。
拉出thanos
图表:
$ helm pull bitnami/thanos --untar
编辑 values.yaml
:
query:
dnsDiscovery:
enabled: true
sidecarsService: "prometheus-kube-prometheus-thanos-discovery" # service which was created before
sidecarsNamespace: "prometheus" # namespace where prometheus is deployed
保存并安装编辑后的图表 values.yaml
:
$ helm install thanos . -n thanos --create-namespace
检查它是否有效:
$ kubectl logs thanos-query-xxxxxxxxx-yyyyy -n thanos
我们对这一行感兴趣:
level=info ts=2022-02-24T15:32:41.418475238Z caller=endpointset.go:349 component=endpointset msg="adding new sidecar with [storeAPI rulesAPI exemplarsAPI targetsAPI MetricMetadataAPI]" address=10.44.1.213:10901 extLset="{prometheus=\"prometheus/prometheus-kube-prometheus-prometheus\", prometheus_replica=\"prometheus-prometheus-kube-prometheus-prometheus-0\"}"
- 现在转到 UI 并查看可用的指标:
值得一读的文章:
基本上,我从 kube-prometheus-stack using the provided helm chart repo prometheus-community
安装了 Prometheues-Grafana# helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
# helm install kube-prometheus-stack prometheus-community/kube-prometheus-stack
他们工作正常。
但我现在面临的问题是将 Thanos 与现有的 kube-prometheus-stack.
集成 安装了 thanos# helm repo add bitnami https://charts.bitnami.com/bitnami
# helm install thanos bitnami/thanos
我可以加载 Thanos 查询前端 GUI,但那里没有显示指标。
我现在正在努力让它正常工作。是因为来自完全不同的 helm chart 的 Thanos 和来自另一个 helm chart 的 Prometheus-operator-grafana stack 吗?
我在 AWS 上的 Kubernetes 集群是使用 Kops 创建的。并且,我使用 Gitlab pipeline 和 helm 将应用程序部署到集群。
仅仅安装它们是不够的,你需要整合 prometheus
和thanos
。
下面我将描述获得结果所需执行的所有步骤。
第一空头理论。集成它们的最常见方法是为 prometheus
pod 使用 thanos sidecar
容器。您可以阅读更多 here.
这是怎么做到的:
(考虑到安装是干净的,可以轻松删除并从头开始重新安装)。
- 将
thanos sidecar
添加到prometheus
连播。
拉kube-prometheus-stack
图表:
$ helm pull prometheus-community/kube-prometheus-stack --untar
您将拥有一个包含图表的文件夹。需要修改values.yaml
,精确两部分:
# Enable thanosService
prometheus:
thanosService:
enabled: true # by default it's set to false
# Add spec for thanos sidecar
prometheus:
prometheusSpec:
thanos:
image: "quay.io/thanos/thanos:v0.24.0"
version: "v0.24.0"
请记住,此功能仍处于试验阶段:
## This section is experimental, it may change significantly without deprecation notice in any release. ## This is experimental and may change significantly without backward compatibility in any release. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosspec
完成后,安装 prometheus
图表并编辑 values.yaml
:
$ helm install prometheus . -n prometheus --create-namespace # installed in prometheus namespace
并检查 sidecar 是否也已部署:
$ kubectl get pods -n prometheus | grep prometheus-0
prometheus-prometheus-kube-prometheus-prometheus-0 3/3 Running 0 67s
应该是 3 个容器 运行(默认是 2 个)。您可以使用 kubectl describe
命令更详细地检查它。
- 设置
thanos
图表并部署它。
拉出thanos
图表:
$ helm pull bitnami/thanos --untar
编辑 values.yaml
:
query:
dnsDiscovery:
enabled: true
sidecarsService: "prometheus-kube-prometheus-thanos-discovery" # service which was created before
sidecarsNamespace: "prometheus" # namespace where prometheus is deployed
保存并安装编辑后的图表 values.yaml
:
$ helm install thanos . -n thanos --create-namespace
检查它是否有效:
$ kubectl logs thanos-query-xxxxxxxxx-yyyyy -n thanos
我们对这一行感兴趣:
level=info ts=2022-02-24T15:32:41.418475238Z caller=endpointset.go:349 component=endpointset msg="adding new sidecar with [storeAPI rulesAPI exemplarsAPI targetsAPI MetricMetadataAPI]" address=10.44.1.213:10901 extLset="{prometheus=\"prometheus/prometheus-kube-prometheus-prometheus\", prometheus_replica=\"prometheus-prometheus-kube-prometheus-prometheus-0\"}"
- 现在转到 UI 并查看可用的指标:
值得一读的文章: