已安装 prometheus-community / helm-charts 但我无法获取“默认”命名空间的指标

Posted

技术标签:

【中文标题】已安装 prometheus-community / helm-charts 但我无法获取“默认”命名空间的指标【英文标题】:Installed prometheus-community / helm-charts but I can't get metrics on "default" namespace 【发布时间】:2021-12-04 09:32:02 【问题描述】:

我最近了解了 helm 以及部署整个 prometheus 堆栈以监控 Kubernetes 集群是多么容易,因此我决定在我的工作中在暂存集群上进行尝试。

我首先在集群上创建了一个专用命名空间用于监控:

kubectl create namespace monitoring

然后,使用helm,我添加了prometheus-community repo:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

接下来,我安装了带有prometheus 发布名称的图表:

helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring

此时我没有通过任何自定义配置,因为我还在尝试。

安装完成后,一切看起来都很好。我可以通过以下方式访问 prometheus 仪表板:

kubectl port-forward prometheus-prometheus-kube-prometheus-prometheus-0 9090 -n monitoring

在那里,我看到一堆预定义的警报和正在监控的规则,但问题是我不太了解如何创建新规则来检查 default 命名空间中的 pod,我实际上有我的服务已部署。

我正在查看 http://localhost:9090/graph 来处理查询,但我似乎无法使用任何可以为我在 default 命名空间中的 pod 提供指标的方法。

我对信息量有点不知所措,所以我想知道我错过了什么或者我做错了什么?

【问题讨论】:

【参考方案1】:

Prometheus Operator 包含多个自定义资源定义 (CRD),包括 ServiceMonitor(和 PodMonitor)。 ServiceMonitor's 用于定义要监控的 Operator 的服务。

虽然不是 Helm 部署,但我对 Operator 很熟悉,但我怀疑您会希望创建 ServiceMonitors 以在任何(包括 default)命名空间中为您的应用生成指标。

见:https://github.com/prometheus-operator/prometheus-operator#customresourcedefinitions

【讨论】:

以上是关于已安装 prometheus-community / helm-charts 但我无法获取“默认”命名空间的指标的主要内容,如果未能解决你的问题,请参考以下文章

Prometheus监控Elasticsearch

prometheus alertmanager 规则的自动标签

yaml:使用 go 时解组错误

postgresql_exporter 不工作。如何配置它?

prometheus监控es集群 — elasticsearch_exporter

用于 k8s 多集群的 Prometheus