1
corvofeng 305 天前
随便找了一篇
https://alexandre-vazquez.com/kubernetes-service-discovery-for-prometheus/ 大意是你指定好 exporter 的 service name ,告诉 prometheus ,prometheus 会按照对应 service 的 endpoint 去采集的 |
2
bazbaozhilv 305 天前
自定义监控项直接配置 node exporter 不就行了吗,然后如何后续有大批量的节点,还是建议上 consul ,然后用 py 脚本批量增加或删除会省时省力
|
3
runinhard 305 天前 via iPhone
俺记得 svc 的注解里定义好 path 和端口,prometheus 会自动定时采集的啊,应该是不需要单独整服务发展的
|
4
mccken 305 天前
业界通常做法就是在 k8s 中做
|
5
RedisMasterNode 305 天前
业界通常做法就是在 k8s 中做
|
6
chocotan 305 天前
|
7
Cola98 305 天前
说一个 k8s 的做法,Prometheus 里面有 PodMonitor 和 ServiceMonitor ,你 consul 只需要做好 label ,弄好 PodMonitor 或者 ServiceMonitor 就可以了
|
8
chocotan 305 天前
@chocotan
我们是有很多各种类型的指标,比如各种类型的中间件、应用(物理机、虚拟机、容器都有) 各种 target 通过资源管理控制台聚合在一起,管理控制台提供服务发现的 http api 给 promethues |
9
zu1y 305 天前
https://prometheus.io/docs/prometheus/latest/http_sd/
自己写个服务,通过 http-sd 的协议暴露 metrics endpoint 给 prometheus ,数据来源可以是注册中心、cmdb 等等。。 |
10
funky 305 天前
不需要你的 service 是一个文件你只需要动态改变文件就行了
|
11
edwinyzhang 305 天前
写一个收集 client 发送的指标的 web 服务会比较灵活,收集到指标后推送给 pushgateway (如果数据量不大的话
|
12
cloud107202 305 天前 3
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 305 天前
prometheus 支持从 k8s 拉取数据, 比如拉取 pod 信息:
kubernetes_sd_configs: - role: pod kubeconfig_file: "" ... |