aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsolsson <solsson@gmail.com>2018-01-31 16:28:55 +0100
committerGitHub <noreply@github.com>2018-01-31 16:28:55 +0100
commit28c2a91492112468269eec19794e32890781a29e (patch)
tree4406b2dc9fd5943db9c42d61b5c4f878b9022cc1
parent8b8e49a6728e157b6258e6d0007e4d5552c1198a (diff)
parent29eca40589a083fc06d77dca285ad13eb4f15423 (diff)
downloadkubernetes-kafka-28c2a91492112468269eec19794e32890781a29e.tar.gz
kubernetes-kafka-28c2a91492112468269eec19794e32890781a29e.tar.bz2
kubernetes-kafka-28c2a91492112468269eec19794e32890781a29e.zip
Merge pull request #125 from Yolean/linkedin-burrow
Add Burrow for consumer lag monitoring
-rw-r--r--linkedin-burrow/burrow-config.yml36
-rw-r--r--linkedin-burrow/burrow-service.yml18
-rw-r--r--linkedin-burrow/burrow.yml60
3 files changed, 114 insertions, 0 deletions
diff --git a/linkedin-burrow/burrow-config.yml b/linkedin-burrow/burrow-config.yml
new file mode 100644
index 0000000..5fe6dda
--- /dev/null
+++ b/linkedin-burrow/burrow-config.yml
@@ -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"
diff --git a/linkedin-burrow/burrow-service.yml b/linkedin-burrow/burrow-service.yml
new file mode 100644
index 0000000..15eac06
--- /dev/null
+++ b/linkedin-burrow/burrow-service.yml
@@ -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
diff --git a/linkedin-burrow/burrow.yml b/linkedin-burrow/burrow.yml
new file mode 100644
index 0000000..2e8c6b5
--- /dev/null
+++ b/linkedin-burrow/burrow.yml
@@ -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