
1 corvofeng 2024-02-20 21:14:34 +08:00 随便找了一篇 https://alexandre-vazquez.com/kubernetes-service-discovery-for-prometheus/ 大意是你指定好 exporter 的 service name ,告诉 prometheus ,prometheus 会按照对应 service 的 endpoint 去采集的 |
2 bazbaozhilv 2024-02-20 21:23:36 +08:00 自定义监控项直接配置 node exporter 不就行了吗,然后如何后续有大批量的节点,还是建议上 consul ,然后用 py 脚本批量增加或删除会省时省力 |
3 runinhard 2024-02-20 21:46:06 +08:00 via iPhone 俺记得 svc 的注解里定义好 path 和端口,prometheus 会自动定时采集的啊,应该是不需要单独整服务发展的 |
4 mccken 2024-02-20 22:08:43 +08:00 业界通常做法就是在 k8s 中做 |
5 RedisMasterNode 2024-02-20 22:14:23 +08:00 业界通常做法就是在 k8s 中做 |
6 chocotan 2024-02-20 22:19:19 +08:00 |
7/div> Cola98 2024-02-20 22:29:50 +08:00 说一个 k8s 的做法,Prometheus 里面有 PodMonitor 和 ServiceMonitor ,你 consul 只需要做好 label ,弄好 PodMonitor 或者 ServiceMonitor 就可以了 |
8 chocotan 2024-02-20 22:29:51 +08:00 @chocotan 我们是有很多各种类型的指标,比如各种类型的中间件、应用(物理机、虚拟机、容器都有) 各种 target 通过资源管理控制台聚合在一起,管理控制台提供服务发现的 http api 给 promethues |
9 zu1y 2024-02-20 23:43:58 +08:00 https://prometheus.io/docs/prometheus/latest/http_sd/ 自己写个服务,通过 http-sd 的协议暴露 metrics endpoint 给 prometheus ,数据来源可以是注册中心、cmdb 等等。。 |
10 funky 2024-02-21 11:12:20 +08:00 不需要你的 service 是一个文件你只需要动态改变文件就行了 |
11 edwinyzhang 2024-02-21 11:45:08 +08:00 写一个收集 client 发送的指标的 web 服务会比较灵活,收集到指标后推送给 pushgateway (如果数据量不大的话 |
12 cloud107202 2024-02-21 11:59:42 +08:00 https://github.com/prometheus-operator/kube-prometheus 没一个人说明白。。。。 利用 kubernetes 的 operator 机制,监听到带特定 meta 的 svc 描述,operator 会自动抓取和拉取监控数据 service.yaml 开头形如下面这坨 apiVersion: v1 kind: Service metadata: annotations: prometheus.io/path: /metrics prometheus.io/port: "8080" prometheus.io/scheme: http prometheus.io/scrape: "true" 综述: 1. 如果是自有服务,按前面说的来定义 service meta 部分 2. 如果是非 kubernetes 托管的外部服务,比如中间件,一般是部署对应的 exporter 服务。然后自定义一组同上的 service + 指向具体 IP 的 endpoint. |
13 BQsummer 2024-02-21 18:15:40 +08:00 prometheus 支持从 8s 拉取数据, 比如拉取 pod 信息: kubernetes_sd_configs: - role: pod kubeconfig_file: "" ... |