跳到主要内容

第一个Prometheus监控

Prometheus 是一个开源的系统监控和警报工具包,最初由 SoundCloud 开发,现已成为云原生计算基金会(CNCF)的一部分。它通过抓取(scraping)目标系统的指标数据,并将其存储在时间序列数据库中,从而实现对系统的实时监控和分析。

在本教程中,我们将逐步引导你完成第一个Prometheus监控实例的设置和运行,并解释其核心概念。

1. 安装Prometheus

首先,你需要安装Prometheus。你可以从Prometheus官方网站下载适用于你操作系统的二进制文件。

bash
# 下载Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz

# 解压文件
tar -xzf prometheus-2.30.3.linux-amd64.tar.gz

# 进入解压后的目录
cd prometheus-2.30.3.linux-amd64

2. 配置Prometheus

Prometheus的配置文件是一个YAML文件,通常命名为 prometheus.yml。以下是一个简单的配置文件示例:

yaml
global:
scrape_interval: 15s # 每15秒抓取一次数据

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

在这个配置中,我们定义了一个名为 prometheus 的作业(job),它会抓取本地Prometheus服务器自身的指标数据。

3. 启动Prometheus

使用以下命令启动Prometheus:

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

启动后,Prometheus将在默认端口 9090 上运行。你可以通过浏览器访问 http://localhost:9090 来查看Prometheus的Web界面。

4. 查看监控数据

在Prometheus的Web界面中,你可以使用PromQL(Prometheus查询语言)来查询和可视化监控数据。例如,输入以下查询来查看Prometheus自身的HTTP请求总数:

promql
http_requests_total

你将看到一个时间序列图,展示了HTTP请求总数的变化情况。

5. 实际案例:监控一个简单的Web应用

假设你有一个简单的Web应用运行在 localhost:8080 上,并且你已经为该应用添加了Prometheus客户端库来暴露指标。你可以在 prometheus.yml 中添加一个新的作业来监控这个应用:

yaml
scrape_configs:
- job_name: 'web_app'
static_configs:
- targets: ['localhost:8080']

重新启动Prometheus后,它将开始抓取你的Web应用的指标数据。

6. 总结

通过本教程,你已经成功设置并运行了你的第一个Prometheus监控实例。你学习了如何安装Prometheus、配置抓取作业、启动Prometheus服务器,并使用PromQL查询监控数据。

7. 附加资源与练习

提示

如果你在配置或运行过程中遇到问题,可以参考Prometheus的官方文档或社区论坛,那里有丰富的资源和解决方案。