Docker 普罗米修斯出口商

Docker Exporter for Prometheus

我有一个具有不同端点(休息服务)的应用程序,它在 kubernetes pods 的 docker 容器中运行。

这些端点可以像这样访问:

localhost:8080/myapp/status/health

localhost:8080/myapp/status/version

我想将其中一些端点(如运行状况和版本)添加到普罗米修斯指标中。这个场景需要写exporter还是推荐使用哪些exporter?

我认为这里最好的方法是抓取应用程序本身而不是 Kubernetes 本身的指标。

您需要 instrument your application 使用 Prometheus 客户端库来导出有关您感兴趣的端点的指标,并配置 Prometheus 来抓取应用程序。

听起来您正在寻找关键词和开始配置普罗米修斯的地方,运行 在 Kubernetes 集群中,可以从指标端点抓取数据。

我建议将 myapp/status/versionmyapp/status/health 这两个路径的 job_name 添加到您的 prometheus Configmap scrape_config 部分,并将目标设置为应用程序名称基于 kube-dns 分配调用。实际域名很可能是 app_name 附加到它所在的命名空间:<app_name>.<k8s_namespace>.svc.cluster.local> Localhost 通常只在您的直接系统(即笔记本电脑或 pod 本身)上解析,并且它绑定到 127.0.0.1,它通常不会通过 kube-dns 在网络中路由,因为所有 pods 和节点在技术上都具有界面,无法区分它们。

您可以通过进入 K8s pod 并在组合上发出 nslookup 来验证 FQDN 是否解析。 FQDN 不会在集群外解析,因为它在集群内是可路由的——除非您以其他方式构建它。

HTH,祝您配置顺利。