标签: prometheus-operator

我们如何为Prometheus指标添加额外的标签?

假设我们要收集一个月的相同指标,现在我们想修改这些指标以使其具有额外的标签(在旧数据中也是如此),我们该如何做。现有指标:

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)

prometheus prometheus-operator

5
推荐指数
3
解决办法
8209
查看次数

如何为所有指标添加额外标签

我实际上有 3 个 GCP kubernetes 集群,每个集群上都安装了 prometheus Operator。我试图弄清楚如何向所有指标添加额外的环境标签,以便明确地知道指标来自哪个集群。对于某些指标,如 kube_pod_container_resource_requests_cpu_cores 或 kube_pod_info 我的标签未设置。

PS:我的配置已经有这个:我们如何为 Prometheus 指标添加额外的标签?

prometheus prometheus-operator

5
推荐指数
0
解决办法
1608
查看次数

如何为 prometheus 操作员启用其他配置

根据 Prometheus-operator文档,我们应该能够通过秘密文件轻松提供我们的附加配置。这一步真的有人成功吗?我有几个问题:

  • 这些配置会出现在 prometheus pod 中的什么地方?
  • 这个配置应该是 prometheus 配置文件的形式还是只列出额外的抓取条目
  • 我们可以通过以下方式提供其他文件(json 配置)file_sd_configs:吗?如果可以,如何将这些文件提供到 prometheus 清单文件中?

不管这些问题,我都很难添加额外的配置。我基本上遵循了文档中的确切步骤 ,这是我的观察:

  1. 这是我的新配置
    cat prometheus-additional.yaml
    - job_name: "prometheus-custom"
      static_configs:
      - targets: ["localhost:9090"]
Run Code Online (Sandbox Code Playgroud)
  1. 添加新的秘密文件
    kubectl create secret generic additional-scrape-configs --from-file=prometheus-additional.yaml
Run Code Online (Sandbox Code Playgroud)
  1. 使用附加配置创建 prometheus.yml 文件
    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)
  1. 部署 prometheus.yaml
    kubectl apply -f prometheus.yaml
Run Code Online (Sandbox Code Playgroud)
  1. 检查日志,没有迹象表明我的新配置
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)

configuration prometheus prometheus-operator

5
推荐指数
1
解决办法
4222
查看次数

prometheus operator - 启用对所有命名空间中的所有内容的监控

我想监视名为命名空间的一个Kubernetes集群上运行的应用程序夫妇developmentproduction通过普罗米修斯运营商。

使用的安装命令(根据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

5
推荐指数
2
解决办法
9038
查看次数

从“运营商”集群监控 k8s 应用

我们有几个 K8S 集群,我们需要从一个操作员集群(集群 A)监控我们在每个集群上使用 Prometheus 来监控集群本身,现在另外我们想从应用程序的特定 api 进行监控,它会告诉我们我们的集群(根据我们的具体服务)是否正常,我不是在谈论监控集群,我们希望运营商在每个集群上监控 3 个应用程序(所有 3 个应用程序都部署在所有被监控的集群上)

集群 A(运营商)应监控集群 B、C、D 等上的服务/应用程序

例如,运营商集群将调用集群A中的已部署应用程序,例如 host://app1/status获取0或1的状态,并将状态保存在某个数据库中。(可能是 prometehusDB)并在集群外报告它们。

目前经过一些搜索,我找到了这个选项,但也许还有更多我不知道的

  1. 使用黑盒导出器 - https://github.com/prometheus/blackbox_exporter

  2. 创建我自己的程序(在 golang 中),它会像 cronjob 一样并且将使用 prom lib 在操作员集群中运行。

https://github.com/prometheus/client_golang

我的意思是运行一个休息调用并使用 Prometheus apitsdb通过 go "github.com/prometheus/client_golang/prometheus/promhttp" 代码将状态存储在 Prometheus 中。但不确定如何..

  1. 联邦??

此外,如果我能够将集群中的所有数据收集到操作员集群中,我应该如何以及在哪里保存它?在普罗米修斯数据库 tsdb 中?另一种方式 ?

支持我们的案例的最佳实践应该是什么?我们应该怎么做?

kubernetes prometheus prometheus-operator prometheus-blackbox-exporter

5
推荐指数
1
解决办法
205
查看次数

Prometheus:监控所有服务而不为每个服务创建ServiceMonitor?

我正在使用这个 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)

kubernetes prometheus kubernetes-helm prometheus-operator

5
推荐指数
1
解决办法
2385
查看次数

将 prometheus 图表从 prometheus-operator 更新为 kube-prometheus-stack

最近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

5
推荐指数
1
解决办法
523
查看次数

普罗米修斯中的速率函数之和

给定以下称为requests的普罗米修斯时间序列: 在此输入图像描述

矢量查询请求[3秒]是:
在此输入图像描述

向量查询请求的速率[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

5
推荐指数
1
解决办法
2万
查看次数

Helm Prometheus 操作员不会向目标添加新的 ServiceMonitor 端点

我正在尝试使用 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

5
推荐指数
1
解决办法
3068
查看次数

为什么我的 Prometheus Operator ServiceMonitor 需要“release”标签才能正常运行?

当我部署这个时:

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)

grafana prometheus prometheus-operator

5
推荐指数
1
解决办法
3452
查看次数