普罗米修斯基本概念用法记录

  普罗米修斯

  
      <李>   <编辑>基本概念   

    promethues是一套开源的系统监控报警框架。

      

    ?普罗米修斯所有采集的监控数据均以指标(指标)的形式保存在内置的时间序列数据库当中(TSDB):属于同一指标名称,同一标签集合的,有时间戳标记的数据流。除了存储的时间序列,普罗米修斯还可以根据查询请求产生临时的,衍生的时间序列作为返回结果。

      

    ?特点:

      
        <李>强大的多为数据模型李   <李>灵活的查询语言李   <李>易于管理李   <李>高效李   <李>使用拉模式采集时间序列数据李   <李>多种可视化图形界面李   <李>易于伸缩李   
      李   <李>   

    普罗米修斯组成和架构:

      

    普罗米修斯基本概念用法记录

      
        <李>普罗米修斯服务器:主要负责数据采集和存储,提供promQL查询语言支持.prometheus是一个时序数据库,将采集到的监控数据按照时间序列的方式存储到本地磁盘。   <李>推网关:支持临时性工作主动推送指标的中间网关。   <李> PromDash:使用rails开发的仪表板,用于可视化指标数据。   <李>出口商:负责监控机器运行状态,提供被监控组件信息的HTTP接口被叫做出口国。   
          <李>直接采集:出口国内置了普罗米修斯支持,直接向普罗米修斯暴露数据端点。   <李>间接采集:原不支持普罗米修斯。通过普罗米修斯提供的clien图书馆编写的目标监控采集程序。   李
        <李> Altermanager:普罗米修斯从服务器端接收到警报后,会进行去除重复数据,分组,并路由到对收的接受方式,发出报的警。常见的接收方式有:电子邮件,pagerduty, OpsGenie webhook等。   <李> WebUI: 9090提供图形化界面功能。   
      李   <李>   

    <>强基本工作原理

      
        <李>普罗米修斯服务器定期从配置好的工作或者出口商中拉指标,或者接收来自Pushgateway发过来的指标,或者从其他的普罗米修斯服务器中拉指标。   <李>普罗米修斯服务器在本地存储收集到的度量,并运行已定义好的alert.rules,记录新的时间序列或者向Alertmanager推送警报。   <李> Alertmanager根据配置文件,对接收到的警报进行处理,发出告警。   <李>在图形界面中,可视化采集数据。   
      李   <李>   

    <>强基本概念:

      

    <强>数据模型:普罗米修斯中存储的数据为时间序列,是由公制的名字和一系列的标签(键值对)唯一标识的,不同的标签代表不同的时间序列。

      

    ?样本:实际时间序列,每个序列包括一个float64的值和一个毫秒级的时间戳。(指标+时间戳+样本值)

      

    ?指标名字:具有语义,表示功能:例如:http_request ,表示http请求的总数。其中,度量名字由ASCII字符,数字,下划线,以及冒号组成,且必须满足正则表达式[a-zA-Z :] [a-zA-Z0-9_:] *。

      

    ?标签:使一个时间序列有不同未读的识别。例如http_request {方法=癎et"}总表示所有http请求中的得到请求。当方法=皃ost"时,则为新的一个指标。标签中的键由ASCII字符,数字,以及下划线组成,且必须满足正则表达式[a-zA-Z :] [a-zA-Z0-9_:] *。

      

    ?格式:& lt;度量name> {value> & lt;标签name>=& lt;标签;,…},例如:http_requests_total{方法=癙OST"端点=?api/tracks"}。

      

    <>强度量类型

      

    计数器:累加性metirc。

      

    计:可增减性度量

      

    直方图:树状图

      

    简介:汇总

      李   <李>   <编辑> PromQL查询   
        <李>   

      数据类型

        
       <代码>瞬时向量(即时向量):一组时间序列,每个时间序列包含单个样本。
        区间向量(距离向量):一组时间序列,每个时间序列包含一段时间范围内的样本数据。
        标量(标量):一个浮点型数据值。
        字符串(字符串):一个简单的字符串值。 
        李   <李>   

      时间序列过滤器

        
       <代码>瞬时向量过滤器:
        http_requests_total,通过{}里附件一组标签过滤时间序列。
        标签匹配云算符:=:选择与提供的字符串完全相同的标签。
        !=:选择与提供的字符串不相同的标签。=~:选择正则表达式与提供的字符串(或子字符串)相匹配的标签。
        ! ~:选择正则表达式与提供的字符串(或子字符串)不匹配的标签。
        区间向量过滤器:
        例如:http_requests_total{工作=捌章廾仔匏埂眪(5米),通过[]指定区间提取数的值。
        时间单位:
        s -秒
        m -分钟
        h -小时
        d -天
        w -周
        y -年
        时间位移操作:
        在瞬时向量表达式或者区间向量表达式中,都是以当前时间为基准。
        如:http_requests_total抵消5 m”抵消关键字需要紧跟在选择器({})后面”

      普罗米修斯基本概念用法记录