1

效果图

image

环境准备

准备好 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):

image

导入 Dashboard

复制 Dashboard ID: 9628,导入:
image

image

导入成功,即可打开 dashboard 查看效果。

结语

  1. 理解 docker 容器间的网络连接。
  2. 理解 docker-compose.yml 中配置文件挂载。
  3. 耐心配置 grafana。

跑通之后可以研究下各项指标的查询,以及 grafana 的统计函数,将会受益匪浅。


古月
8 声望1 粉丝