1 # Prometheus Kafka Remote Writer
3 ![Architecture Diagram](./diagram.png)
5 Prometheus Kafka remote writer is a remote writer/adapter to publish metrics from prometheus to a remote storage like kafka.
6 The prom-kafka-writer microservice enables to register the remote endpoint and configures the kafka producer endpoint.
7 Prometheus can then be configured to set the remote write to this endpoint and the metrics can be published.
11 ### Build docker images
13 git clone https://github.com/onap/demo.git
14 DA_WORKING_DIR=$PWD/demo/vnfs/DAaaS
15 cd $DA_WORKING_DIR/microservices/prom-kafka-writer
16 docker build -f Dockerfile.ci . -t prom-kafka-writer:latest
18 ### Deploy using Helm chart
20 cd $DA_WORKING_DIR/deploy/collection/charts/prom-kafka-writer
22 # Modify the values.yaml
23 helm install -n pkw . -f values.yaml --namespace=edge1
27 kubectl get pods -n edge1 | grep prom-kafka-writer
29 NAME READY STATUS RESTARTS AGE
30 pkw-prom-kafka-writer-c6c89c579-jv6jt 1/1 Running 0 11m
34 * Create Prometheus Kafka Writer endpoint
39 http://prom-kafka-writer/pkw \
40 -H 'Content-Type: application/json' \
42 "bootstrap.servers": "kafka-cluster-kafka-bootstrap.kafka.svc.cluster.local:9091",
44 "usePartition": false,
45 "compression.codec": "snappy"
49 * Delete Prometheus Kafka Writer endpoint
53 curl -X DELETE http://prom-kafka-writer/pkw/pkw0
56 * List Prometheus Kafka Writers
59 curl -X GET http://prom-kafka-writer/pkw
62 * Publish to Kafka Writer
65 curl -X POST http://prom-kafka-writer/pkw/pkw0/receive