☀️ 使用 docker-compose
使用
docker-compose
部署 Prometheus 和 Grafana
1. 建立 docker-compose.yml
建立一個 docker-compose.yml
檔案,內容如下:
version: '3.7'
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
volumes:
- grafana-storage:/var/lib/grafana
volumes:
grafana-storage:
Prometheus
image
: 指定使用最新版本的 Prometheusvolumes
: 將本地的prometheus.yml
配置檔案掛載到容器的/etc/prometheus/prometheus.yml
位置ports
: 將本地的 9090 port 對應到容器的 9090 port
Grafana
image
: 指定使用最新版本的 Grafanaports
: 將本地的 3000 port 對應到容器的 3000 portenvironment
: 設定 Grafana 的管理員密碼為admin
volumes
: 建立一個名為grafana-storage
的資料卷來存儲 Grafana 的資料,以便在容器重啟後資料不會丟失
2. 建立 prometheus.yml
接著,建立一個 Prometheus 的配置檔案 prometheus.yml
,內容如下:
global:
scrape_interval: 15s # 默認抓取間隔
scrape_configs:
- job_name: 'prometheus'
scheme: https # 使用 https 協議
static_configs:
- targets: ['localhost:9090'] # 替換為你的 ASP.NET Core API 地址 和 port
tls_config:
insecure_skip_verify: true # 忽略 SSL 驗證
說明
- scrape_interval: 設定抓取資料的間隔時間
- scrape_configs: 配置抓取任務,這裡設置抓取 Prometheus 自身的監控資料
3. 啟動服務
在配置完成後,可以使用以下指令來啟動 Prometheus 和 Grafana:
docker-compose up -d
這將會在 docker 執行這兩個服務,並可以通過以下 URL 訪問:
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000
4. 結束服務
如果需要停止服務,可以使用以下指令:
docker-compose down
這將會停止並移除所有相關的容器和網路