Prometheus如何搭建监控
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 创建特定的监控和告警策略。
