前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Prometheus监控笔记

Prometheus监控笔记

作者头像
希里安
发布2023-10-30 18:06:10
2360
发布2023-10-30 18:06:10
举报
文章被收录于专栏:希里安

监控是基础设施,监控的重要性可想而知,但在平常工作中,很多监控做的大而全,指标繁杂,告警颇多,其实抓住重要的黄金指标,保持简单的架构就是最好的,今天来研究一番prometheus。

前面文章已经提及过了,可二进制、源码、包管理工具(yum、helm)安装。

因为prometheus是基于mertric的监控,所以不适用于日志logs、事件event、调用链tracing等监控,默认是pull模型,需要合理规划网络,最好不要转发,对于集群化以及水平扩展需要合理选择方案,查询范围过长需要降低采样,会导致精度降低,时序数据无法很好避免这一点,也是区别于日志系统的地方。

Prometheus属于CNCF项目,有比较丰富的开源生态,和传统zabbix监控不同,提供了丰富的exporter满足各种业务需求,可以看到官方以及第三方的exporter,也可以自己编写exporter,可以定制化,这是优势,但是太开放就会导致试错成本的增加,zabbix几行配置的事情,prometheus里就得搭配很多exporter才能完成,非官方的还会有不少的bug,当然设计之初也没想着像zabbix,就是开放自由。

k8s里那些组件会提供mertric接口呢,以下来介绍一番:

cadvisor: 集成在 Kubelet 中。

kubelet: 10255为非认证端口,10250为认证端口。

apiserver: 6443端口,监控请求数、延迟等。

scheduler: 10251端口

controller-manager: 10252端口

etcd: 如etcd 可以监控写入读取延迟、存储容量等

kube-proxy: 默认 127.0.0.1暴露10249端口,外部采集时可以修改为 0.0.0.0 监听,会暴露:写入

iptables 规则的耗时等指标

kube-state-metrics: K8S 官方项目,采集pod、deployment等资源的元信息。

node-exporter: Prometheus 官方项目,采集机器指标如 CPU、内存、磁盘。

blackbox_exporter: Prometheus 官方项目,网络探测,dns、ping、http监控

process-exporter: 采集进程指标

node-problem-detector: 即 npd,准确的说不是 exporter,但也会监测机器状态,上报节点异常打 taint

应用层 exporter: mysql、nginx、mq等,看业务需求JIANKONG1

这些组件监控展示一般用grafana,监控核心组件的状态、性能,如kubelet、apiserver等,现在kubesphere就是集成了这些监控,核心组件的模板可以在grafana市场参考dashboards-for-kubernetes-administrators。但是采集组件一多,exporter的集合是个问题,运维的压力就会变大,相关的资源控制以及版本升级都需要关注,可以用telegraf支持N合一。例如node-exporter不支持进程的监控,就可以使用telegraf,使用procstat的input采集进程指标。

google的sre手册中提出四个黄金指标:延迟、流量、错误数、饱和度。这里介绍比较简单的USE和REd标准。针对资源提供系统,可以使用utilization资源使用百分比、saturation资源使用的饱和度或过载程度、errors资源的出错率或出错数量。针对服务型系统,rate单位时间内完成请求的能力、errors错误率或者错误数量,单位时间内服务出错率或数量,duration单次服务持续实践,响应时延。

随着规模变大,prometheus的cpu和内存都会升高,内存一般会达到瓶颈、要么减少指标,要么加内存,单机版内存过大的原因,一个是隔一段时间作数据落盘,落盘之前数据在内存,所以和采集量有关,加载历史数据时候,是从磁盘到内存,查询范围越大,内存越大,不合理的查询条件也会造成增加内存。相关研究可以去官方github查看。

(1)基本HA:两套采集完全一样的指标,外挂负载均衡

(2)HA+外部存储,进行数据持久化

(3)联邦集群,按功能区分,采集数据由global节点统一存放,解决数据规模问题

还有很多需要学习,在实践中不断优化总结,相信一定可以将监控做得更好。快去实践,祝学习顺利!

END

作者|希里安

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 希里安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Prometheus 监控服务
Prometheus 监控服务(TencentCloud Managed Service for Prometheus,TMP)是基于开源 Prometheus 构建的高可用、全托管的服务,与腾讯云容器服务(TKE)高度集成,兼容开源生态丰富多样的应用组件,结合腾讯云可观测平台-告警管理和 Prometheus Alertmanager 能力,为您提供免搭建的高效运维能力,减少开发及运维成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档