ubuntuにdocker-ceをインストール(公式参照)
https://matsuand.github.io/docs.docker.jp.onthefly/engine/install/ubuntu/
試してないけど多分これでもOK
https://github.com/docker/docker-install
docker-compose-pluginがdocker v2の事なので、
docker-composeはインストール不要。
構成情報
$ pwd
/usr/local/docker
/usr/local/docker$ tree
.
├ blackbox_exporter
│ └ config.yml
├ compose.yml
├ prometheus
│ ├ prometheus.yml
│ ├ target_blackbox.yml
│ └ target_server.yml
└ snmp_exporter
├ generator.yml
├ mibs
└ snmp.yml
compose.yml
$ cat compose.yml
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus/target_blackbox.yml:/etc/prometheus/target_blackbox.yml
- ./prometheus/target_server.yml:/etc/prometheus/target_server.yml
- prometheus-data:/prometheus/
ports:
- 9090:9090
restart: always
node-exporter:
image: prom/node-exporter:latest
container_name: node-exporter
ports:
- 9100:9100
restart: always
blackbox-exporter:
image: prom/blackbox-exporter:latest
container_name: blackbox-exporter
volumes:
- ./blackbox_exporter/config.yml:/etc/blackbox_exporter/config.yml
ports:
- 9115:9115
restart: always
snmp-exporter:
image: prom/snmp-exporter:latest
container_name: snmp-exporter
volumes:
- ./snmp_exporter/snmp.yml:/etc/snmp_exporter/snmp.yml
ports:
- 9116:9116
restart: always
grafana:
image: grafana/grafana:latest
container_name: grafana
volumes:
- grafana-data:/var/lib/grafana
ports:
- 3000:3000
environment:
TZ: Asia/Tokyo
restart: always
volumes:
prometheus-data:
grafana-data:
# ホストOS上に下記ディレクトリが生成される
# /var/lib/docker/volumes/docker_prometheus-data/
# /var/lib/docker/volumes/docker_grafana-data/
prometheus.yml
$ cat prometheus/prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ['localhost:9090']
- job_name: 'node'
static_configs:
- targets: ['node-exporter:9100']
- job_name: 'blackbox'
metrics_path: /probe
params:
module: [icmp]
file_sd_configs:
- files:
- './target_blackbox.yml'
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox-exporter:9115
- job_name: 'snmp-exporter-server'
scrape_interval: 5m
file_sd_configs:
- files:
- './target_server.yml'
metrics_path: /snmp
params:
module: [if_mib]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: snmp-exporter:9116
metric_relabel_configs:
- source_labels: [ifName]
regex: 'lo|br-.*|docker.*|veth.*|wlp20s0'
action: drop
target_blackbox.yml
$ cat prometheus/target_blackbox.yml
- targets:
- 192.168.1.X
grafanaのvariable
https://grafana.com/docs/grafana/latest/dashboards/variables/add-template-variables/