【发布时间】:2020-07-06 06:00:45
【问题描述】:
我们有几个 K8S 集群,我们需要从 一个 运营商集群(集群 A)监控它们 我们在每个集群上使用 Prometheus 来监控集群本身,现在我们还想从应用程序的特定 api 进行监控,它会告诉我们集群(根据我们的特定服务)是否是功能性的,我不是在谈论监控集群,我们希望运营商在每个集群上监控 3 个应用程序(所有 3 个应用程序都部署在所有受监控的集群上)
集群 A(操作员)应监控集群 B、C、D 等上的服务/应用程序
例如运营商集群将调用集群A中已部署的应用程序,如host://app1/status,以获取0或1的状态,并将状态保存在某个数据库中。 (可能是 prometehusDB)并在集群外报告它们。
目前经过一番搜索,我找到了这个选项,但也许还有更多我不知道的选项
-
创建我自己的程序(在 golang 中),它会像一个 cronjob 并且将使用 prom lib 在操作员集群中运行。
https://github.com/prometheus/client_golang
我的意思是运行一个休息调用并使用 Prometheus api 通过 go "github.com/prometheus/client_golang/prometheus/promhttp" 代码将状态存储在 Prometheus tsdb 中。但不确定如何..
- 联邦??
另外,如果我能够将集群中的所有数据收集到 operator 集群中,我应该如何以及在哪里保存它?在普罗米修斯数据库 tsdb 中?其他方式?
支持我们的案例的最佳实践应该是什么?我们应该怎么做?
【问题讨论】:
-
这里有理由不使用普通的 Prometheus 联邦吗?
-
@coderanger - 感谢重播,我们已经考虑过了,我们想使用灭霸但是因为我们有一些产科医师可以将数据发送到本地系统,我们将在稍后进行,现在我们需要使用一些内部监控系统,对于我提到的两个选项,你建议什么?
标签: kubernetes prometheus prometheus-operator prometheus-blackbox-exporter