docker-compose - 在 docker swarm 中自动发现 Prometheus 指标端点
问题描述
我可以设置static_configs
为 Prometheus 提供指标端点。有没有办法在 Docker swarm 中动态设置指标端点。例如,我们可以在docker-compose.yaml
文件中提供一些标签来帮助 Prometheus 自动发现指标端点吗?
myApp:
image: ...
lables:
prom/scrape: true # something like this
prom/port: 3000
....
解决方案
Prometheus 没有对 Docker Swarm 的本机服务发现支持(与Kubernetes 服务发现不同)。
但是,为了在 Docker Swarm 中自动发现任何指标端点,您可以使用通用文件服务发现机制。它通过使用包含所需度量端点的文件来工作。Prometheus 对此文件执行磁盘监视并动态应用任何更改。这意味着,您可以在运行时更新文件,Prometheus 将立即与之同步。
Docker Swarm有一个名为prometheus-swarm-discovery的文件服务发现集成。这个工具应该可以动态写入Prometheus文件服务发现使用的文件,所以你不必自己实现这个逻辑。
推荐阅读
- laravel - PHP 错误:在第 1 行的 Psy Shell 代码中调用未定义的方法 stdClass::save()
- python - Pandas 使用搜索字符串更新列
- javascript - 当我尝试注入服务器 AngularJs 时出现错误 $injector:unpr
- amazon-web-services - 启动源实例时出错:UnauthorizedOperation:您无权执行此操作
- c# - 我如何使用 Newtonsoft 解析这个 json
- r - 仅使用 persp() 绘制 x 行
- python - python web抓取,提取标签的内部元素
- javascript - 如何在Javascript中的数组中获取所有相同类型的对象?
- python - Pandas df 重新排序列似乎在循环中工作,但不是。我到底错过了什么?
- python - Python 多处理计数器更新