Kubernetes学习之Prometheus监控

一、自定义指标
  除了资源指标之外,用户和管理员需要了解的指标数据还有很多,如Kubernetes指标、更全面的容器指标、更全面的节点资源指标及应用程序指标等等。自定义指标API运行请求任意指标,其指标API的实现要特定于相应的后端监视系统。Prometheus是第一个开发了相应适配器的监控系统,毕竟它是监控Kubernetes的第一选择。这个适用于Prometheus的Kubernetes Custom Metrics Adapter由托管在Github上的k8s-prometheus-adapter项目提供。
  在这里插入图片描述
  自定义指标API的目的是提供最终用户和Kubernetes系统组件可以依赖的稳定的、版本化的API,但其可用的实现及可用指标则有赖于第三方或用户的自行实现,目前基于Prometheus收集和存储指标数据,并借助于k8s-prometheus-adapter将这些指标数据查询接口转换为标准的Kubernetes自定义指标是较为流行的解决方案之一。

二、认识Prometheus
  Prometheus是一个开源的服务监控系统和时序数据库,由社交音乐平台SoundCloud在2012年开发,也是CNCF除Kubernetes之外收录的第二款产品,目前已经成为Kubernetes的生态圈中的核心监控系统,而且越来越多的项目(如etcd等等)都提供了对Prometheus的原生支持,这足以证明社区对它的认可程度。
  Prometheus提供了通用的数据模型和便捷的数据采集、存储和查询接口。其核心组件Prometheus服务器定期从静态配置的监控目标(targets)或者基于服务发现(service discovery)自动配置的目标中拉取数据,新拉取到的数据大于配置内存缓存区时,数据将持久化到存储设备中,包括远程云端存储系统。Prometheus的生态组件如下图:
在这里插入图片描述
  上图中的所示各组件,每个被监控的目标(主机、应用程序等等)都可通过专用的exporter程序提供输出监控数据的接口,并等待Prometheus服务器周期性的数据抓取操作。若存在告警规则,则抓取到数据后会检查并根据规则进行计算,满足告警条件即会生成报警,并发送到Altermanager完成告警的汇总和分发等操作。被监控的目标有主动推送数据的需求时,可部署Pushgateway组件接收并临时存储数据,并等待Prometheus服务器完成数据采集。
  任何被监控的目标都需要事先纳入到监控系统中才能进行时序数据采集、存储、告警及相关的展示等等,监控目标既可以通过配置信息以静态形式指定,也可以让Prometheus通过服务发现机制动态管理(增删等等),对于变动频繁的系统环境(如容器云环境)来说,这种动态管理机制尤为有用。在Kubernetes集群及相关的环境中,除了此前配置的从Pod对象中的容器应用获得资源指标数据以外,Promethues还支持通过多个监控目标采集Kubernetes监控架构中所谓的"非核心指标数据"。
  1࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值