(二)第一步(安装和基本使用) | 普罗米修斯(Prometheus)

欢迎来到普罗米修斯!Prometheus 是一个监控平台,它通过在目标上抓取指标 HTTP 端点来收集来自被监控目标的指标。

本指南将向您展示如何使用 Prometheus 安装、配置和监控我们的第一个资源。

您将下载、安装和运行 Prometheus。

您还将下载并安装一个导出器,这些工具可以在主机和服务上公开时间序列数据。

我们的第一个导出器将是 Prometheus 本身,它提供关于内存使用、垃圾收集等的各种主机级指标。

下载普罗米修斯

为您的平台下载最新版本的 Prometheus,然后解压:

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

Prometheus Server是一个名为 prometheus(或prometheus.exe)的一个可执行文件。

通过--help可以查看命令帮助

./prometheus --help
usage: prometheus []

The Prometheus monitoring server

Flags:
  -h, --help                     Show context-sensitive help (also try --help-long and --help-man).
      --version                  Show application version.
      --config.file="prometheus.yml"  
                                 Prometheus configuration file path.
      --web.listen-address="0.0.0.0:9090"  
                                 Address to listen on for UI, API, and telemetry.
      --web.config.file=""       [EXPERIMENTAL] Path to configuration file that can enable TLS or authentication.

. . .

在启动 Prometheus 之前,让我们对其进行配置。

配置普罗米修斯

Prometheus 配置是YAML格式。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']

示例配置文件中有三个配置块:globalrule_filesscrape_configs.

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

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

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

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

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

启动普罗米修斯

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

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

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

您还可以访问他自己的指标端点来验证 Prometheus 是否正在提供有关自身的指标:http://localhost:9090/metrics。

使用表达式浏览器

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

正如您可以从http://localhost:9090/metrics浏览的那样,Prometheus 导出的关于其自身的一项指标称为 promhttp_metric_handler_requests_total( Prometheus Server已服务的/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 可以做什么,我们建议浏览有关其他导出器的文档。使用节点导出器监控 Linux 或 macOS 主机指标指南是一个很好的起点。

总结

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

你可能感兴趣的:(云原生,普罗米修斯,Prometheus安装,Prometheus使用,Prometheus表达式,PromQL)