Prometheus学习系列(二)之Prometheus first steps

Johnny21 等级 370 0 0

欢迎来到Prometheus!Prometheus是一个监控平台,通过在监控目标上的HTTP端点来收集受监控目标的指标。本指南将向您展示如何使用Prometheus安装,配置和监控我们的第一个资源。 您将下载,安装并运行Prometheus。您还将下载并安装exporter,这些工具可在主机和服务上公开时间序列数据。我们的第一个exporter将是Prometheus本身,它提供了有关内存使用,垃圾收集等的各种主机级指标。

下载Prometheus

根据你的平台https://prometheus.io/download/,然后解压它:

tar xvfz prometheus-*.tar.gz
cd prometheus-* 

Prometheus服务器是一个名为prometheus的二进制文件(或Microsoft Windows上的prometheus.exe)。 我们可以通过传递--help标志来运行二进制文件并查看其选项的帮助。

./prometheus --help
usage: prometheus [<flags>]

The Prometheus monitoring server
. . . 

在使用欢迎来到Prometheus之前,让我们配置它。

配置Prometheus

Prometheus配置是YAML。Prometheus下载附带一个名为prometheus.yml的文件中的示例配置,这是一个很好的入门之处。

我们删除了示例文件中的大部分注释,使其更简洁(注释是以#为前缀的行)。

global:
  scrape_interval:     15s
  evaluation_interval: 15s

rule_files:
  # - "first.rules"
  # - "second.rules"

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090'] 

示例配置文件中有三个配置块:global,rule_files和scrape_configs。

全局块控制Prometheus服务器的全局配置。 我们有两种选择。 第一个是scrape_interval,它控制Prometheus抓取目标的频率。 您可以为单个目标重写此值。 在这种例子下,全局设置是每15s抓取一次。 evaluation_interval选项控制Prometheus评估规则的频率。 Prometheus使用规则创建新的时间序列并生成警报。

rule_files块指定我们希望Prometheus服务器加载的任何规则的位置。 现在我们没有规则。

最后一个块scrape_configs控制Prometheus监视的资源。 由于Prometheus还将自己的数据公开为HTTP端点,因此它可以抓取并监控自身的健康状况。 在默认配置中,有一个名为prometheus的作业,它会抓取Prometheus服务器公开的时间序列数据。 该作业包含一个静态配置的目标,即端口9090上的localhost。Prometheus希望指标在/metrics路径上的目标上可用。 所以这个默认的工作是通过URL抓取:http//localhost:9090/metrics

返回的时间序列数据将详细说明Prometheus服务器的状态和性能。

有关配置选项的完整规范,请参阅配置文档

启动Prometheus

要使用我们新创建的配置文件启动Prometheus,请切换到包含Prometheus二进制文件的目录并运行:

./prometheus --config.file=prometheus.yml 

prometheus应该启动。您还应该能够在http//localhost:9090浏览到自己的状态页面。给它大约30秒的时间从自己的HTTP指标端点收集有关自己的数据。

您还可以通过导航到其自己的指标端点来验证Prometheus是否正在提供有关自身的指标:http//localhost:9090/metrics

使用表达式浏览器

让我们试着看一下Prometheus收集的关于自己的一些数据。 要使用Prometheus的内置表达式浏览器,请导航到http//localhost:9090/graph并在“Graph”选项卡中选择“Console”视图。

正如您可以从http//localhost:9090/metrics收集的那样,Prometheus导出的一个度量标准称为promhttp_metric_handler_requests_total(Prometheus服务器已服务的/ metrics请求的总数)。 继续并将其输入表达式控制台:

promhttp_metric_handler_requests_total 

这应该返回许多不同的时间序列(以及为每个记录的最新值),所有时间序列都使用度量标准名称promhttp_metric_handler_requests_total,但具有不同的标签。 这些标签指定不同的请求状态。

如果我们只对导致HTTP代码200的请求感兴趣,我们可以使用此查询来检索该信息:

promhttp_metric_handler_requests_total{code="200"} 

要计算返回的时间序列总数,您可以写:

count(promhttp_metric_handler_requests_total) 

有关表达式语言的更多信息,请参阅表达式语言文档

适用图表接口

要绘制表达式图表,请导航到http//localhost:9090/graph graph并使用“图表”选项卡。

例如,输入以下表达式来绘制在自我抓取的Prometheus中发生的返回状态代码200的每秒HTTP请求率:

rate(promhttp_metric_handler_requests_total{code="200"}[1m]) 

您可以尝试图形范围参数和其他设置。

监控其他目标

仅从Prometheus那里收集指标并不能很好地反映Prometheus的能力。 为了更好地了解Prometheus可以做什么,我们建议您浏览有关其他exporter的文档。 使用node exporter指南监控Linux或macOS主机指标是一个很好的起点。

总结

在本指南中,您安装了Prometheus,配置了Prometheus实例来监视资源,并学习了在Prometheus表达式浏览器中处理时间序列数据的一些基础知识。 要继续了解Prometheus,请查看概述,了解接下来要探索的内容。

链接

Prometheus官网地址:https://prometheus.io/
我的Github:https://github.com/Alrights/prometheus

本文转自 https://www.jianshu.com/p/b5846e16aa12,如有侵权,请联系删除。

收藏
评论区

相关推荐

云原生监控系统 Prometheus 入门
Prometheus 介绍 主要特性 之所以 Prometheus 现在这么受欢迎,主要是因为它具备如下特性: 多维度数据模型 灵活的查询语言 不依赖任何分布式存储 常见方式是通过拉取方式采集数据 也可通过中间网关支持推送方式采集数据 通过服务发现或者静态配置来发现监控目标 支持多
Promethus(普罗米修斯)监控
一、任务背景某某某公司是一家电商网站,由于公司的业务快速发展,公司要求对现有机器进行业务监控,责成运维部门来实施这个项目。 任务要求1)部署监控服务器,实现7x24实时监控2)针对公司的业务及研发部门设计监控系统,对监控项和触发器拿出合理意见3)做好问题预警机制,对可能出现的问题要及时告警并形成严格的处理机制4)做好监控告警系统,要求可以实
Kubernetes Pod 自动扩容 — HPA
Kubernetes 增强了应用服务的横向扩容能力,在应对线上应用服务的资源使用率在高峰和低谷的时候,我们需要能够自动去感知应用的负载变化去调整 Pod 的副本数量,削峰填谷,提高集群的整体资源利用率和应用的服务质量。为此,Kubernetes 1.2 版本中引入 Horizontal Pod Autoscaling (HPA), 它与 kubectl sc
基于Python的nessus API简析
前言最近在开发一个基于Nessus的自动化漏扫工具,来和大家分析一下关于Nessus API的使用心得。 Nessus提供了非常完善的API,可以帮助我们实现很多事情,无论是对接其他运维系统,还是用来编写自动化的漏扫工具都十分方便。 Nessus为这些api提供了详细的文档,你可以在SettingsMy AccountAPI KeysAP
运维安全-信息安全
本文转自 ,如有侵权,请联系删除。
C语言入门系列之6.一维和二维数组
一、数组的概念有如下几组数据: 学生的学习成绩 银行的账单 一行文字这些数据的特点是: 具有相同的数据类型; 使用过程中需要保留原始数据 。 C语言为这类数据,提供了一种构造数据类型——数组。在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组
Promtheus实战系列(一)之环境部署与搭建
一、部署prometheus,grafana和node\_exporterPrometheus开始教程: 1.1 环境(centos7)root@localhost prometheus uname aLinux localhost.localdomain 3.10
Prometheus学习系列(一)之Prometheus简介
前言Prometheus官网的非官方中文手册,翻译截至Prometheus latest(2.9)。什么是prometheus?是一个最初在SoundCloud上构建的开源系统监视和警报工具包。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发者和用户社区。 它现在是一个独立的开源项目,
Prometheus学习系列(二)之Prometheus first steps
欢迎来到Prometheus!Prometheus是一个监控平台,通过在监控目标上的HTTP端点来收集受监控目标的指标。本指南将向您展示如何使用Prometheus安装,配置和监控我们的第一个资源。 您将下载,安装并运行Prometheus。您还将下载并安装exporter,这些工具可在主机和服务上公开时间序列数据。我们的第一个exporter将是Prome
Prometheus学习系列(三)之监控对比
一、Prometheus vs. Graphite 1.1 范围Graphite专注于查询语言和图表特征的时间序列数据库。其他都需要依赖外部组件实现。Prometheus是一个基于时间序列数据的完整监控系统和趋势系统,包括内置和主动抓取、存储、查询、图表展示和报警功能。它懂得监控系统和趋势系统应该是什么
Prometheus学习系列(四)之FAQ
一、一般问题 1\. Prometheus是什么? Prometheus是一款高活跃生态系统的开源系统监控和警告工具包。详见 2\. Prometheus与其他的监控系统比较 详见 3\. Prometheus有什么依赖? Prometheus服务独立运行,没有其他依赖 4\. Prometheus有高可用的保证吗?
Prometheus 监控报警系统 AlertManager 之邮件告警
文章目录 1、Prometheus & AlertManager 介绍
Prometheus架构与实践分享
Prometheus已经被广泛应用于数据中心监控,尤其是和Kubernetes结合的容器监控。本文主要从架构分析到落地实践,详细介绍Prometheus原理和使用。对比Prometheus与其他监控工具(Zabbix、OpenFalcon)的特点与使用场景。然后介绍Prometheus与Kubernetes集成,主要从监控和自动伸缩两个方面。最后通过企业案
GraphQL
GraphQL一种api文档查询语言 基本语法本地运行javagit clone https://github.com/apollographql/starwarsservercd starwarsservernpm installnpm start执行上面的命令之后打开下面的地址 即可学习http://localhost:8080/grap
Prometheus + Grafana 快速上手
+ 快速上手,监控主机的 CPU, GPU, MEM, IO 等状态。 前提 客户端 Node Exporter用于采集 UNIX 内核主机的数据,并解压:bashwget https://github.com/prometheus/nodeexporter/releases/download/v1.1.2/nodeexporter1.1.2.linux