1. 准备环境
确保你已经安装了 Docker 和 Docker Compose。如果没有安装,可以参考以下命令:
# 安装 Docker
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version # 验证安装
2. 创建工作目录
创建一个目录来存放相关配置文件:
mkdir prometheus-grafana
cd prometheus-grafana
3. 配置 Prometheus
3.1 创建 Prometheus 配置文件
新建 prometheus.yml
:
nano prometheus.yml
内容如下:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node_exporter'
static_configs:
- targets: ['node_exporter:9100']
3.2 创建存储配置
创建一个目录用来保存 Prometheus 数据:
mkdir prometheus_data
4. 创建 Docker Compose 配置
新建 docker-compose.yml
:
nano docker-compose.yml
内容如下:
version: '3.7'
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus_data:/prometheus
restart: unless-stopped
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000"
volumes:
- grafana_data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
restart: unless-stopped
node_exporter:
image: prom/node-exporter:latest
container_name: node_exporter
ports:
- "9100:9100"
restart: unless-stopped
volumes:
grafana_data:
5. 启动服务
运行以下命令启动容器:
docker-compose up -d
检查服务状态:
docker ps
6. 访问 Prometheus 和 Grafana
- Prometheus:访问
http://<your_server_ip>:9090
。 - Grafana:访问
http://<your_server_ip>:3000
。- 默认用户名:
admin
- 默认密码:
admin
- 默认用户名:
7. 配置 Grafana 数据源
- 登录 Grafana 后,进入 Configuration > Data Sources。
- 点击 Add data source,选择 Prometheus。
- 在 URL 栏输入
http://prometheus:9090
,点击 Save & Test。
8. 添加监控面板
在 Grafana 中:
- 点击 + > Import。
- 输入面板的 ID,例如:
- Node Exporter Full:1860
- 点击 Load,选择数据源后保存。
9. 验证监控效果
- 在 Prometheus 中,可以通过
http://<your_server_ip>:9090
查看监控目标状态。 - 在 Grafana 中,可以通过导入的面板查看实时图表。
注意事项
- 数据持久化:Prometheus 和 Grafana 数据通过
docker-compose.yml
中的挂载路径实现持久化。 - 安全性:生产环境建议修改 Grafana 默认用户名密码。
- 扩展性:可以通过修改
prometheus.yml
添加其他监控目标,例如数据库、应用程序等。
这套方案简单易用,非常适合快速部署监控环境。
标签:compose,Prometheus,grafana,prometheus,docker,yml From: https://www.cnblogs.com/daikaiqiang/p/18587738