Helm图Prometheus无法找到放置在其他命名空间的目标指标。

问题描述 投票:1回答:1

我卡在了一个非常愚蠢的点。我使用kubeadm创建了集群,并在我的笔记本电脑上使用主节点作为工作节点。Traefik入口控制器'kube-system' 命名空间,然后 php应用程序'nirmal' 现在我把舵机图拉出来,按照我的要求进行修改。然后我把图表安装到 监测 命名空间。

这是我部署php应用的一小部分代码。

php应用程序部署

apiVersion: apps/v1
kind: Deployment
metadata:
  name: php-deploy
  namespace: nirmal
  labels:
    app.kubernetes.io/app: php-app
spec:
  selector:
    matchLabels:
      app.kubernetes.io/app: php-app
  template:
    metadata:
      labels:
        app.kubernetes.io/app: php-app
    spec:
      containers:
        - name: php-app-container
          image: nirmalcontainer/php-mysql-image:v3
          # imagePullPolicy: Never
          ports:
            - containerPort: 80
          args:
            - --kubernetes
            - --logLevel=DEBUG
          # readinessProbe:
          #   httpGet:
          #     path: /
          #     port: 80
          #   initialDelaySeconds: 2
          #   periodSeconds: 2
      tolerations:
      - key: "key"
        value: "mosquito"
        effect: "NoSchedule" 

而这个部署的服务是

apiVersion: v1
kind: Service
metadata:
  name: php-svc
  namespace: nirmal
  labels:
    app.kubernetes.io/app: php-app
spec:
  selector:
    app.kubernetes.io/app: php-app
  ports:
    - port: 80
      targetPort: 80
      protocol: TCP
      name: http

而我在prometheus chart values.yaml文件中做的是scrape_configs。

  - job_name: prometheus
    static_configs:
      - targets:
        - localhost:9090

  - job_name: php-svc.nirmal.svc.cluster.local
    scrape_interval: 5s
    static_configs:
      - targets: 
        - 10.104.207.188:80

  - job_name: mysql-svc.nirmal.svc.cluster.local
    scrape_interval: 5s
    static_configs:
      - targets: 
        - 10.105.69.96:3306

  - job_name: phpmyadmin-svc.nirmal.svc.cluster.local
    scrape_interval: 5s
    static_configs:
      - targets: 
        - 10.106.145.209:80

而输出的结果是 请在此输入图片描述

现在我错在哪里了.请帮助我。

php kubernetes prometheus kubernetes-helm
1个回答
0
投票

关于 mysql-svc:

负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: transport connection broken: malformed HTTP response 错误的意思是你试图用一个错误的协议--"HTTP "来传递请求。为了导出 mysql 你需要使用一个导出器,例如 MySQL服务器导出器.

关于其他两个。

  • 确保你有 /metrics 实现的端点。

  • 检查是否加载 http://10.104.207.188:80/metrics 也会返回404。同样的情况也发生在 phpmyadmin. 确保在你的Prometheus配置中使用正确的URL----。metrics_path.

请告诉我是否有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.