当前位置: 首页 > 知识库问答 >
问题:

如何在库伯内特斯中添加springstart应用程序监控到prometheus?

桓喜
2023-03-14

大家下午好,我有一个关于将应用程序本身的监控添加到prometheus的问题。我使用的是spring boot actuator,并相应地查看普罗米修斯的值:https://example.com/actuator/prometheus我通过默认头盔图表(helm-n monitor upgrade-f values.yaml pg prometheus community/kube prometheus stack)为它添加了默认值,从而提升了普罗米修斯:

additionalScrapeConfigs:
  job_name: prometheus
  scrape_interval: 40s
  scrape_timeout: 40s
  metrics_path: /actuator/prometheus
  scheme: https

普罗米修斯本身可以在http://ex.com/prometheus部署。我的springboot应用程序的yaml文件如下:

apiVersion : apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: backend
  template:
    metadata:
      labels:
        app: backend
      annotations:
        prometheus.io/path: /actuator/prometheus
        prometheus.io/scrape: "true"
        prometheus.io/port: "8080"
    spec:
      containers:
      - env:
        - name: DATABASE_PASSWORD
          value: {{ .Values.DATABASE_PASSWORD }}
        - name: DATASOURCE_USERNAME
          value: {{ .Values.DATASOURCE_USERNAME }}
        - name: DATASOURCE_URL
          value: jdbc:postgresql://database-postgresql:5432/dev-school
        name : {{ .Release.Name }}
        image: {{ .Values.container.image }}
        ports:
        - containerPort : 8080

然而,在那之后,普罗米修斯仍然看不到我的价值观。你能告诉我错误是什么吗?

共有1个答案

蒋鹏鹍
2023-03-14

在普罗米修斯运营者中,

附加配置不以这种方式使用。

根据留档附加刮除配置:附加刮除配置允许指定包含额外普罗米修斯刮除配置的秘密密钥。

添加新的刮取配置最简单的方法是使用servicemonitor,如下示例

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: example-app
  labels:
    team: frontend
spec:
  selector:
    matchLabels:
      app: backend
  endpoints:
  - port: web
 类似资料:
  • 希望你们都好, 我目前正在尝试将awx操作符部署到Kubernetes集群上,但在从集群外部访问该服务时遇到了一些问题。 目前,我已设置了以下服务: 我确实设置了一个名为

  • 我打算有一个带有Jenkins的光盘管道,它接受我的应用程序,将码头工人映像发布到我的私人码头工人存储库。我想我知道怎么做。 我不确定的是库伯内特斯部分。我想把那个图像部署到我的私人库伯内特斯集群(目前是1个主集群) 问:安装了 kubectl 和 docker 的詹金斯从站是否需要成为 Kubernetes 集群的一部分才能触发部署?如何触发该部署?

  • 我怎样才能使用入口呢?我尝试使用NodePort和--Target etPort=1001,我在servicePort中添加了80在。 kubectl公开部署测试--Target-port=1001--type=NodePort 我得到了错误 找不到后端-404 我使用的是正确的方法还是需要遵循其他方法?

  • 具体来说,当我按照谷歌网站上的指示在GKE上设置nginx ingress时,为什么最终会有两个外部IP地址? 这两个IP地址用于LoadBalancer类型的入口资源和服务资源: 以下是我的想法: 这基本上就是我链接到的教程页面上的图表。因此,我希望负载平衡器是L4类型的,并且有一个外部IP(并且不需要花费任何金钱来使用!)。我希望入口(尽管其名称)没有外部IP,因为我用注释标记了它 谷歌应该承

  • 我假设没有愚蠢的问题,所以这里有一个我找不到直接答案的问题。 现在的情况 我目前有一个运行1.15的Kubernetes集群。AKS上的x,通过Terraform部署和管理。AKS最近宣布Azure将在AKS上停用Kubernetes的1.15版本,我需要将集群升级到1.16或更高版本。现在,据我所知,直接在Azure中升级集群不会对集群的内容产生任何影响,即节点、豆荚、秘密和当前在那里的所有其他