效果图
环境筹备
筹备好 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
拜访 http://localhost:3000。
配置数据源
在 Configuration -> Data Sources
页面增加数据源(Add data source):
导入 Dashboard
复制 Dashboard ID: 9628,导入:
导入胜利,即可关上 dashboard 查看成果。
结语
- 了解 docker 容器间的网络连接。
- 了解 docker-compose.yml 中配置文件挂载。
- 急躁配置 grafana。
跑通之后能够钻研下各项指标的查问,以及 grafana 的统计函数,将会受益匪浅。