初识普罗米修斯

  

初识普罗米修斯

  

普罗米修斯是什么及其主要功能注意事项

  

普罗米修斯是什么?

  

我现在目前的读者都肯定通过普罗米修斯这个监控吧,那么它到底是什么呢?普罗米修斯是一个基于时间序列(time_series)的监控软件,它是由<代码> 一夜开源监控告警解决方案,从2012年开始编写代码,再到2015年github上开源,已经很多大公司使用,2016年普罗米修斯成为继kubernetes后,第二个CNCF(原生云计算基础云原生计算基金会)的成员.2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台,云平台配合,并同时支持告警。

  

普罗米修斯的主要功能

  
      <李>多维数据模型(时序由指标(指标)和k/v的标签构成)   <李>灵活的查询语句(PromQL)支持基本数据运算和函数   <李>无依赖存储,支持本地和远程不同的模型李   <李>采用http协议,使用拉/推模式来获取数据李   <李>监控目标,可以采用服务发现和静态配置的方式李   <李>支持多种统计数据模型,配合grafana使用图形化友好李   
  

普罗米修斯的核心组件

  
      <李>普罗米修斯服务器:主要对获取的数据和存储时序数据,另外还提供查询和预警规则(报警规则)配置管理李   <李>客户端库:用于对接普罗米修斯服务器,可以查询和上报数据李   <李> Pushgateway:用于批量、短期的监控数据的汇总节点,监控主机上报给pushgeateway,然后Pushgateway上报给普罗米修斯切断。   <李>出口商:各种汇报数据的出口商,例如汇报机器数据的node_exporter,汇报码头工人情况的cAdvisor李   <李> alertmanager:用于告警通知的李   
  

普罗米修斯基础架构图

  

下面这张图是官方的架构图
初识普罗米修斯”> </p>
  <p>从上图中我们也能看出来普罗米修斯的主要包含的模块,pushgateway,出口商,检索,TSDB(存储)HTTP, PromeQl Alertmanager。</p>
  <p>他的大致逻辑是这样的:<br/> 1,普罗米修斯会定期从静态配置的目标或者服务发现的目标中向部署在被监控端的服务器上请求出口商来获取数据,或者由客户端通过定时任务定期向pushgateway发送数据,然后有pushgateway向普罗米修斯发送数据。<br/> 2,当新的数据大于配置内存缓存区的时候,普罗米修斯会将数据持久化到磁盘,(如果使用远程存储将持久到云端)<br/> 3,普罗米修斯可以配合grafana通过特定的表达是来获取我们想要的监控图形<br/> 4,普罗米修斯可以配置规则(规则),然后定时查询数据,当出发告警条件的时候,会通知alertmanager推送到配置的告警信息上去<br/> 4, alertmanager收到告警信息的时候,可以根据配置,聚合,去重,降噪最后发送警告</p>
  <h4> promethesus使用的注意事项</h4>
  <ul>
  <李>普罗米修斯的数据是基于时间序列(时间序列)的fload64的值,李</>
  <李>普罗米修斯不适合做审计计费,因为他的数据是按照时间间隔来采集的,关注的更多是系统的运行的瞬时状态以及趋势,即使有少量的数据没有采集也能容忍,但是审计计费需要记录每个请求,并且数据长期存储,这个普罗米修斯无法满足。</李>
  </ul>
  <h3>普罗米修斯和其他监控的对比</h3>
  <h4>普罗米修斯相对于其他软件的优势</h4>
  <p> <强> 1,易于管理</强> <br/>普罗米修斯核心部分只有一个单独的用golang编写的二进制文件,不存在任何的第三方依赖(数据库,缓存等)。唯一需要做的就是本地磁盘和内存,所以他可以运行在各种平台。<br/>普罗米修斯是基于拉和推模型的架构方式,在任何地方搭建我们的监控系统,对于一些复杂的情况,还可以使普罗米修斯用服务发现(服务器发现)的能力动态管理监控目标。</p>
  <p> <强> 2,监控服务的内部运行状态</强> <br/>普罗米修斯鼓励用户监控服务的内部状态,基于普罗米修斯丰富的客户端库,用户可以轻松的在应用程序中添加的对普罗米修斯的支持,从而让用户可以获取服务和应用内部真正的运行状态。</p>
  <p> <强> 3,强大的数据模型</强> <br/>所有采集的监控数据均以指标(指标)的形式保存在内置的时间序列数据库当中(TSDB)。所有的样本除来基本的指标名称以外,还包含一组用于描述该样本特征的标签。</p>
  <p> <强> 4强大的查询语言PromQL </强> <br/>普罗米修斯内置来一个强大的数据查询语言PromQL,通过PromQL可以实现对监控数据的查询/聚合。同时PromeQL也被应用于数据可视化(grafana)以及告警中。<h2 class=初识普罗米修斯