Browse Source

dev: Mac compatible prometheus block. (#11718)

Leonard Gram 7 years ago
parent
commit
1290087b78

+ 3 - 0
docker/blocks/prometheus_mac/Dockerfile

@@ -0,0 +1,3 @@
+FROM prom/prometheus:v1.8.2
+ADD prometheus.yml /etc/prometheus/
+ADD alert.rules /etc/prometheus/

+ 10 - 0
docker/blocks/prometheus_mac/alert.rules

@@ -0,0 +1,10 @@
+# Alert Rules
+
+ALERT AppCrash
+  IF process_open_fds > 0
+  FOR 15s
+  LABELS { severity="critical" }
+  ANNOTATIONS {
+   summary = "Number of open fds > 0",
+   description = "Just testing"
+  }

+ 26 - 0
docker/blocks/prometheus_mac/docker-compose.yaml

@@ -0,0 +1,26 @@
+  prometheus:
+    build: blocks/prometheus_mac
+    ports:
+      - "9090:9090"
+
+  node_exporter:
+    image: prom/node-exporter
+    ports:
+      - "9100:9100"
+
+  fake-prometheus-data:
+    image: grafana/fake-data-gen
+    ports:
+      - "9091:9091"
+    environment:
+      FD_DATASOURCE: prom
+
+  alertmanager:
+    image: quay.io/prometheus/alertmanager
+    ports:
+      - "9093:9093"
+
+  prometheus-random-data:
+    build: blocks/prometheus_random_data
+    ports:
+      - "8081:8080"

+ 39 - 0
docker/blocks/prometheus_mac/prometheus.yml

@@ -0,0 +1,39 @@
+# my global config
+global:
+  scrape_interval:     10s # By default, scrape targets every 15 seconds.
+  evaluation_interval: 10s # By default, scrape targets every 15 seconds.
+  # scrape_timeout is set to the global default (10s).
+
+# Load and evaluate rules in this file every 'evaluation_interval' seconds.
+rule_files:
+  - "alert.rules"
+  # - "first.rules"
+  # - "second.rules"
+
+alerting:
+  alertmanagers:
+  - scheme: http
+    static_configs:
+    - targets:
+      - "alertmanager:9093"
+
+scrape_configs:
+  - job_name: 'prometheus'
+    static_configs:
+      - targets: ['localhost:9090']
+
+  - job_name: 'node_exporter'
+    static_configs:
+      - targets: ['node_exporter:9100']
+
+  - job_name: 'fake-data-gen'
+    static_configs:
+      - targets: ['fake-prometheus-data:9091']
+
+  - job_name: 'grafana'
+    static_configs:
+      - targets: ['host.docker.internal:3000']
+
+  - job_name: 'prometheus-random-data'
+    static_configs:
+      - targets: ['prometheus-random-data:8080']