问题标签 [servicemonitor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
prometheus-operator - 在 kube-prometheus-stack helm 值之外添加 PodMonitor 或 ServiceMonitor
使用kube-prometheus-stack helm chart,版本 16.10.0。到目前为止,我添加了我的 custom PrometheusRules
,PodMonitor
并ServiceMonitor
通过 helm 自定义值。
PrometheusRules
或者,如果or发生变化PodMonitor
,我使用helm upgrade
. 自定义值是基于kube-prometheus-stack/values.yaml 定义的。我在哪里定义prometheus.additionalPodMonitors
和additionalPrometheusRulesMap
在单独的 YAML 文件中
问题:如何让 Prometheus 服务器kube-prometheus-stack
了解在 helm 值之外创建的规则、podmonitor、servicemonitor?
例如,PodMonitor
Prometheus 不会采用下面的定义(即不会出现在 Prometheus UI 的目标中)。
要监控的 pod 有一个标签strimzi.io/kind: cluster-operator
,并且位于my-strimzi
命名空间中。我希望podmonitor
普罗米修斯能够自动识别上述内容。因为 kube-prometheus-stack/values.yaml 中默认的podMonitorSelector: {}有一条注释说:
kubernetes - 无法将 K8s 服务添加为 prometheus 目标
我希望我的 prometheus 服务器从 pod 中抓取指标。
我按照以下步骤操作:
- 使用部署创建了一个 pod -
kubectl apply -f sample-app.deploy.yaml
- 暴露相同的使用
kubectl apply -f sample-app.service.yaml
- 使用部署的 Prometheus 服务器
helm upgrade -i prometheus prometheus-community/prometheus -f prometheus-values.yaml
- 创建了一个 serviceMonitor
kubectl apply -f service-monitor.yaml
用于为 prometheus 添加目标。
所有 pod 都在运行,但是当我打开 prometheus 仪表板时,在仪表板 UI 的 status>targets 下,我没有看到sample-app 服务作为 prometheus 目标。
我已经验证了以下内容:
- 我可以看到
sample-app
当我执行kubectl get servicemonitors
- 我可以在 at 下看到 sample-app 以 prometheus 格式公开指标
/metrics
此时我进一步调试,使用 进入prometheus pod
kubectl exec -it pod/prometheus-server-65b759cb95-dxmkm -c prometheus-server sh
,并看到proemetheus 配置(/etc/config/prometheus.yml)没有sample-app 作为作业之一,所以我编辑了configmap 使用
kubectl edit cm prometheus-server -o yaml
添加
假设所有其他字段(例如抓取间隔),scrape_timeout 保持默认值。
我可以看到 /etc/config/prometheus.yml 中反映了同样的情况,但 prometheus 仪表板仍然没有显示sample-app
为状态>目标下的目标。
以下是 prometheus-server 和服务监视器的 yaml。
服务监视器的 yaml
prometheus - 尝试将 arangoDB 外部服务监视器添加到 Prometheus 服务监视器时应用来自 Terraform 的错误
我配置为将 ArangoDB 的外部服务(用于监控 ArangoDB 指标)添加到 Prometheus 服务监视器。我还需要配置它,bearerTokenSecret
因为它是连接到这个外部 ArangoDB 指标的唯一方法。但是,当我使用 terraform apply 进行部署时,我收到以下错误消息:
这是我关心的配置文件:
/helm/charts/arangodb-servicemonitor/templates/service_monitor.tpl
/helm/charts/arangodb-servicemonitor/templates/endpoints.yaml
/helm/charts/arangodb-servicemonitor/templates/service.yaml
/helm/charts/arangodb-servicemonitor/Chart.yaml
/terraform/kubernetes/prometheus.tf
你能告诉我如何解决这个错误吗?
spring-boot - ServiceMonitor 使用 TLS 抓取 Spring 微服务
我们在 AWS EKS 集群中部署了一堆微服务。这些微服务中的每一个都启用了 spring boot actuator/prometheus-micrometer 依赖项。我们可以通过 /actuator/prometheus 抓取指标
从我们可用的 prometheus 集群中,我部署了一个 servicemonitor 来抓取这些指标。
servicemonitor 看起来像这样:
一切正常/当我们有 tlsConfig.insecureverify: "true" 时,我们能够抓取指标
但是,当我关闭 tlsConfig.insecureverify: "false" 并应用 ca 文件时,它根本无法抓取。
这就是我们为微服务设置的方式。我们有一个指向证书的入口控制器
证书已被获取,我们使用以下命令从中生成了一个秘密
秘密是安装在 prometheus pod 中的卷,并且服务监视器已更新为下面给出的。
但是,我们无法再抓取指标。对于 promql up{namespace="app"},我确实看到列出了微服务,但值为 0。例如:hello-world:0
请帮忙,到目前为止,互联网上的很多搜索都没有帮助
kubernetes-helm - Helm 模板不包含有关 serviceMonitor 的信息
我正在尝试使用服务监视器部署入口控制器,我正在使用如下所示的 helm values 文件:
当我使用提供的值文件运行 helm 模板时,服务监视器不可见。
有没有人有类似的问题?提前感谢您的回复。
prometheus - prometheus 操作员目标未显示
Prometheus-operator 和 Prometheus 是使用帮助图分别安装的。
为方便起见,在部署 Prometheus 的命名空间中指定了 serviceMonitorNamespaceSelector 和 PodMonitorNamespaceSelecotr。
我想创建一个 servicemonitor 并连接端点以收集特定的指标,例如单独的解决方案(Gitalb、Rook-ceph)。
Gitlab 和 Rook-ceph 安装在不同的操作系统中,命名空间不同。
但是,ServiceMonitor 不会出现在 Prometheus Target 中。
有什么我错过的吗?