在Prometheus的报警系统中,是分为2个部分的, 规则是配置是在prometheus中的, prometheus组件完成报警推送给alertmanager的, alertmanager然后管理这些报警信息,包括静默.抑制.聚合和通过电子邮件.on-call通知系统和聊天平台等方法发送通知. 主要步骤如下 安装和部署alertmanager 在prometheus中配置alertmanager的地址信息. 在prometheus中设置报警规则 在alertmanager配置接受者信息等 安装…
前面的系列中, prometheus和alertmanager都是单机部署的,会有单机宕机导致系统不可用情况发生.本文主要介绍下prometheus和alertmanager的高可用方案. 服务的高可靠性架构(基本ha) promehtues是以pull方式进行设计的,因此手机时序资料都是通过prometheus本身主动发起的,而为了保证prometheus服务能够正常运行,只需要创建多个prometheus节点来收集同样的metrics即可. 架构图: 这个架构可以保证服务的高可靠性,但是并不…
由于网络问题或者安全问题,可能我们的数据无法直接暴露出一个entrypoint 给prometheus采集. 这个时候可能就需要一个pushgateway来作为中间者完成中转工作.  prometheus还是采用pull方式来采集pushgateway的数据,我们的采集端通过push方式把数据push给pushgateway,来完成数据的上报. pushgateway的安装 [root@node01 src]# wget https://github.com/prometheus/pushgat…
在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…
prometheus安全 我们这里说的安全主要是基本认证和https2种, 目前这2种安全在prometheus中都没有的, 需要借助第三方软件实现, 这里以nginx为例. 基本认证 配置基本认证 在前面的部署中,我们部署完毕prometheus server 后, 可以通过对应的http://192.168.100.10:9090就可以访问到我们的 表达式浏览器, 进行promql的查询了. 这是很不安全, 必要情况下,我们需要加入基本认证, 只有认证过的用户才能访问页面,进行数据的查询.…
exporter详解 前面的系列中,我们在主机上面安装了node_exporter程序,该程序对外暴露一个用于获取当前监控样本数据的http的访问地址, 这个的一个程序成为exporter,Exporter的实例称为一个target, prometheus通过轮训的方式定时从这些target中获取监控数据. exporter是什么 广义上向prometheus提供监控数据的程序都可以成为一个exporter的,一个exporter的实例称为target, exporter来源主要2个方面,一个是…
relabel_config 重新标记是一个功能强大的工具,可以在目标的标签集被抓取之前重写它,每个采集配置可以配置多个重写标签设置,并按照配置的顺序来应用于每个目标的标签集. 目标重新标签之后,以__开头的标签将从标签集中删除的. 如果使用只需要临时的存储临时标签值的,可以使用_tmp作为前缀标识. relabel的action类型 replace: 对标签和标签值进行替换. keep: 满足特定条件的实例进行采集,其他的不采集. drop: 满足特定条件的实例不采集,其他的采集. hashm…
Prometheus简介 prometheus受启发于Google的Brogmon监控系统(相似kubernetes是从Brog系统演变而来), 从2012年开始由google工程师Soundcloud以开源形式进行研发,并且与2015年早起对外发布早期版本. 2016年5月继kubernetes之后成为第二个加入CNCF基金会的项目,童年6月正式发布1.0版本.2017年底发布基于全兴存储层的2.0版本,能更好地与容器平台.云平台配合. prometheus的优势 prometheus是基于一…
下载 在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…
在前面的文章已经写了官方的几个exporter的使用了. 在实际使用环境中,我们可能需要收集一些自定义的数据, 这个时候我们一般是需要自己编写采集器的. 快速入门编写一个入门的demo 编写代码 from prometheus_client import Counter, Gauge, Summary, Histogram, start_http_server # need install prometheus_client if __name__ == '__main__': c = Coun…