我是靠谱客的博主 陶醉鲜花,最近开发中收集的这篇文章主要介绍Prometheus监控实战系列一: 产品介绍四. 工作原理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一. 概述

Promehteus是一款近年来非常火热的容器监控系统,它使用go语言开发,设计思路来源于Google的Borgmom(一个监控容器平台的系统)。产品由前谷歌SRE  Matt T.Proudd发起开发,并在其加入SoundCloud公司后,与另一位工程师Julius Volz合伙推出,将其开源发布。

2016年,由Google发起的原生云基金会(Cloud Native Computing Foundation)将Prometheus纳入麾下,成为该基金会继Kubernetes后第二大开源项目。

Promehteus天然具有对容器的适配性,可非常方便的满足容器的监控需求,也可用来监控传统资源。近年来随着kubernetes容器平台的火爆,Prometheus的热度也在不断上升,大有超越老牌监控系统Zabbix成为No.1的趋势,目前已在众多公司得到广泛的使用。

二. Prometheus的特点 

  •  多维度数据模型

  •  灵活的查询语言

  •  不依赖分布式存储,单个服务器节点是自主的

  •  通过基于HTTP的pull方式采集时序数据

  •  可以通过中间网关进行数据推送

  •  通过服务发现或者静态配置来发现目标服务对象

  •  支持多种多样的图表和界面展示,比如Grafana 等

三. Prometheus相关组件

  • Prmoetheus  Server:服务端,用于处理和存储监控数据

  • Exporter:监控客户端,用于收集各类监控数据,不同的监控需求由不同的exporter处理,如node-exporter、mysql-exporter、blackbox-exporter等。

  • Pushgateway:在不支持pull 拉取监控数据的场景中,可通过部署Pushgateway的方式,由监控源主动上报到Promtehus。

  • Alertmanager:独立组件,用于处理告警信息。

  • Web-UI:Pometheus自带的web界面,可进行监控数据的展示与查询。

其他支持工具:Promethues项目本身提供的组件及丰富的开源工具和套件。 

官方架构图:

四. 工作原理

1. 服务发现

  Prometheus可通过多种方式来发现要监控的资源列表,包括:

  •    用户提供的静态资源列表
  •    基于文件的发现  
  •    自动发现。例如,使用DNS SRV记录来生成列表或通过查询Consul等配置中心获取信息.

2. 指标收集

Prometheus根据配置的Job定时去拉取各个监控节点的数据,任何组件只要提供对应的HTTP接口就可以接入监控,不需要任何SDK或其他集成过程,非常适合虚拟化环境的监控,如Kubernetes、Docker等。

默认的拉取方式为pull,也可以使用pushgateway提供的push 方式获取各个监控节点的数据,并将获取到的数据存入TSDB(一种时序型数据库)。

3. 数据查询

Prometheus提供一套内置的PromQL语言,其自带的Web-UI查询数据支持按条件表达式的方式,查询相关的监控数据。

4. 可视化

Prometheus自带的Web-UI可支持图表展示 ,但功能及界面较简陋,常规方案是接入到grafana进行展示管理。

5. 聚合告警

Promehteus Server没有内置告警工具,程序基于配置的rules发送告警信息到Alertmanager,由Alertmanager对告警信息进行统一处理。Alertmanger支持对告警信息进行聚合和收敛,并通过邮箱、短信、微信、钉钉等多种告警方式发送给相关的接收人。

专注于内容,只做有质量的输出,欢迎关注个人公众号“运维老兵”。

最后

以上就是陶醉鲜花为你收集整理的Prometheus监控实战系列一: 产品介绍四. 工作原理的全部内容,希望文章能够帮你解决Prometheus监控实战系列一: 产品介绍四. 工作原理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部