以下是在 Docker 中安装 Prometheus 和 Grafana 并监控容器的步骤:
一、安装 Prometheus
- 创建一个目录用于存储 Prometheus 的配置文件:
mkdir prometheus && cd prometheus
- 创建一个名为
prometheus.yml
的配置文件,内容如下:
global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'docker' static_configs: - targets: ['docker.for.mac.host.internal:9323']
这个配置文件定义了 Prometheus 抓取数据的频率和目标。在 scrape_configs
部分,我们定义了两个作业:一个是监控 Prometheus 自身,另一个是监控 Docker。请注意,如果你使用的不是 macOS,可能需要调整 docker.for.mac.host.internal
为其他地址。
- 运行 Prometheus 容器:
docker run -d --name prometheus -p 9090:9090 -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
这将在后台运行一个 Prometheus 容器,并将本地的配置文件挂载到容器中。
二、安装 Grafana
- 运行 Grafana 容器:
docker run -d --name grafana -p 3000:3000 grafana/grafana
这将在后台运行一个 Grafana 容器,并将 Grafana 的端口 3000 映射到主机的端口 3000。
三、配置 Grafana 以显示 Prometheus 数据
- 打开浏览器,访问
http://localhost:3000
。默认的用户名和密码是admin
/admin
。 - 登录后,点击左侧菜单栏的 “Configuration”(配置),然后选择 “Data Sources”(数据源)。
- 点击 “Add data source”(添加数据源),选择 “Prometheus”。
- 在 “Settings”(设置)选项卡中,输入以下信息:
- Name:可以自定义一个名称,例如 “Prometheus”。
- URL:
http://localhost:9090
(如果 Prometheus 运行在不同的主机上,请相应地调整这个地址)。
- 点击 “Save & Test”(保存并测试)按钮,如果一切正常,你应该看到 “Data source is working”(数据源正常工作)的消息。
四、创建仪表盘以监控容器
- 点击左侧菜单栏的 “+” 号,然后选择 “Dashboard”(仪表盘)。
- 在仪表盘编辑页面,点击 “Add Panel”(添加面板)。
- 在面板编辑页面,选择 “Metrics”(指标)选项卡。
- 在 “Query”(查询)部分,选择你之前创建的 Prometheus 数据源,并输入查询语句来获取你想要监控的指标。例如,要获取容器的 CPU 使用率,可以使用以下查询语句:
sum(rate(container_cpu_usage_seconds_total{id="/"}[1m])) by (id)
- 根据需要调整面板的设置,如标题、颜色、轴标签等。
- 点击 “Save”(保存)按钮保存仪表盘。
现在,你应该能够在 Grafana 中看到监控容器的仪表盘了。你可以根据自己的需求进一步定制和扩展这个设置,例如添加更多的监控指标、创建警报等。