Skip to content

Commit

Permalink
Merge pull request #83 from cloudbehl/multi-cluster-with-federation
Browse files Browse the repository at this point in the history
Multi cluster with federation
  • Loading branch information
nizamial09 authored May 22, 2024
2 parents d03c18a + 8d53b3c commit 1f8e87a
Show file tree
Hide file tree
Showing 9 changed files with 98 additions and 8 deletions.
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ PROMETHEUS_ALERTS_DIR=monitoring/ceph-mixin
#PROMETHEUS_ALERTS_DIR=monitoring/prometheus/alerts

PROMETHEUS_HOST_PORT=9090
PROMETHEUS2_HOST_PORT=9098
#PROMETHEUS_IMAGE=
NODE_EXPORTER_HOST_PORT=9100
#NODE_EXPORTER_IMAGE=
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,7 @@ docker push rhcsdashboard/ceph:main

* Start ceph2 + ceph + ...:
```
docker-compose up -d --scale ceph2=1
docker-compose up -d --scale ceph2=1 --scale prometheus2=1
# Start ceph2 but not ceph:
docker-compose up -d --scale ceph2=1 --scale ceph=0
Expand Down
10 changes: 10 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,16 @@ services:
- ./docker/prometheus:/etc/prometheus:Z
- ${CEPH_REPO_DIR}/${PROMETHEUS_ALERTS_DIR:-monitoring/ceph-mixin}:/etc/prometheus/alerts:Z

prometheus2:
image: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.43.0}
container_name: prometheus2
hostname: prometheus2
ports: ['${PROMETHEUS2_HOST_PORT:-9090}:9090']
volumes:
- ./docker/prometheus1:/etc/prometheus:Z
- ${CEPH2_REPO_DIR}/${PROMETHEUS_ALERTS_DIR:-monitoring/ceph-mixin}:/etc/prometheus/alerts:Z
scale: -1

node-exporter:
image: ${NODE_EXPORTER_IMAGE:-prom/node-exporter:v1.5.0}
container_name: node-exporter
Expand Down
1 change: 1 addition & 0 deletions docker/grafana/provisioning/datasources/prometheus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ datasources:
orgId: 1
url: http://prometheus:9090
editable: true

10 changes: 4 additions & 6 deletions docker/prometheus/ceph-targets.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
[
{
"targets": [ "ceph:9283" ],
"labels": {}
"labels": {
cluster: "cluster1"
}
},
{
"targets": [ "ceph2:9283" ],
"labels": {}
}
]
]
22 changes: 21 additions & 1 deletion docker/prometheus/prometheus.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,37 @@
global:
scrape_interval: 5s
evaluation_interval: 5s

scrape_configs:
- job_name: 'node-exporter'
file_sd_configs:
- files:
- node-exporter-targets.yml
relabel_configs:
- source_labels: [__address__]
target_label: cluster
replacement: 'cluster1'
- job_name: 'ceph'
honor_labels: true
file_sd_configs:
- files:
- ceph-targets.yml
relabel_configs:
- source_labels: [__address__]
target_label: cluster
replacement: 'cluster1'
- job_name: 'federate'
scrape_interval: 15s
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
- '{job="ceph"}'
- '{job="node"}'
- '{job="haproxy"}'
- '{job="ceph-exporter"}'
static_configs:
- targets:
- 'prometheus2:9090'

alerting:
alertmanagers:
Expand Down
8 changes: 8 additions & 0 deletions docker/prometheus1/ceph-targets.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[
{
"targets": [ "ceph2:9283" ],
"labels": {
cluster: "cluster2"
}
}
]
8 changes: 8 additions & 0 deletions docker/prometheus1/node-exporter-targets.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[
{
"targets": [ "node-exporter:9100" ],
"labels": {
"instance": "node-exporter"
}
}
]
44 changes: 44 additions & 0 deletions docker/prometheus1/prometheus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
global:
scrape_interval: 5s
evaluation_interval: 5s
scrape_configs:
- job_name: 'node-exporter'
file_sd_configs:
- files:
- node-exporter-targets.yml
relabel_configs:
- source_labels: [__address__]
target_label: cluster
replacement: 'cluster2'
- job_name: 'ceph'
honor_labels: true
file_sd_configs:
- files:
- ceph-targets.yml
relabel_configs:
- source_labels: [__address__]
target_label: cluster
replacement: 'cluster2'
- job_name: 'federate'
scrape_interval: 15s
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
- '{job="ceph"}'
- '{job="node"}'
- '{job="haproxy"}'
- '{job="ceph-exporter"}'
static_configs:
- targets: []

alerting:
alertmanagers:
- scheme: http
static_configs:
- targets:
- 'alertmanager:9093'

rule_files:
- 'alerts/ceph_default_alerts.yml'
- 'alerts/prometheus_alerts.yml'

0 comments on commit 1f8e87a

Please sign in to comment.