Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Burrow for consumer lag monitoring #125

Merged
merged 10 commits into from
Jan 31, 2018
36 changes: 36 additions & 0 deletions linkedin-burrow/burrow-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
kind: ConfigMap
metadata:
name: burrow-config
namespace: kafka
apiVersion: v1
data:
burrow.toml: |-
[zookeeper]
servers=[ "zookeeper:2181" ]
timeout=6
root-path="/burrow"

[cluster.local]
class-name="kafka"
servers=[ "kafka-0.broker:9092", "kafka-1.broker:9092", "kafka-2.broker:9092" ]
topic-refresh=60
offset-refresh=30

[consumer.local]
class-name="kafka"
cluster="local"
servers=[ "kafka-0.broker:9092", "kafka-1.broker:9092", "kafka-2.broker:9092" ]
group-blacklist=""
group-whitelist=""

[consumer.local_zk]
class-name="kafka_zk"
cluster="local"
servers=[ "zookeeper:2181" ]
zookeeper-path="/local"
zookeeper-timeout=30
group-blacklist=""
group-whitelist=""

[httpserver.default]
address=":8000"
18 changes: 18 additions & 0 deletions linkedin-burrow/burrow-service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
kind: Service
apiVersion: v1
metadata:
name: burrow
namespace: kafka
spec:
selector:
app: burrow
ports:
- name: web
protocol: TCP
port: 80
- name: api
protocol: TCP
port: 8000
- name: prometheus
protocol: TCP
port: 8080
60 changes: 60 additions & 0 deletions linkedin-burrow/burrow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: burrow
namespace: kafka
spec:
replicas: 1
selector:
matchLabels:
app: burrow
template:
metadata:
labels:
app: burrow
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
spec:
containers:
- name: burrow
image: solsson/burrow@sha256:a6fe5d1268a7e7d58f7f960697fc8fda3e6861a2653fe71135a2207c9cf18cf0
ports:
- name: api
containerPort: 8000
readinessProbe:
httpGet:
path: /burrow/admin
port: 8000
livenessProbe:
httpGet:
path: /burrow/admin
port: 8000
volumeMounts:
- name: config
mountPath: /etc/burrow
- name: prom
image: solsson/burrow-exporter:api-v3@sha256:dd690c04ae31c62e4d7d5398f24f368fb2c48046ec3ae68bbc7582c114819a7b
ports:
- name: prometheus
containerPort: 8080
env:
- name: BURROW_ADDR
value: http://localhost:8000
- name: METRICS_ADDR
value: 0.0.0.0:8080
- name: INTERVAL
value: "30"
- name: dashboard
image: joway/burrow-dashboard@sha256:b4cce87c8264119d73f9a6df5d787ea811ce2138d39ca6cd56525bcfbb5169bf
env:
- name: BURROW_BACKEND
value: http://localhost:8000
ports:
- name: web
containerPort: 80
protocol: TCP
volumes:
- name: config
configMap:
name: burrow-config