时间序列Prometheus Server本身是一个时序数据库,将采集到的所有数据以 时间序列(time-series) 的方式保存在内存数据库,定时将数据从内存持久化到硬盘。 time-series 按照 时间戳和值的序列顺序存放,我们称之为向量(vector) 在time-series中的每一个点称为一个样本(sample),每条time-series 由三部分构成: 指标(metric): metric nam

Read More...


写在前面指标名称(metrics name) 和 一组标签(labelset) 唯一的标识一条时间序列。 metrics name 反映了样本的基本信息,而 label 则提供了多种特征维度。 PromQL 是Prometheus 内置的查询语言,提供 查询,聚合,逻辑运算 的支持。可以用在 数据查询,可视化,报警当中。 所有的PromQL表达式都必须至少包含一个指标名称(例如http_request_total),或者

Read More...


写在前面Prometheus 的告警机制被分为两部分: 告警规则 包含告警名称和告警规则, 一条规则的实际意义就是P-server周期性的对告警规则(PromQL)进行计算,当满足条件时触发报警, 发送警告信息到告警管理中心(AlertManager), 可以通过Group的概念统一定义一组告警规则 告警管理中心 AlertManager, 负责接收告警信息,并可以做进一步的处理,如 分组能力,

Read More...


写在前面Prometheus 自带的Graph面板支持查询形成图表,但是这些查询结果都是临时的,无法持久化的。 Prometheus内置了一个简单的解决方案Console Template,它允许用户通过Go模板语言创建任意的控制台界面,并且通过Prometheus Server对外提供访问路径。 Console Template 满足了一定的可视化需求,但是支持的可视化类型有限。 这里我们推荐一种更加完善和强大的通用可视化工

Read More...


写在前面云 时代的一个特点就是,用户可以按需使用资源,动态的安排资源,比如在AWS中就提供了专门的AutoScall服务,可以根据用户定义的规则动态地创建或者销毁EC2实例,从而使用户部署在AWS上的应用可以自动的适应访问规模的变化。 对于监控系统来说,动态的资源变化就意味着没有了固定的监控目标。对于Prometheus这一类基于Pull模式的监控系统,显然也无法继续使用的static_configs的方式静态的定义监控目标。而对于Pr

Read More...


写在前面可以向Prometheus 提供监控样本数据的程序都可以被称为一个Exporter, 一个Exporter的实例被称为Targer。 Prometheues 会以轮询的方式从target 中获取数据,并保存在数据库中。 Prometheus 官方提供了多种Exporter, 如数据库(MySQL Redis MongoDB等), 硬件(cpu node iot等)等等, 除此之外,Promethues 提供了Client Lib

Read More...


写在前面普罗米修斯建立于2012年, 由SoundCloud公司开发,是一套开源的数据监控解决方案,包含 时间序列数据库 采集 预警等几块内容,可以直观方便的帮助运维,开发或者产品同学了解整个系统的运行情况,比如系统服务器的cpu,负载,某个指标的运行异常等等。 架构组件设计 Prometheus Server核心组件。Prometheus Server 的功能包括 监控数据的获取, 存储, 以及查询。 Ser

Read More...


本地存储存储格式和规范Prometheus 2.x 采用自定义的存储格式将样本数据保存在本地磁盘当中。 按照两个小时为一个时间窗口,将两小时内产生的数据存储在一个块(Block)中,每一个块中包含该时间窗口内的所有样本数据(chunks),元数据文件(meta.json)以及索引文件(index) 12345678910t0 t1 t2 now ┌──

Read More...


写在前面其实图床和图床工具有很多,比如七牛云, postimg, SM.MS 等,这些三方的资源各有各的优势,也各有各的局限,考虑之后决定还是用 github 来搭建自己的图床。 当然不是为了刷github的流量,一是考虑到自己对图片总量的需求量不是很大,三是部分图片需要上传无损无压缩的原图,三来自定义的一些静态资源也可以通过github来引入(配置jsDelivr 加速)。当然,最主要的原因,还是想折腾一下。 一. 创

Read More...


背景给博客添加了阅读漫画的功能,但是不想让首页显示漫画,而且希望第一篇博客能够置顶。查询资料后最终决定采用下面的方式。 1. 替换插件安装hexo-generator-index2 npm install hexo-generator-index2 –savenpm uninstall hexo-generator-index –save 2. 配置打开博客根目录_config.yml, 添加: 12345678910index2_

Read More...


每一个不曾起舞的日子都是对生命的辜负。