总结:也就是说,整个监控系统没有部署。 如何监控一个不存在的系统是今天需要讨论的问题。 官方配置联合机制也得到了扩展。 我们的集群外监控解决方案就是基于此。 每个人都在同一数据中心内监视另一个人。 更高级别的监控数据中心级别。
简介
对于企业来说,K8S集群或者所谓的CAAS可能只是整个技术体系的一部分。 如今的监控系统通常不仅需要监控 k8s 集群和部署到 k8s 的应用程序,还需要监控传统部署的项目。 这意味着整个监控系统并不是部署在k8s集群上。 -如何用prometheus监控不在集群中的k8s,是今天需要讨论的一个问题。
上一篇文章我们解读了prometheus提供的用于监控k8s的配置文件。 我们知道我们主要收集六个方面:节点、visor、服务、端点、入口和 Pod。 如需部署在集群外,请修改配置文件。
kubernetes_sd_configs:-角色:节点 api_server:https://10.xx.xx.231:6443 bearer_token:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2V h Y2NvdW50 a3ViZXJuZXRlcy5pby9zZXJ2aWNlyWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt14dmTJfPP5XNYiwPBW-ffe84w1zA0PaIUISUXGWUR5Ak9dFkJz4-ho0pPRK uPj[ k4] KZ8C4APt4NVKFXnO3WisR63ShCYqYYrOAjerCZIfrokMdvhPG1S6Dw_swWtYTSbBVXMeyHrC9OqvXz3jdi4vnKYJgA tls_config: insecure_skip_verify: true
也可以使用prometheus的服务发现功能来监控节点、cadvisor等一些指标,但是k8s中的一些服务网络层没有其他指标可用,因为它们是自动发现的。 地址,外部无法访问。 我们的解决方案是Prometheus的联邦模式来解决这个问题。
Prometheus Federation 概述
Federation 允许一台 Prometheus 服务器从另一台 Prometheus 服务器检索指标。
正式设置:
- job_name: "federate" scrape_interval: 15s Honor_labels: truemetrics_path: "/federate" params: "match[]": - "{job = prometheus " "}" - "{__name__=~"job:.*"}" static_configs: - 目标: - "源-prometheus-1:9090" - "源 [ k4 ] prometheus-2:9090" - "source-prometheus-3:9090"
联邦机制也实现了对prometheus的扩展,一般纵向有两种思考方式it:
基于此,可以组成树状的Prometheus集群,实现高可用和分片监控。k8s的解决方案就是基于此。
通过联邦监控k8s
获取上一篇文章中的配置文件,并在k8s集群上部署prometheus服务器。 集群外的prometheus服务器定期检索集群内的prometheus数据。
然后只需设置匹配即可。
"match[]": - "{job="prometheus"}" - "{__name__=~"job:.*"}"
摘要
另外,在联邦模式下可以实现prometheus监控。 请遵循以下两点:
网格图案。 在同一数据中心内,每个 Prometheus 都监视其他 Prometheus。
上下级模式。 顶级 Prometheus 监控数据中心级 Prometheus。
评论前必须登录!
注册