下载 在prometheus的官网的download页面,可以找到prometheus的下载二进制包. [root@node00 src]# cd /usr/src/ [root@node00 src]# wget https://github.com/prometheus/prometheus/releases/download/v2.12.0/prometheus-2.12.0.linux-amd64.tar.gz [root@node00 src]# mkdir /usr/local/pr…
前面的系列中, prometheus和alertmanager都是单机部署的,会有单机宕机导致系统不可用情况发生.本文主要介绍下prometheus和alertmanager的高可用方案. 服务的高可靠性架构(基本ha) promehtues是以pull方式进行设计的,因此手机时序资料都是通过prometheus本身主动发起的,而为了保证prometheus服务能够正常运行,只需要创建多个prometheus节点来收集同样的metrics即可. 架构图: 这个架构可以保证服务的高可靠性,但是并不…
prometheus安全 我们这里说的安全主要是基本认证和https2种, 目前这2种安全在prometheus中都没有的, 需要借助第三方软件实现, 这里以nginx为例. 基本认证 配置基本认证 在前面的部署中,我们部署完毕prometheus server 后, 可以通过对应的http://192.168.100.10:9090就可以访问到我们的 表达式浏览器, 进行promql的查询了. 这是很不安全, 必要情况下,我们需要加入基本认证, 只有认证过的用户才能访问页面,进行数据的查询.…
由于网络问题或者安全问题,可能我们的数据无法直接暴露出一个entrypoint 给prometheus采集. 这个时候可能就需要一个pushgateway来作为中间者完成中转工作.  prometheus还是采用pull方式来采集pushgateway的数据,我们的采集端通过push方式把数据push给pushgateway,来完成数据的上报. pushgateway的安装 [root@node01 src]# wget https://github.com/prometheus/pushgat…
在Prometheus的报警系统中,是分为2个部分的, 规则是配置是在prometheus中的, prometheus组件完成报警推送给alertmanager的, alertmanager然后管理这些报警信息,包括静默.抑制.聚合和通过电子邮件.on-call通知系统和聊天平台等方法发送通知. 主要步骤如下 安装和部署alertmanager 在prometheus中配置alertmanager的地址信息. 在prometheus中设置报警规则 在alertmanager配置接受者信息等 安装…
在prometheus监控系统,prometheus的职责是采集,查询和存储和推送报警到alertmanager.本文主要介绍下prometheus的配置文件. 全局配置文件简介 默认配置文件 [root@node00 prometheus]# cat prometheus.yml.default # my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Defau…
exporter详解 前面的系列中,我们在主机上面安装了node_exporter程序,该程序对外暴露一个用于获取当前监控样本数据的http的访问地址, 这个的一个程序成为exporter,Exporter的实例称为一个target, prometheus通过轮训的方式定时从这些target中获取监控数据. exporter是什么 广义上向prometheus提供监控数据的程序都可以成为一个exporter的,一个exporter的实例称为target, exporter来源主要2个方面,一个是…
在前面的文章已经写了官方的几个exporter的使用了. 在实际使用环境中,我们可能需要收集一些自定义的数据, 这个时候我们一般是需要自己编写采集器的. 快速入门编写一个入门的demo 编写代码 from prometheus_client import Counter, Gauge, Summary, Histogram, start_http_server # need install prometheus_client if __name__ == '__main__': c = Coun…
prometheus监控系统的的报警规则是在prometheus这个组件完成配置的. prometheus支持2种类型的规则,记录规则和报警规则, 记录规则主要是为了简写报警规则和提高规则复用的, 报警规则才是真正去判定是否需要报警的规则. 报警规则中是可以使用记录规则的. 提供下我整理的node-exporter的记录规则和报警规则. node-exporter-record-rules.yml groups: - name: node-exporter-record rules: - exp…
alertmanager配置文件说明 alertmanager是通过命令行标记和配置文件配置的,命令行标记配置不可变的系统参数,配置文件定义抑制规则.通知路由和通知接收器.可以通过官方提供的routing tree editor 查看配置的路由树详细信息. 默认配置文件如下 [root@node00 ~]# cd /usr/local/prometheus/alertmanager/ [root@node00 alertmanager]# cat alertmanager.yml.default…
在prometheus中,我们可以使用web页面进行数据的查询和展示, 不过展示效果不太理想,这里使用一款专业的展示平台进行展示. grafana安装 # 下载wget https://dl.grafana.com/oss/release/grafana-6.3.6-1.x86_64.rpm # 安装-.x86_64.rpm # 查看配置文件 [root@node00 ~]# rpm -ql grafana |grep etc /etc/grafana /etc/init.d/grafana-s…
Prometheus promQL查询语言 Prometheus提供了一种名为PromQL (Prometheus查询语言)的函数式查询语言,允许用户实时选择和聚合时间序列数据.表达式的结果既可以显示为图形,也可以在Prometheus的表达式浏览器中作为表格数据查看,或者通过HTTP API由外部系统使用. 准备工作 在进行查询,这里提供下我的配置文件如下 [root@node00 prometheus]# cat prometheus.yml # my global config globa…
relabel_config 重新标记是一个功能强大的工具,可以在目标的标签集被抓取之前重写它,每个采集配置可以配置多个重写标签设置,并按照配置的顺序来应用于每个目标的标签集. 目标重新标签之后,以__开头的标签将从标签集中删除的. 如果使用只需要临时的存储临时标签值的,可以使用_tmp作为前缀标识. relabel的action类型 replace: 对标签和标签值进行替换. keep: 满足特定条件的实例进行采集,其他的不采集. drop: 满足特定条件的实例不采集,其他的采集. hashm…
数据模型 Prometheus 是将所有数据存为时序数据. 每个时序数据是由指标名称和可选的键值对(称之为标签)唯一标识. 度量类型 counter: 单调递增的计数器,如果标识已经服务的请求数量可以使用该类型. Guage: 仪表盘类型, 可以任意上升或者下降的度量类型. Histogram:直方图类型, 可以通过该类型获取分位数,计算分位点数据是在服务端完成的. Summary: 摘要类型,类似于直方图,计算分位点数据是在客户端完成的. job和实例 在prometheus中, 可以抓取的端…
Prometheus简介 prometheus受启发于Google的Brogmon监控系统(相似kubernetes是从Brog系统演变而来), 从2012年开始由google工程师Soundcloud以开源形式进行研发,并且与2015年早起对外发布早期版本. 2016年5月继kubernetes之后成为第二个加入CNCF基金会的项目,童年6月正式发布1.0版本.2017年底发布基于全兴存储层的2.0版本,能更好地与容器平台.云平台配合. prometheus的优势 prometheus是基于一…
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改,并且对程序接口做了一些调整,以及对一些问题进行了解答. 1.调整后的结构图: 2.连接数据库文件配置分离: 一般的程序都会把连接数据库的配置单独放在.properties 文件中,然后在XML文件中引用,示例如下: config.properties: driver=oracle.jdbc.Orac…
Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/471332.html…
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_007_scrapy01.html scrapy爬虫学习系列二:scrapy简单爬虫样例学习: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_007_scrapy02.html scrapy爬虫学习系列三:scrapy部署到scrapyh…
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.html DocX开源WORD操作组件的学习系列二 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_csharp_005_docx2.html DocX开源WORD操作组件的学习系列三: http://www.cnblogs.com/zhaojiedi…
[转]ASP.NET MVC学习系列(二)-WebAPI请求 传参 本文转自:http://www.cnblogs.com/babycool/p/3922738.html ASP.NET MVC学习系列(二)-WebAPI请求   继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页…
RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列 http://www.80iter.com/blog/1437455520862503 上一篇已经讲了Rabbitmq如何在Windows平台安装,不懂请移步:RabbitMQ学习系列一:windows下安装RabbitMQ服务 一.理论: .net环境下,C#代码调用RabbitMQ消息队列,本文用easynetq开源的.net Rabbitmq api来实现. EasyNetQ 是一个易于使用的Rabbi…
原文:.net reactor 学习系列(二)---.net reactor界面各功能说明         安装了.net reactor之后,可以在安装目录下找到帮助文档REACTOR_HELP.chm,目前没有中文版本,里面详细介绍了.net reactor的各功能及使用场景.本系列文章是基于此帮助文档来写的. .net reactor主要有三大面板: 菜单面板: - 文件 就是普通的创建操作环境,打开操作环境,加载程序集等操作 - 运行 保护程序集 - 对当前选中的程序集执行保护操作 创建…
项目链接:https://aistudio.baidu.com/aistudio/projectdetail/4990947?contributionType=1 欢迎fork欢迎三连!文章篇幅有限,部分程序出图不一一展示,详情进入项目链接即可 图机器学习(GML)&图神经网络(GNN)原理和代码实现(PGL)[前置学习系列二] 上一个项目对图相关基础知识进行了详细讲述,下面进图GML networkx :NetworkX 是一个 Python 包,用于创建.操作和研究复杂网络的结构.动力学和功…
前言 本文来自Prometheus官网手册 和 Prometheus简介 说明 Prometheus是一个监控平台,通过在监控目标上的HTTP端点来收集受监控目标的指标.本指南将向您展示如何使用Prometheus安装,配置和监控我们的第一个资源. 您将下载,安装并运行Prometheus.您还将下载并安装exporter,这些工具可在主机和服务上公开时间序列数据.我们的第一个exporter将是Prometheus本身,它提供了有关内存使用,垃圾收集等的各种主机级指标. 下载 Promethe…
前言 本文来自Prometheus官网手册1.2.3 和 Prometheus简介1.2.3 PromQL操作符 一.二元操作符 Prometheus的查询语言支持基本的逻辑运算和算术运算.对于两个瞬时向量, 匹配行为可以被改变. 1.1 算术二元运算符 在Prometheus支持下面的二元算术操作符: + 加法 - 减法 * 乘法 / 除法 % 模 ^ 幂等 二元运算操作符定义在scalar/scalar(标量/标量).vector/scalar(向量/标量).和vector/vector(向…
前言 本文来自Prometheus官网手册和 Prometheus简介 Prothetheus查询 Prometheus提供一个函数式的表达式语言PromQL (Prometheus Query Language),可以使用户实时地查找和聚合时间序列数据.表达式计算结果可以在图表中展示,也可以在表达式浏览器中以表格形式展示,或者作为数据源, 以HTTP API的方式提供给外部系统使用. 一.例子 本文档仅供参考, 对于学习,从几个例子开始可能更容易. 二.表达式语言数据类型 在Prometheu…
前言 本文来自Prometheus官网手册 和 Prometheus简介 FEDERATION 允许Prometheus服务器从另一台Prometheus服务器抓取选定的时间序列. 一,用例 联盟有不同的用例.通常,它用于实现可扩展的Prometheus监控设置或将相关指标从一个服务的Prometheus拉到另一个服务. 1.1 分层联盟 分层联盟使Prometheus可以扩展到具有数十个数据中心和数百万个节点的环境.在此用例中,联合拓扑就像一棵树,更高级别的Prometheus服务器从大量从属…
前言 本文来自Prometheus官网手册 和 Prometheus简介 存储 Prometheus是一个本地磁盘时间序列数据库,但也可选择与远程存储系统集成,其本地时间序列数据库以自定义格式在磁盘上存储时间序列数据. 1.1 磁盘布局 采集的样本按每两个小时的时间段保存到一个目录,该目录包含一个或多个块文件,该文件包含该时间窗口的所有时间序列样本,以及元数据文件和索引文件(用于将度量名称和标签索引到块文件中的时间序列).通过API删除系列时,删除记录存储在单独的逻辑删除文件中(而不是立即从块文…
前言 本文来自Prometheus官网手册 和 Prometheus简介 HTTP API 在Prometheus服务器上的/api/v1下可以访问当前稳定的HTTP API. 将在该端点下添加任何非中断添加项. 一.格式概述 API返回是JSON格式,每个请求成功的返回值都是以2xx开头的编码.如果API处理的是无效请求,返回一个JSON错误对象,并返回下面的错误码: 400 Bad Request.当参数错误或者丢失时. 422 Unprocessable Entity.当一个表达式不能被执…
前言 本文来自Prometheus官网手册1.2.3.4和 Prometheus简介1.2.3.4 记录规则 一.配置规则 Prometheus支持两种类型的规则,这些规则可以定期配置,然后定期评估:记录规则和警报规则. 要在Prometheus中包含规则,请创建包含必要规则语句的文件,并让Prometheus通过Prometheus配置中的rule_files字段加载文件, 规则文件使用YAML. 通过将SIGHUP发送到Prometheus进程,可以在运行时重新加载规则文件. 仅当所有规则文…