欢迎访问宙启技术站
智能推送

Prometheus如何搭建监控

发布时间:2023-05-18 13:55:31

Prometheus 是一种开源的系统监控和警报工具,可以专门用于存储时间序列数据,并可通过查询语言和图形界面展示数据。本文将介绍如何在 Linux 系统上集成 Prometheus 监控工具。

步骤一:安装 Prometheus

在 Ubuntu 系统中,可以通过以下命令进行 Prometheus 安装:

$ wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
$ tar xvfz prometheus-*.tar.gz
$ cd prometheus-2.30.3.linux-amd64/

步骤二:启动 Prometheus

在启动 Prometheus 之前,需要先了解其配置文件。Prometheus 配置文件通常被命名为 prometheus.yml,可以通过以下命令进行编辑与配置:

$ vi prometheus.yml

在配置文件中可以设置 targets 列表,如:

global:
  scrape_interval: 30s
  scrape_timeout: 10s

scrape_configs:
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']

上述配置文件将启动名为 node_exporter 的作业,并监控名为 localhost 的主机的用户空间指标。

然后,可以使用以下命令启动 Prometheus:

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

步骤三:使用 Prometheus 监控服务

一旦 Prometheus 启动,可以通过以下 URL 访问其 web 界面:

http://<your-server-ip>:9090

在 Prometheus 中,可以使用查询语言 PromQL 来检索指标数据。例如,可以将以下命令输入到 Prometheus 控制台中,以获取有关 node_exporter 的 CPU 占用数据:

sum by (instance) (rate(node_cpu_seconds_total{mode="idle"}[2m]))

除了控制台查询之外,Prometheus 还可与警报管理工具 Grafana 集成,以生成更复杂和详细的图表和警报。

步骤四:安装 Exporter

Prometheus 本身只能收集一些基本的系统指标,诸如 CPU 和内存使用情况。要收集更具体的指标,需要安装 Exporter。Exporter 通常是指一个服务或守护进程,其可将数据按照 Prometheus 可用的形式输出,并可被 Prometheus 进行采集。

Prometheus 官方维护的 Exporter 列表中包含了众多常用的 Exporter,如 node_exporter(收集来自操作系统的各种指标)、Blackbox_exporter(收集有关远程应用程序和服务的信息)等。其他第三方 Exporter,如 MySQL、Redis、Elasticsearch 等,都有自己的 Exporter。

例如,使用以下命令安装 node_exporter:

$ wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
$ tar xvfz node_exporter-*.tar.gz

然后可以将其配置为运行作为系统服务,以便在系统启动时自动启动 Exporter,如:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/home/prometheus/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target

步骤五:使用 Alertmanager

Prometheus Alertmanager 是一种集中式警报接收程序,可接收由 Prometheus 生成的警报,并将其发送到接收器(如通知提供程序、电子邮件和 Slack 等)。Alertmanager 还可以根据警报属性进行路由和处理,以便将其发送给相应的组或个人。

Alertmanager 安装方法与 Prometheus 类似。首先可以通过以下命令安装 Alertmanager:

$ wget https://github.com/prometheus/alertmanager/releases/download/v0.23.0/alertmanager-0.23.0.linux-amd64.tar.gz
$ tar xvfz alertmanager-*.tar.gz
$ cd alertmanager-0.23.0.linux-amd64/

随后可以编辑并配置 Alertmanager:

$ vi alertmanager.yml

然后启动 Alertmanager:

$ ./alertmanager --config.file=alertmanager.yml

最后,可以通过以下命令在 Prometheus 配置文件中指定 Alertmanager:

global:
  ...
  smtp_smarthost: 'your-smtp-server:587'
  smtp_from: 'your-email@example.com'
  smtp_auth_username: 'your-email@example.com'
  smtp_auth_password: 'your-email-password'
  ...

rule_files:
  - /etc/prometheus/rules.yml
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          - localhost:9093

以上配置文件将设置邮件通知,并将 AlarmManager 配置为从地址 localhost:9093 接收警报。

总结

通过以上步骤,就可以在 Linux 系统上部署 Prometheus 监控工具及其相关工具。虽然 Prometheus 可以执行基本监控和警报,但是人们可以通过更多的 Exporter 和 Grafana 创建特定的监控和告警策略。