Skip to content

Commit 28c2a91

Browse files
authored
Merge pull request #125 from Yolean/linkedin-burrow
Add Burrow for consumer lag monitoring
2 parents 8b8e49a + 29eca40 commit 28c2a91

File tree

3 files changed

+114
-0
lines changed

3 files changed

+114
-0
lines changed

linkedin-burrow/burrow-config.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
kind: ConfigMap
2+
metadata:
3+
name: burrow-config
4+
namespace: kafka
5+
apiVersion: v1
6+
data:
7+
burrow.toml: |-
8+
[zookeeper]
9+
servers=[ "zookeeper:2181" ]
10+
timeout=6
11+
root-path="/burrow"
12+
13+
[cluster.local]
14+
class-name="kafka"
15+
servers=[ "kafka-0.broker:9092", "kafka-1.broker:9092", "kafka-2.broker:9092" ]
16+
topic-refresh=60
17+
offset-refresh=30
18+
19+
[consumer.local]
20+
class-name="kafka"
21+
cluster="local"
22+
servers=[ "kafka-0.broker:9092", "kafka-1.broker:9092", "kafka-2.broker:9092" ]
23+
group-blacklist=""
24+
group-whitelist=""
25+
26+
[consumer.local_zk]
27+
class-name="kafka_zk"
28+
cluster="local"
29+
servers=[ "zookeeper:2181" ]
30+
zookeeper-path="/local"
31+
zookeeper-timeout=30
32+
group-blacklist=""
33+
group-whitelist=""
34+
35+
[httpserver.default]
36+
address=":8000"

linkedin-burrow/burrow-service.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
kind: Service
2+
apiVersion: v1
3+
metadata:
4+
name: burrow
5+
namespace: kafka
6+
spec:
7+
selector:
8+
app: burrow
9+
ports:
10+
- name: web
11+
protocol: TCP
12+
port: 80
13+
- name: api
14+
protocol: TCP
15+
port: 8000
16+
- name: prometheus
17+
protocol: TCP
18+
port: 8080

linkedin-burrow/burrow.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
apiVersion: apps/v1beta2
2+
kind: Deployment
3+
metadata:
4+
name: burrow
5+
namespace: kafka
6+
spec:
7+
replicas: 1
8+
selector:
9+
matchLabels:
10+
app: burrow
11+
template:
12+
metadata:
13+
labels:
14+
app: burrow
15+
annotations:
16+
prometheus.io/scrape: "true"
17+
prometheus.io/port: "8080"
18+
spec:
19+
containers:
20+
- name: burrow
21+
image: solsson/burrow@sha256:a6fe5d1268a7e7d58f7f960697fc8fda3e6861a2653fe71135a2207c9cf18cf0
22+
ports:
23+
- name: api
24+
containerPort: 8000
25+
readinessProbe:
26+
httpGet:
27+
path: /burrow/admin
28+
port: 8000
29+
livenessProbe:
30+
httpGet:
31+
path: /burrow/admin
32+
port: 8000
33+
volumeMounts:
34+
- name: config
35+
mountPath: /etc/burrow
36+
- name: prom
37+
image: solsson/burrow-exporter:api-v3@sha256:dd690c04ae31c62e4d7d5398f24f368fb2c48046ec3ae68bbc7582c114819a7b
38+
ports:
39+
- name: prometheus
40+
containerPort: 8080
41+
env:
42+
- name: BURROW_ADDR
43+
value: http://localhost:8000
44+
- name: METRICS_ADDR
45+
value: 0.0.0.0:8080
46+
- name: INTERVAL
47+
value: "30"
48+
- name: dashboard
49+
image: joway/burrow-dashboard@sha256:b4cce87c8264119d73f9a6df5d787ea811ce2138d39ca6cd56525bcfbb5169bf
50+
env:
51+
- name: BURROW_BACKEND
52+
value: http://localhost:8000
53+
ports:
54+
- name: web
55+
containerPort: 80
56+
protocol: TCP
57+
volumes:
58+
- name: config
59+
configMap:
60+
name: burrow-config

0 commit comments

Comments
 (0)