假设我们要收集一个月的相同指标,现在我们想修改这些指标以使其具有额外的标签(在旧数据中也是如此),我们该如何做。现有指标:
mongodb_exporter_last_scrape_duration_seconds{instance="127.0.0.1:9216",job="mongo"}
Run Code Online (Sandbox Code Playgroud)
想要将其更改为:
mongodb_exporter_last_scrape_duration_seconds{cluster="stage", instance="127.0.0.1:9216",job="mongo"}
Run Code Online (Sandbox Code Playgroud) 我实际上有 3 个 GCP kubernetes 集群,每个集群上都安装了 prometheus Operator。我试图弄清楚如何向所有指标添加额外的环境标签,以便明确地知道指标来自哪个集群。对于某些指标,如 kube_pod_container_resource_requests_cpu_cores 或 kube_pod_info 我的标签未设置。
PS:我的配置已经有这个:我们如何为 Prometheus 指标添加额外的标签?
根据 Prometheus-operator文档,我们应该能够通过秘密文件轻松提供我们的附加配置。这一步真的有人成功吗?我有几个问题:
file_sd_configs:吗?如果可以,如何将这些文件提供到 prometheus 清单文件中?不管这些问题,我都很难添加额外的配置。我基本上遵循了文档中的确切步骤 ,这是我的观察:
cat prometheus-additional.yaml
- job_name: "prometheus-custom"
static_configs:
- targets: ["localhost:9090"]
Run Code Online (Sandbox Code Playgroud)
kubectl create secret generic additional-scrape-configs --from-file=prometheus-additional.yaml
Run Code Online (Sandbox Code Playgroud)
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
name: prometheus
spec:
replicas: 2
resources:
requests:
memory: 400Mi
additionalScrapeConfigs:
name: additional-scrape-configs
key: prometheus-additional.yaml
Run Code Online (Sandbox Code Playgroud)
kubectl apply -f prometheus.yaml
Run Code Online (Sandbox Code Playgroud)
kubectl logs prometheus-prometheus-0 -c prometheus
level=info ts=2019-12-05T18:07:30.217852541Z caller=main.go:302 msg="Starting Prometheus" version=" (version=2.7.1, branch=HEAD, …Run Code Online (Sandbox Code Playgroud) 我想监视名为命名空间的一个Kubernetes集群上运行的应用程序夫妇development和production通过普罗米修斯运营商。
使用的安装命令(根据Github)是:
helm install prometheus-operator stable/prometheus-operator -n production --set prometheusOperator.enabled=true,prometheus.service.type=NodePort,prometheusOperator.service.type=NodePort,alertmanager.service.type=NodePort,grafana.service.type=NodePort,grafana.service.nodePort=30906
我需要向上述命令添加哪些参数才能prometheus-operator发现和监控所有运行的应用程序/服务/pod namespaces?
有了这个,Service Discovery只显示一些prometheus-operator相关的services,但不显示我在“生产”命名空间中运行的应用程序,即使prometheus-operator安装在同一个namespace。
我缺少什么吗?
注 - 正在使用同一用户(使用$HOME/.kube/config file)执行所有操作,因此我认为权限不是问题。
kubectl 版本 - v1.17.3 掌舵版本 - 3.1.2
PS 在不同的论坛上有很多关于此的文章,但我仍然没有找到简单而直接的答案。
monitoring kubernetes prometheus kubernetes-helm prometheus-operator
我们有几个 K8S 集群,我们需要从一个操作员集群(集群 A)监控我们在每个集群上使用 Prometheus 来监控集群本身,现在另外我们想从应用程序的特定 api 进行监控,它会告诉我们我们的集群(根据我们的具体服务)是否正常,我不是在谈论监控集群,我们希望运营商在每个集群上监控 3 个应用程序(所有 3 个应用程序都部署在所有被监控的集群上)
集群 A(运营商)应监控集群 B、C、D 等上的服务/应用程序
例如,运营商集群将调用集群A中的已部署应用程序,例如 host://app1/status获取0或1的状态,并将状态保存在某个数据库中。(可能是 prometehusDB)并在集群外报告它们。
目前经过一些搜索,我找到了这个选项,但也许还有更多我不知道的
创建我自己的程序(在 golang 中),它会像 cronjob 一样并且将使用 prom lib 在操作员集群中运行。
https://github.com/prometheus/client_golang
我的意思是运行一个休息调用并使用 Prometheus apitsdb通过 go "github.com/prometheus/client_golang/prometheus/promhttp" 代码将状态存储在 Prometheus 中。但不确定如何..
此外,如果我能够将集群中的所有数据收集到操作员集群中,我应该如何以及在哪里保存它?在普罗米修斯数据库 tsdb 中?另一种方式 ?
支持我们的案例的最佳实践应该是什么?我们应该怎么做?
kubernetes prometheus prometheus-operator prometheus-blackbox-exporter
我正在使用这个 prometheus helm chart。
我想知道是否可以设置 prometheus 操作符来自动监控集群或命名空间中的每个服务,而不必ServiceMonitor为每个服务创建一个。
使用当前设置,当我想监视服务时,我必须创建一个ServiceMonitor带有标签release: prometheus.
编辑:
带monitoring: "true"标签的服务
apiVersion: v1
kind: Service
metadata:
name: issue-manager-service
labels:
app: issue-manager-app
monitoring: "true"
spec:
selector:
app: issue-manager-app
ports:
- protocol: TCP
name: http
port: 80
targetPort: 7200
Run Code Online (Sandbox Code Playgroud)
“包罗万象”的服务监视器:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: service-monitor-scraper
labels:
release: prometheus
spec:
endpoints:
- port: metrics
interval: 30s
path: /metrics
jobLabel: monitoring
namespaceSelector:
any: true
selector:
matchLabels:
monitoring: "true"
Run Code Online (Sandbox Code Playgroud) 最近prometheus-operator chart被弃用,chart更名为kube-prometheus-stack,以更清楚地反映它安装了kube-prometheus项目栈,其中Prometheus Operator只是一个组件。
我检查了新旧图表并阅读了所有相关文档,但我找不到文件中的更改(尤其是在values.yaml),有人可以解释我从 prometheus-operator 迁移到 kube-prometheus-stack 我应该做什么确切地?
kubernetes prometheus kubernetes-helm prometheus-operator helmfile
向量查询请求的速率[3秒],速率(请求[3秒])(由所示公式计算)为:
我的问题是:在第 5、4 和 3 秒计算的sum(rate(requests[3 sec]))分别是 16.5、6.5 和 1。有什么想法吗?
prometheus prometheus-operator prometheus-alertmanager prometheus-node-exporter prometheus-blackbox-exporter
我正在尝试使用 helm prometheus https://github.com/prometheus-community/helm-charts监控我的应用程序。我已经成功安装了这个舵图。
prometheus-kube-prometheus-operator-5d8dcd5988-bw222 1/1 Running 0 11h
prometheus-kube-state-metrics-5d45f64d67-97vxt 1/1 Running 0 11h
prometheus-prometheus-kube-prometheus-prometheus-0 2/2 Running 0 11h
prometheus-prometheus-node-exporter-gl4cz 1/1 Running 0 11h
prometheus-prometheus-node-exporter-mxrsm 1/1 Running 0 11h
prometheus-prometheus-node-exporter-twvdb 1/1 Running 0 11h
Run Code Online (Sandbox Code Playgroud)
通过这些 yml 配置在同一命名空间中创建应用服务和部署:
apiVersion: apps/v1
kind: Deployment
metadata:
name: appservice
namespace: monitoring
labels:
app: appservice
annotations:
prometheus.io/scrape: 'true'
prometheus.io/path: '/actuator/prometheus'
spec:
replicas: 1
selector:
matchLabels:
app: appservice
template:
metadata:
labels:
app: appservice
...
Run Code Online (Sandbox Code Playgroud)
apiVersion: v1
kind: Service
metadata:
name: appservice
namespace: monitoring
annotations:
prometheus.io/scrape: 'true' …Run Code Online (Sandbox Code Playgroud) kubernetes prometheus kubernetes-helm prometheus-operator kube-prometheus-stack
当我部署这个时:
kind: ServiceMonitor
apiVersion: monitoring.coreos.com/v1
metadata:
labels:
app: complaints-monitor
release: prometheus # <---------
name: complaints-monitor-svc-monitor
namespace: default
spec:
endpoints:
- path: /metrics
port: web
namespaceSelector:
matchNames:
- default
selector:
matchLabels:
app: complaints-monitor
Run Code Online (Sandbox Code Playgroud)
我的服务显示在普罗米修斯目标下并正确运行。
如果我应用以下命令,目标就会消失:
kind: ServiceMonitor
apiVersion: monitoring.coreos.com/v1
metadata:
labels:
app: complaints-monitor
name: complaints-monitor-svc-monitor
namespace: default
spec:
endpoints:
- path: /metrics
port: web
namespaceSelector:
matchNames:
- default
selector:
matchLabels:
app: complaints-monitor
Run Code Online (Sandbox Code Playgroud) prometheus ×10
kubernetes ×5
prometheus-blackbox-exporter ×2
grafana ×1
helmfile ×1
monitoring ×1