Prometheus
飞雪K
菜鸟
展开
-
Prometheus学习系列(三十九)之报警模板例子
以下是警报和相应的Alertmanager配置文件设置(alertmanager.yml)的所有不同示例。 每个都使用Go模板系统。一、自定义Slack通知在这个例子中,我们定制了Slack通知,以便向我们组织的wiki发送一个URL,告知如何处理已发送的特定警报。global: slack_api_url: '<slack_webhook_url>'route: r...原创 2019-07-05 09:40:53 · 1261 阅读 · 0 评论 -
Prometheus学习系列(二十九)之可视化-控制台模板
语言模板创建任意的console。这些由Prometheus服务提供。控制台模板是创建可在源代码管理中轻松管理的模板的最强大方法。 虽然有一个学习曲线,所以对这种监控方式不熟悉的用户应首先尝试Grafana。一、Getting startedPrometheus附带一套示例,让您学习。 这些可以在运行的Prometheus上的/consoles/index.html.example中找到,如...原创 2019-06-15 16:10:19 · 1130 阅读 · 0 评论 -
Prometheus学习系列(二十八)之可视化-浏览器表达式
表达式浏览器在Prometheus服务器上的/graph处可用,允许您输入任何表达式并在表格中查看其结果或随时间变化。这主要用于即席查询和调试。 对于图形,请使用Grafana或控制台模板。链接:Prometheus官网地址:https://prometheus.io/我的Github:https://github.com/Alrights/prometheus...原创 2019-06-15 16:05:24 · 623 阅读 · 0 评论 -
Prometheus学习系列(二十七)之API稳定性
Prometheus承诺在主要版本中保持API稳定性,并努力避免破坏关键功能的变化。一些功能,即化妆品,仍在开发中,或依赖于第三方服务,不在此范围内。对于2.x而言被认为是稳定的:查询语言和数据模型警报和录制规则摄取博览会格式v1 HTTP API(由仪表板和UI使用)配置文件格式(减去服务发现远程读/写,见下文)规则/警报文件格式控制台模板语法和语义被认为对2.x不稳定的事...原创 2019-06-10 08:54:23 · 503 阅读 · 0 评论 -
Prometheus学习系列(二十六)之集成
根据我们的稳定承诺,Prometheus 2.0版本包含许多向后不兼容的更改。 本文档提供了从Prometheus 1.8迁移到Prometheus 2.0的指导。一、标志Prometheus命令行标志的格式已更改。现在所有标志都使用双破折号而不是单个破折号。公共标志(--config.file, --web.listen-address和--web.external-url)仍然相同,但除此...原创 2019-06-10 08:51:38 · 657 阅读 · 0 评论 -
Prometheus学习系列(二十五)之联邦
联合允许Prometheus服务器从另一个Prometheus服务器中截取选定的时间序列。一、用例联邦有不同的用例。 通常,它用于实现可扩展的Prometheus监控设置或将相关指标从一个服务的Prometheus拉到另一个服务。1.1 分层联合分层联合允许Prometheus扩展到具有数十个数据中心和数百万个节点的环境。 在此用例中,联合拓扑类似于树,较高级别的Prometheus服务器...原创 2019-06-10 08:48:35 · 1366 阅读 · 2 评论 -
Prometheus学习系列(二十四)之存储
Prometheus包括一个本地磁盘时间序列数据库,但也可选择与远程存储系统集成。一、本地存储Prometheus的本地时间序列数据库以自定义格式在磁盘上存储时间序列数据。1.1 磁盘布局摄取的样本分为两小时的块。每个两小时的块包含一个目录,其中包含一个或多个块文件,其中包含该时间窗口的所有时间序列样本,以及元数据文件和索引文件(将度量标准名称和标签索引到块文件中的时间序列) )。通过AP...原创 2019-06-10 08:45:19 · 3238 阅读 · 0 评论 -
Prometheus学习系列(二十三)之PromQL HTTP API
在Prometheus服务器上的/api/v1下可以访问当前稳定的HTTP API。 将在该端点下添加任何非中断添加项。一、格式概述这个API返回是JSON格式。每个请求成功的返回值都是以2xx开头的编码。到达API处理的无效请求,返回一个JSON错误对象,并返回下面的错误码:400 Bad Request。当参数错误或者丢失时。422 Unprocessable Entity。当一个...翻译 2019-06-02 10:48:36 · 2034 阅读 · 0 评论 -
Prometheus学习系列(二十二)之PromQL例子
一、简单的时间序列选择使用度量标准http_requests_total返回所有时间序列:http_requests_total使用度量标准http_requests_total以及给定的job和handler标签返回所有时间系列:http_requests_total{job=“apiserver”, handler="/api/comments"}返回相同向量的整个时间范围(...翻译 2019-06-02 10:40:24 · 1195 阅读 · 0 评论 -
Prometheus学习系列(三十)之可视化-Granafa
Grafana支持查询Prometheus。从Grafana 2.5.0 (2015-10-28)开始Prometheus可以作为它的数据源。以下显示了一个示例Grafana仪表板,它向Prometheus查询数据:一、Grafana安装Grafana的完整安装教程,详见Grafana官方文档二、使用方法默认情况下,Grafana将监听http://localhost:3000。默认登...原创 2019-06-15 16:13:52 · 1188 阅读 · 0 评论 -
Prometheus学习系列(三十一)之客户端库
客户端库向其代码添加检测。 这些实现了Prometheus度量标准类型。选择与您的应用程序编写语言相匹配的Prometheus客户端库。 这允许您通过应用程序实例上的HTTP端点定义和公开内部指标:GoJava or ScalaPythonRuby非正式的第三方客户端库BashC++Common LispElixirErlangHaskellLua for Ngin...原创 2019-06-23 14:00:39 · 995 阅读 · 0 评论 -
Prometheus学习系列(四十)之报警模板参考
Prometheus创建并向Alertmanager发送警报,然后Alertmanager根据标签向不同的接收者发送通知。 接收器可以是众多集成中的一种,包括:Slack,PagerDuty,电子邮件或通过通用webhook接口的自定义集成。发送给接收者的通知是通过模板构建的。 Alertmanager附带默认模板,但也可以自定义。 为避免混淆,请务必注意Alertmanager模板与Prome...原创 2019-07-05 09:38:47 · 2191 阅读 · 0 评论 -
Prometheus学习系列(三十八)之报警配置
Alertmanager通过命令行标志和配置文件进行配置。 虽然命令行标志配置了不可变的系统参数,但配置文件定义了禁止规则,通知路由和通知接收器。可视化编辑器可以帮助构建路由树。要查看所有可用的命令行标志,请运行alertmanager -h。Alertmanager可以在运行时重新加载其配置。 如果新配置格式不正确,则不会应用更改并记录错误。 通过向进程发送SIGHUP或向/-/reloa...原创 2019-07-05 09:34:34 · 1669 阅读 · 0 评论 -
Prometheus学习系列(三十七)之报警客户端
免责声明:Prometheus会自动处理由其配置的警报规则生成的警报。 强烈建议根据时间序列数据在Prometheus中配置警报规则,而不是实现直接客户端。Alertmanager在/api/v1/alerts上侦听API端点上的警报。 只要客户仍处于活动状态(通常为30秒至3分钟),客户就会不断重新发送警报。 客户端可以通过以下格式的POST请求将警报列表推送到该端点:[ { "...原创 2019-07-05 09:30:22 · 438 阅读 · 0 评论 -
Prometheus学习系列(三十六)之报警管理器
Alertmanager处理客户端应用程序(如Prometheus服务器)发送的警报。 它负责对它们进行重复数据删除,分组和路由,以及正确的接收器集成,例如电子邮件,PagerDuty或OpsGenie。 它还负责警报的静音和抑制。以下描述了Alertmanager实现的核心概念。 请参阅配置文档以了解如何更详细地使用它们。一、分组分组将类似性质的警报分类为单个通知。 在许多系统一次性失败并...原创 2019-07-05 09:27:25 · 395 阅读 · 0 评论 -
Promethus学习系列(三十五)之报警简介
使用普罗米修斯进行警报分为两部分。 Prometheus服务器中的警报规则会向Alertmanager发送警报。 然后,Alertmanager管理这些警报,包括静音,禁止,聚合以及通过电子邮件,PagerDuty和HipChat等方法发送通知。设置警报和通知的主要步骤如下:设置并配置Alertmanager配置Prometheus与Alertmanager交谈在Prometheus中创...原创 2019-07-05 09:20:31 · 648 阅读 · 0 评论 -
Prometheus学习系列(三十四)exporters和集成
有许多库和服务器可帮助从第三方系统导出现有指标作为Prometheus指标。 这对于无法直接使用Prometheus指标(例如,HAProxy或Linux系统统计信息)检测给定系统的情况非常有用。一、第三方导出器其中一些出口商作为普罗米修斯GitHub官方组织的一部分进行维护,这些出口商被标记为官方,其他出口商则由外部提供和维护。我们鼓励创建更多出口商,但不能审查所有出口商的最佳做法。 通常...原创 2019-06-23 14:10:03 · 1882 阅读 · 0 评论 -
Prometheus学习系列(三十三)之push指标
Pushgateway](https://github.com/prometheus/pushgateway)允许您将时间序列从短期服务级批处理作业推送到Prometheus可以抓取的中间作业。 结合Prometheus简单的基于文本的展示格式,这使得即使没有客户端库的shell脚本也很容易。有关使用Pushgateway和从Unix shell使用的更多信息,请参阅项目的README.md。...原创 2019-06-23 14:06:22 · 1124 阅读 · 0 评论 -
Prometheus学习系列(三十二)之编写客户端库
本文档介绍了Prometheus客户端库应提供的功能和API,旨在实现库之间的一致性,简化易用用例,避免提供可能导致用户走错路的功能。在撰写本文时已经支持了10种语言,因此我们现在已经很好地理解了如何编写客户端。 这些指南旨在帮助新客户端库的作者生成良好的库。一、Conventions约定MUST/MUST NOT/SHOULD/SHOULD NOT/MAY具有给出的含义在https://w...原创 2019-06-23 14:03:30 · 1428 阅读 · 2 评论 -
Prometheus学习系列(二十一)PromQL函数
一些函数有默认的参数,例如:year(v=vector(time()) instant-vector)。他的意思是有一个参数v是一个瞬时向量,如果没有提供,它将默认为表达式vector(time())的值。一、abs()abs(v instant-vector)返回输入向量,所有样本值都转换为其绝对值。二、absent()absent(v instant-vector)如果传递给它的向量具...翻译 2019-06-02 10:37:37 · 2909 阅读 · 0 评论 -
Prometheus学习系列(二十)之PromQL操作符
一、二元操作符Prometheus的查询语言支持基本的逻辑运算和算术运算。对于两个瞬时向量, 匹配行为可以被改变。1.1 算术二元运算符在Prometheus系统中支持下面的二元算术操作符:+ 加法- 减法* 乘法/ 除法% 模^ 幂等二元运算操作符定义在scalar/scalar(标量/标量)、vector/scalar(向量/标量)、和vector/vector(向量/...翻译 2019-06-02 10:35:10 · 1700 阅读 · 0 评论 -
Prometheus学习系列(十九)之PromQL基础
Prometheus提供一个函数式的表达式语言PromQL (Prometheus Query Language),可以使用户实时地查找和聚合时间序列数据。表达式计算结果可以在图表中展示,也可以在Prometheus表达式浏览器中以表格形式展示,或者作为数据源, 以HTTP API的方式提供给外部系统使用。一、例子本文档仅供参考。 对于学习,从几个例子开始可能更容易。二、表达式语言数据类型...翻译 2019-06-02 10:30:31 · 1041 阅读 · 0 评论 -
Prometheus学习系列(十一)之Hello World
这里写自定义目录标题下载和运行Prometheus配置Prometheus监控自身启动Prometheus使用expression browser使用graph interface启动其他一些采样目标配置Prometheus去监控这三个目标服务为抓取的数据聚合配置规则链接本教程是类似"hello,world"的教程,展示怎样在一个简单地例子中安装、配置和使用Prometheus。你将下载和本地化...翻译 2019-05-26 09:03:55 · 435 阅读 · 0 评论 -
Promtheus实战系列(一)之环境部署与搭建
一、部署prometheus,grafana和node_exporterPrometheus开始教程:https://blog.csdn.net/Coffin_monkey/article/details/904046391.1 环境(centos7)[root@localhost prometheus]# uname -aLinux localhost.localdomain 3.10....原创 2019-05-22 09:58:15 · 1099 阅读 · 0 评论 -
Prometheus学习系列(七)之名词解析
一、(Alert)警告警告是Prometheus服务正在激活警报规则的结果。警报从Prometheus服务发送到警告管理器。二、(Alertmanager)警告管理器警告管理器接收警告,并把它们聚合成组、去重复数据、应用静默和节流,然后发送通知到邮件、Pageduty或者Slack等系统中。三、(Bridge)网桥网桥是一个从客户端库提取样本,然后将其暴露给非Prometheus监控系统...翻译 2019-05-21 13:00:29 · 432 阅读 · 0 评论 -
Prometheus学习系列(六)之学习媒介
有一个subreddit收集互联网上所有与Prometheus斯相关的资源。以下选择的资源对于Prometheus入门特别有用。一、博客官方博客SoundCloud的博客帖子宣称-比上面的博客更加详尽地描述Prometheus在Robust Perception的博客上有很多与Prometheus相关的资源二、教程Prometheus工作室的介绍和用例在Ubuntu 14.0...翻译 2019-05-21 12:58:03 · 366 阅读 · 0 评论 -
Prometheus学习系列(五)之路线图
下面的一些功能使我们即将要做的事情。如果你想查看整个计划和当前工作的完整概述,请查看github上Prometheus项目的issue,如:Prometheus server一、服务器端指标元数据支持此时,度量标准类型和其他元数据仅在客户端库和展示中使用,但不会在Prometheus服务器中保留或使用。 我们计划将来使用这个元数据。第一步是在Prometheus中将这些数据聚合在内存中,并通过...翻译 2019-05-21 12:55:46 · 496 阅读 · 0 评论 -
Prometheus学习系列(四)之FAQ
一、一般问题1. Prometheus是什么?Prometheus是一款高活跃生态系统的开源系统监控和警告工具包。详见概览2. Prometheus与其他的监控系统比较详见比较3. Prometheus有什么依赖?Prometheus服务独立运行,没有其他依赖4. Prometheus有高可用的保证吗?是的,在多台服务器上运行相同的Prometheus服务,相同的报警...翻译 2019-05-21 12:51:05 · 484 阅读 · 0 评论 -
Prometheus学习系列(三)之监控对比
一、Prometheus vs. Graphite1.1 范围Graphite专注于查询语言和图表特征的时间序列数据库。其他都需要依赖外部组件实现。Prometheus是一个基于时间序列数据的完整监控系统和趋势系统,包括内置和主动抓取、存储、查询、图表展示和报警功能。它懂得监控系统和趋势系统应该是什么样的(哪些目标机应该存在,哪些时间序列模型存在问题等等),并积极地试着找出故障。1.2 数...翻译 2019-05-21 12:44:15 · 1171 阅读 · 0 评论 -
Prometheus学习系列(二)之Prometheus first steps
欢迎来到Prometheus!Prometheus是一个监控平台,通过在监控目标目标上的HTTP端点来收集受监控目标的指标。本指南将向您展示如何使用Prometheus安装,配置和监控我们的第一个资源。 您将下载,安装并运行Prometheus。您还将下载并安装exporter,这些工具可在主机和服务上公开时间序列数据。我们的第一个exporter将是Prometheus本身,它提供了有关内存使用...翻译 2019-05-21 12:33:12 · 682 阅读 · 0 评论 -
Prometheus学习系列(十二)之安装
一、使用预编译二进制文件我们为Prometheus大多数的官方组件,提供了预编译二进制文件。可用版本下载列表二、源码安装如果要从源码安装Prometheus的官方组件,可以查看各个项目源码目录下的Makefile三、Docker安装所有Prometheus服务的Docker镜像在官方组织Quay.io或者Docker Hub下,都是可用的。在Docker上运行Prometheus服务,...翻译 2019-05-26 09:07:50 · 345 阅读 · 0 评论 -
Prometheus学习系列(十三)之配置解析
Prometheus通过命令行标志和配置文件进行配置。 虽然命令行标志配置了不可变的系统参数(例如存储位置,保留在磁盘和内存中的数据量等),但配置文件定义了与抓取作业及其实例相关的所有内容,以及哪些规则文件 载入。要查看所有可用的命令行参数,执行./prometheus -hPrometheus可以在运行时重新加载其配置。 如果新配置格式不正确,则不会应用更改。 通过向Prometheus进程...翻译 2019-05-26 09:14:01 · 2354 阅读 · 0 评论 -
Prometheus学习系列(十)之任务与实例
就Prometheus而言,pull拉取采样点的端点服务称之为instance,通常对应一个过程(实例)。具有相同目的的instance,例如,为可伸缩性或可靠性而复制的流程称为作业。, 则构成了一个job例如, 一个被称作api-server的任务有四个相同的实例。job: api-serverinstance 1:1.2.3.4:5670instance 2:1.2.3.4:567...翻译 2019-05-23 09:39:02 · 739 阅读 · 0 评论 -
Prometheus学习系列(九)之度量指标类型
Prometheus客户端库提供了四个核心的metrics类型。这四种类型目前仅在客户端库和wire协议中区分。Prometheus服务还没有充分利用这些类型。不久的将来就会发生改变。Counter(计数器)counter 是表示单个单调递增计数器的累积度量,其值只能在重启时增加或重置为零。 例如,您可以使用计数器来表示所服务的请求数,已完成的任务或错误。不要使用计数器来暴露可能减少的值。例...翻译 2019-05-23 09:37:06 · 904 阅读 · 0 评论 -
Prometheus学习系列(八)之数据模型
Prometheus从根本上存储的所有数据都是时间序列: 具有时间戳的数据流只属于单个度量指标和该度量指标下的多个标签维度。除了存储时间序列数据外,Prometheus还可以生成临时派生的时间序列作为查询的结果。metrics和labels(度量指标名称和标签)每一个时间序列数据由metric度量指标名称和它的标签labels键值对集合唯一确定。这个metric度量指标名称指定监控目标系统的...翻译 2019-05-23 09:33:52 · 619 阅读 · 0 评论 -
Prometheus学习系列(十八)之单元测试规则
您可以使用promtool来测试您的规则。# 单个测试文件./promtool test rules test.yml# 多个测试文件./promtool test rules test1.yml test2.yml test3.yml一、测试文件格式# 这是要考虑进行测试的规则文件列表。rule_files: [ - <file_name> ]# 可选的, ...翻译 2019-05-27 09:18:32 · 679 阅读 · 0 评论 -
Prometheus学习系列(十七)之模板参考
Prometheus支持在警报的注释和标签以及服务的控制台页面中进行模板化。 模板能够针对本地数据库运行查询,迭代数据,使用条件,格式化数据等.Prometheus模板语言基于Go模板系统。一、数据结构题处理时间序列数据的主要数据结构是样本,定义如下:type sample struct { Labels map[string]string Value fl...翻译 2019-05-27 09:16:04 · 966 阅读 · 0 评论 -
Prometheus学习系列(十六)之模板例子
Prometheus支持在警报的注释和标签以及服务的控制台页面中进行模板化。 模板能够针对本地数据库运行查询,迭代数据,使用条件,格式化数据等.Prometheus模板语言基于Go模板系统。一、简单的警报字段模板alert: InstanceDownexpr: up == 0for: 5mlabels: severity: pageannotations: summary: "...翻译 2019-05-27 09:13:40 · 504 阅读 · 0 评论 -
Prometheus学习系列(十五)之预警规则
警报规则允许您基于Prometheus表达式语言表达式定义警报条件,并将有关触发警报的通知发送到外部服务。 每当警报表达式在给定时间点生成一个或多个向量元素时,警报将计为这些元素的标签集的活动状态。一、定义报警规则警报规则在Prometheus中以与记录规则相同的方式配置。带警报的示例规则文件将是:groups:- name: example rules: - alert: Hi...翻译 2019-05-27 09:11:58 · 1426 阅读 · 0 评论 -
Prometheus学习系列(十四)之录制规则
一、配置规则Prometheus支持两种类型的规则,这些规则可以定期配置,然后定期评估:记录规则和警报规则。 要在Prometheus中包含规则,请创建包含必要规则语句的文件,并让Prometheus通过Prometheus配置中的rule_files字段加载文件。 规则文件使用YAML。通过将SIGHUP发送到Prometheus进程,可以在运行时重新加载规则文件。 仅当所有规则文件格式正确...翻译 2019-05-26 09:18:11 · 604 阅读 · 0 评论