Prometheus for Developers 项目教程
1. 项目的目录结构及介绍
danielfm/prometheus-for-developers
├── config
│ └── ...
├── img
│ └── ...
├── sample-app
│ └── ...
├── LICENSE
├── README.md
├── _config.yml
├── docker-compose.yml
└── ...
- config: 存放配置文件的目录。
- img: 存放项目相关的图片文件。
- sample-app: 示例应用程序的目录。
- LICENSE: 项目的许可证文件。
- README.md: 项目的说明文档。
- _config.yml: 项目的配置文件。
- docker-compose.yml: Docker 编排文件,用于启动项目。
2. 项目的启动文件介绍
项目的启动文件主要是 docker-compose.yml
,该文件定义了如何通过 Docker 启动和运行项目。以下是 docker-compose.yml
的主要内容:
version: '3'
services:
prometheus:
image: prom/prometheus
ports:
- "9090:9090"
volumes:
- ./config:/etc/prometheus
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
sample-app:
image: sample-app
ports:
- "4000:4000"
volumes:
prometheus_data:
- prometheus: 定义了 Prometheus 服务的配置,包括镜像、端口映射、卷挂载和启动命令。
- sample-app: 定义了示例应用程序的配置,包括镜像和端口映射。
- volumes: 定义了持久化存储卷。
3. 项目的配置文件介绍
项目的配置文件主要位于 config
目录下,其中最重要的是 prometheus.yml
。以下是 prometheus.yml
的主要内容:
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'sample-app'
static_configs:
- targets: ['sample-app:4000']
- global: 定义了全局配置,如抓取间隔和评估间隔。
- scrape_configs: 定义了抓取配置,包括抓取任务的名称和目标。
通过以上配置,Prometheus 可以定期从指定的目标(如 Prometheus 自身和示例应用程序)抓取指标数据。