-
<李>
<编辑>基本概念编辑>
promethues是一套开源的系统监控报警框架。
?普罗米修斯所有采集的监控数据均以指标(指标)的形式保存在内置的时间序列数据库当中(TSDB):属于同一指标名称,同一标签集合的,有时间戳标记的数据流。除了存储的时间序列,普罗米修斯还可以根据查询请求产生临时的,衍生的时间序列作为返回结果。
?特点:
-
<李>强大的多为数据模型李>
<李>灵活的查询语言李>
<李>易于管理李>
<李>高效李>
<李>使用拉模式采集时间序列数据李>
<李>多种可视化图形界面李>
<李>易于伸缩李>
普罗米修斯组成和架构:
-
<李>普罗米修斯服务器:主要负责数据采集和存储,提供promQL查询语言支持.prometheus是一个时序数据库,将采集到的监控数据按照时间序列的方式存储到本地磁盘。李>
<李>推网关:支持临时性工作主动推送指标的中间网关。李>
<李> PromDash:使用rails开发的仪表板,用于可视化指标数据。李>
<李>出口商:负责监控机器运行状态,提供被监控组件信息的HTTP接口被叫做出口国。
-
<李>直接采集:出口国内置了普罗米修斯支持,直接向普罗米修斯暴露数据端点。李>
<李>间接采集:原不支持普罗米修斯。通过普罗米修斯提供的clien图书馆编写的目标监控采集程序。李>
李
<>强基本工作原理强>
-
<李>普罗米修斯服务器定期从配置好的工作或者出口商中拉指标,或者接收来自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”抵消关键字需要紧跟在选择器({})后面”普罗米修斯基本概念用法记录