Prometheus 单独安装
创建 prometheus.yml 配置文件
在服务器上创建一个 prometheus.yml 文件,用于定义 Prometheus 的数据采集配置。
prometheus.yml 示例配置:
global:
scrape_interval: 15s # 数据采集间隔
scrape_configs:
- job_name: 'node_exporter'
static_configs:
- targets: ['server1_ip:9100', 'server2_ip:9100'] # Node Exporter 实例
- job_name: 'mysqld_exporter'
static_configs:
- targets: ['server1_ip:9104', 'server2_ip:9104'] # MySQL Exporter 实例
确保在 targets 列表中替换为您需要监控的实际服务器 IP 地址和端口。
创建 Prometheus 的 docker-compose.yml
在一个单独的目录(例如 prometheus/)中创建 docker-compose.yml,用于定义 Prometheus 服务。
Prometheus 的 docker-compose.yml 示例:
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
ports:
- "9090:9090" # 将 Prometheus 的端口映射到主机
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml # 挂载配置文件
- ./prometheus_data:/prometheus # 持久化数据存储
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- -p 9090:9090:将 Prometheus 默认端口 9090 映射到主机。
- -v ./prometheus.yml:/etc/prometheus/prometheus.yml:挂载配置文件。
- -v ./prometheus_data:/prometheus:持久化数据存储。
启动 Prometheus 容器
在 prometheus/ 目录下执行以下命令:
docker-compose up -d
Prometheus 将启动并监听 9090 端口,可通过 http://your_server_ip:9090 访问 Prometheus Web 界面。
Grafana 单独安装
创建 Grafana 的 docker-compose.yml
在一个单独的目录(例如 grafana/)中创建 docker-compose.yml,用于定义 Grafana 服务。
Grafana 的 docker-compose.yml 示例:
services:
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000" # 将 Grafana 的端口映射到主机
volumes:
- ./grafana_data:/var/lib/grafana # 持久化数据存储
- -p 3000:3000:将 Grafana 默认端口 3000 映射到主机。
- -v ./grafana_data:/var/lib/grafana:持久化数据存储,以便 Grafana 配置和数据在容器重启后保留。
启动 Grafana 容器
在 grafana/ 目录下执行以下命令:
docker-compose up -d
Grafana 将启动并监听 3000 端口,可通过 http://your_server_ip:3000 访问 Grafana Web 界面。
3. 配置 Grafana 数据源
- 问 Grafana:在浏览器中打开 http://your_server_ip:3000,使用默认用户名和密码(admin / admin)登录。
- 添加 Prometheus 数据源:
- 在 Grafana 主页面,点击 Configuration > Data Sources。
- 点击 Add data source,选择 Prometheus。
- 在 URL 字段中输入 Prometheus 的地址(如 http://prometheus_server_ip:9090)。
- 点击 Save & Test,确认数据源配置成功。
4. 导入仪表板
- 在 Grafana 左侧菜单中点击 + > Import。
- 输入仪表板的 ID,例如:
- Node Exporter 仪表板:ID 为 1860, 12633, 16098。
- MySQL Exporter 仪表板:在 Grafana Labs 上选择合适的模板。
- 点击 Load,选择 Prometheus 数据源,点击 Import。
总结
- Prometheus 单独部署:在 prometheus/ 目录下创建 prometheus.yml 和 docker-compose.yml,启动 Prometheus 容器。
- Grafana 单独部署:在 grafana/ 目录下创建 docker-compose.yml,启动 Grafana 容器。
- 配置 Grafana 数据源和仪表板:将 Prometheus 添加为数据源,并导入仪表板模板。