问题标签 [prometheus-operator]
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.
kubernetes - 如何将 prometheus-operator 配置为从 Kubernetes 上的 cAdvisor 收集?
我正在使用prometheus-operator来管理我的Kubernetes集群上的Prometheus部署。该设置可以很好地从我的许多应用程序 pod 中提取指标,使用几个 ServiceMonitor 选择 Kubernetes 端点,提供发布指标的网络地址。正如 prometheus-operator 的典型(必需?)一样,Prometheus 配置是根据基于 ServiceMonitors 发现的 Kubernetes 端点为我生成的。
我还希望我的 Prometheus 部署能够检索kubelet在每个集群节点上发布的 cAdvisor 指标。我已经验证了集群上的 kubelet 具有 cAdvisor 并且已启用(通过访问端口 4194 并观察本机 cAdvisor Web 界面)。但是,我缺少的是如何告诉 prometheus-operator 配置我的 Prometheus 部署,目标包括每个 kubelet/cAdvisor 服务器。
我在此找到的唯一“文档”是prometheus-operator github 问题,询问为什么在发布者的集群上发现了一些cAdvisor 指标。解释表明 kubelet/cAdvisor 的 Kubernetes 端点是由 prometheus-operator 以某种方式创建的,然后额外的 ServiceMonitor 找到它们并导致 Prometheus 配置有额外的目标。但是,这些 Kubernetes 端点在我的 Kubernetes 集群上不存在,我也没有找到任何关于它们为什么会存在的信息。
我需要配置什么,以便我的 prometheus-operator-configured Prometheus 部署可以获得这些指标?
go - 如何在 Prometheus 中显示使用 golang 客户端库从 Kubernetes 中运行的所有 Pod 中捕获的自定义应用程序指标
我正在尝试使用 prometheus 客户端库在 golang 中捕获一些自定义应用程序指标,以显示在 Prometheus 中。
我有以下工作:
我有一个 go 应用程序,它在 localhost:8080/metrics 上公开指标,如本文所述:
https://godoc.org/github.com/prometheus/client_golang/prometheus
我有一个 kubernates minikube 正在运行,它使用本文中的运算符运行 Prometheus、Grafana 和 AlertManager:
https://github.com/coreos/prometheus-operator/tree/master/contrib/kube-prometheus
我为我的 go 应用程序创建了一个 docker 映像,当我运行它并转到 localhost:8080/metrics 时,我可以看到 prometheus 指标显示在浏览器中。
我使用以下 pod.yaml 将我的 docker 映像部署到 k8s 中的 pod
- 如果我使用以下方式连接到我的 pod:
kubectl exec -it my-app-pod -- /bin/bash
然后在“localhost:8080/metrics”上执行 wget,我可以看到我的指标
到目前为止一切顺利,这是我碰壁的地方。我可以让多个 pod 运行相同的图像。我想将所有图像作为目标公开给普罗米修斯。如何配置我的 pod 以便它们显示在 prometheus 中,以便我可以报告我的自定义指标?
感谢您提供的任何帮助!
spring-boot - 使用 prometheus 监控 Spring Boot 服务(执行器,启用安全性)
我目前正在尝试使用 PrAG 堆栈来监控基于 Spring Boot 的微服务。有 2 个 spring boot 项目 1.5.4 (pom.xml) 配置了以下依赖项以获取指标并将指标转换为 prometheus 服务器:
Prometheus Scrape 配置:
scrape_configs:
测试项目没有使用spring security,但是第二个APP使用的是spring security。
第二个应用程序需要基本身份验证。Prometheus pod 没有启动,它以某种方式没有读取在 scrape_config 中设置的凭据。
谁能指出我正确的方向?
kubernetes - 从网格外部的服务访问启用了 Istio 的 K8S pod
假设启用 Istio 的服务公开了一个名为A
的端口,因此 Istio 在从网格内部访问它时会执行 L7 负载平衡。8080
http
我想知道是否有办法从没有 Istio sidecar8080
的 pod/服务访问此端口。B
在这种情况下,流量将是:
B -> A Envoy -> A
或
B -> A
这样,我可以访问A
未命名的端口http
(即,只有 L4 负载平衡到位)
我的特殊用例是我有 Prometheus(不在网格中运行),Prometheus Operator 直接抓取在网格中运行的服务(不涉及 Istio Mixer;这些服务公开了它们自己的业务逻辑指标)。它仅适用于我,并且仅当给定服务未命名其 port 时http
。
metrics - prometheus 中 = 和 =~ 运算符有什么区别?
普罗米修斯指标中=~运算符的含义是什么?
任何人都可以帮助我 = 和 =~ 运算符之间的确切区别是什么?
例如。
结果是不同的。
prometheus - 我们如何为 Prometheus 指标添加额外的标签?
假设我们在一个月内收集相同的指标,现在我们想要修改指标以具有额外的标签(在旧数据中也是如此),我们该怎么做。现有指标:
想将其更改为:
java - 如果来自服务器的数据持续时间超过 6 小时,如何使用 prometheus 生成警报
如果来自服务器的数据持续时间超过 x 小时,我想生成警报。
我的代码是获取数据:
kubernetes - 在 Kubernetes 上安装 Prometheus 的正确方法是什么?
我尝试在我的 3 节点 kubernetes 安装上安装 Prometheus 运算符。
然后我做了
当我查看 Grafana 界面时,我没有看到数据源,所以我应用了 yaml 文件。
这次可以看到 prometheus 数据源,但没有可用的仪表板。
似乎缺少了什么。任何想法?
prometheus - 关于不再报告的指标的警报
我有一个基于 node-exporter 报告的指标的警报 - 每当节点关闭超过 2 分钟时报告。我们在 kubernetes 集群中将 node-exporter 作为 DaemonSet 运行。
问题是有时节点被永久删除,我们继续收到警报。我想知道以自动方式解决这些警报的正确方法是什么。
如果“FOR”子句允许一个范围,比如 FOR 2m 到 24h,那么这可能对我有用,但我不知道是否支持。
供参考,这是我们的规则 -
PS:在https://groups.google.com/forum/#!topic/prometheus-developers/iP2k68eUVrM Brian Brazil 的讨论中说如下。它是否也适用于需要在每个节点上运行的节点导出器?
我们认为每台机器一个出口商是一种反模式,因为它在技术和操作上都是一个瓶颈,并且会增加一个出口商失败的影响。
kubernetes - 监控使用 kops 创建的 kuberntes 集群,prometheus 在不同的 vpc 上运行
我使用 kops 在 aws 上创建了一个 kubernetes 集群,因此它自己创建了证书。所以接下来就是在prometheus配置中添加kubernetes api server。我使用了下面的 prometheus 配置。
它正在普罗米修斯中添加目标,但普罗米修斯无法报废目标,并出现以下错误。
尽管我在上面的配置中添加了 server_name: kubernetes。我从证书中获取了 kubernetes。
它有以下内容。主题:CN=kubernetes