Prometheus监控k8s

在白盒监控层面关注:

  • 基础设施层(Node):为整个集群和应用提供运行时资源,需要通过各节点的kubelet获取节点的基本状态,同时通过在节点上部署Node Exporter获取节点的资源使用情况;
  • 容器基础设施(Container):为应用提供运行时环境,Kubelet内置了对cAdvisor的支持,用户可以直接通过Kubelet组件获取给节点上容器相关监控指标;
  • 用户应用(Pod):Pod中会包含一组容器,它们一起工作,并且对外提供一个(或者一组)功能。如果用户部署的应用程序内置了对Prometheus的支持,那么我们还应该采集这些Pod暴露的监控指标;
  • Kubernetes组件:获取并监控Kubernetes核心组件的运行状态,确保平台自身的稳定运行。

在黑盒监控层面关注:

  • 内部服务负载均衡(Service):在集群内,通过Service在集群暴露应用功能,集群内应用和应用之间访问时提供内部的负载均衡。通过Balckbox Exporter探测Service的可用性,确保当Service不可用时能够快速得到告警通知;
  • 外部访问入口(Ingress):通过Ingress提供集群外的访问入口,从而可以使外部客户端能够访问到部署在Kubernetes集群内的服务。因此也需要通过Blackbox Exporter对Ingress的可用性进行探测,确保外部用户能够正常访问集群内的功能;

k8s监控方案
cadvisor+heapster+influxdb+grafana
缺点:只能支持监控容器资源,无法支持业务监控,扩展性较差

cadvisor/exporter+prometheus+grafana
总体流程: 数据采集–>汇总–>处理–>存储–>展示

容器的监控

  • prometheus使用cadvisor采集容器监控指标,cadvisor集成在k8s的 kubelet 中-通过prometheus进行存储,使用grafana进行展现
  • node的监控 通过 node_pxporter 采集当前主机的资源-通过prometheus进程存储,使用grafana进行展现
  • master的监控 通过 kube-state-metrics 插件从k8s中获取到apiserver的相关数据,通过prometheus进程存储-使用grafana进行展现

kubernetes监控指标
kubernetes自身的监控

  1. node的资源利用率
    node节点上的cpu、内存、硬盘、链接
  2. node的数量
    node数量与资源利用率、业务负载的比例情况、成本、资源扩展的评估
    pod的数量 当负载到一定程度时,node与pod的数量,评估负载到哪个阶段,大约需要多少服务器,每个pod的资源占用率如何,进行整体评估
  3. 资源对象状态
    k8s在运行过程中,会创建很多pod,控制器,任务,这些内容都是由k8s中的资源对象进行维护,需要进行对资源对象的监控,获取资源对象的状态
  4. pod监控
    每个项目中pod的数量-正常的pod数量,有问题的pod数量
    容器资源利用率-统计当前pod的资源利用率,统计pod中的容器资源利用率,cpu、网络、内存评估
    应用程序-项目中的程序的自身情况,如并发,请求响应,项目用户数量,订单数等
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值