效果图
环境准备
准备好 docker 环境,包括 docker-compose。这里直接使用已制作好的 docker-compose 配置文件。
$ mkdir docker-composes
$ git clone https://github.com/docker-composes/postgres.git
$ git clone https://github.com/docker-composes/grafana.git
$ git clone https://github.com/docker-composes/prometheus.git
注:下文操作皆从 docker-composes 目录出发。
容器配置
postgres exporter 配置
vim postgres/exporter/docker-compose.yml
将 postgres 数据库连接信息设置为 DATA_SOURCE_NAME 环境变量。如果是同网络下容器,以容器名称作为 host,如此处使用同网络(local-net)下容器 postgres-singleton。
DATA_SOURCE_NAME=postgresql://root:123456@postgres-singleton:5432/postgres?sslmode=disable
prometheus.yml
vim prometheus/singleton/config/prometheus.yml
在 scrape_configs 作用域下添加:
# Postgres
- job_name: 'postgres'
static_configs:
- targets: ['postgres-exporter-singleton:9187']
labels:
instance: 'postgres-01'
platform: 'ec2'
启动容器
$ docker network create local-net
$ cd grafana && docker-compose up -d
$ cd prometheus/signleton && docker-compose up -d
$ cd postgres/signleton && docker-compose up -d
$ cd postgres/expoter && docker-compose up -d
配置 grafana
配置数据源
在 Configuration -> Data Sources
页面添加数据源(Add data source):
导入 Dashboard
复制 Dashboard ID: 9628,导入:
导入成功,即可打开 dashboard 查看效果。
结语
- 理解 docker 容器间的网络连接。
- 理解 docker-compose.yml 中配置文件挂载。
- 耐心配置 grafana。
跑通之后可以研究下各项指标的查询,以及 grafana 的统计函数,将会受益匪浅。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。