Skip to content

Commit f604aac

Browse files
committed
Merge commit '90ef0fda09876db473bcd33cad5a422976227efe' into chore/prometheus
* commit '90ef0fda09876db473bcd33cad5a422976227efe': Adding prometheus compose to track system resources during netowrk test - added 2 targets to Makefile to control prometheus/cadvisor
2 parents 9f0f11d + 90ef0fd commit f604aac

2 files changed

Lines changed: 82 additions & 0 deletions

File tree

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,14 @@ genesis: check-not-running | build $(CHAINSTATE_DIR) /usr/bin/sudo
105105
# Secondary name to boot the genesis network
106106
up-genesis: genesis
107107

108+
up-prom:
109+
@echo "Starting $(PROJECT) prometheus monitoring"
110+
docker compose -f docker/docker-compose.prom.yml --profile default -p $(PROJECT) up -d
111+
112+
down-prom:
113+
@echo "Shutting down $(PROJECT) prometheus monitoring"
114+
docker compose -f docker/docker-compose.prom.yml --profile default -p $(PROJECT) down
115+
108116
# Shut down the network (chainstate and logs will be preserved)
109117
down: backup-logs current-chainstate-dir
110118
@echo "Shutting down $(PROJECT) network"

docker/docker-compose.prom.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
x-common-vars:
2+
- &DOCKER_NETWORK ${DOCKER_NETWORK:-stacks}
3+
- &DOCKER_NETWORK_CIDR 10.0.0.0/24
4+
- &DOCKER_NETWORK_GATEWAY 10.0.0.1
5+
- &PROMETHEUS_IP 10.0.0.252
6+
- &CADVISOR_IP 10.0.0.253
7+
8+
name: monitoring
9+
10+
configs:
11+
# prometheus scraping config
12+
prometheus.yml:
13+
content: |
14+
# Global config
15+
global:
16+
external_labels:
17+
monitor: "hacknet"
18+
# A scrape configuration containing Prometheus and Docker
19+
scrape_configs:
20+
- job_name: cadvisor
21+
scrape_interval: 5s
22+
static_configs:
23+
- targets:
24+
- cadvisor:8080
25+
metric_relabel_configs:
26+
- source_labels: [ __name__ ]
27+
regex: '^(go_|cadvisor_version_info).+'
28+
action: drop
29+
- job_name: stacks
30+
scrape_interval: 5s
31+
static_configs:
32+
- targets:
33+
- stacks-miner-1:9153
34+
- stacks-miner-2:9153
35+
- stacks-miner-3:9153
36+
services:
37+
prometheus:
38+
image: prom/prometheus:latest
39+
container_name: prometheus
40+
networks:
41+
default:
42+
ipv4_address: *PROMETHEUS_IP
43+
configs:
44+
- source: prometheus.yml
45+
target: /etc/prometheus/prometheus.yml
46+
depends_on:
47+
- cadvisor
48+
ports:
49+
- '0.0.0.0:${PROM_HTTP:-9090}:${PROM_HTTP:-9090}'
50+
command:
51+
- --config.file=/etc/prometheus/prometheus.yml
52+
cadvisor:
53+
image: gcr.io/cadvisor/cadvisor:latest
54+
container_name: cadvisor
55+
networks:
56+
default:
57+
ipv4_address: *CADVISOR_IP
58+
volumes:
59+
- /:/rootfs:ro
60+
- /var/run:/var/run:rw
61+
- /sys:/sys:ro
62+
- /var/lib/docker/:/var/lib/docker:ro
63+
ports:
64+
- '0.0.0.0:8080:8080'
65+
command: "--enable_metrics=cpu,cpuLoad,disk,diskIO,memory"
66+
67+
networks:
68+
default:
69+
name: *DOCKER_NETWORK
70+
ipam:
71+
driver: default
72+
config:
73+
- subnet: *DOCKER_NETWORK_CIDR
74+
gateway: *DOCKER_NETWORK_GATEWAY

0 commit comments

Comments
 (0)