kafka-demo/README.md

1.9 KiB

kafka-demo

This project is just a sample demonstration inspired by question "How do we monitor a kafka stream with a OneAgent and see the data on Dynatrace?"

setup

You need to download kafka on your device. For this demo project the binary Scala 2.12 - kafka_2.12-3.5.1.tgz was downloaded, therefore kafka version 3.5.1 is used.

run

First you have to start and run the zookeeper server, afterwards the kafka server and finally the consumers.

bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
bin/kafka-console-consumer.sh --topic TOPIC_INSTANCE --from-beginning --bootstrap-server localhost:9092
bin/kafka-console-consumer.sh --topic TOPIC_INSTANCE_JSON --from-beginning --bootstrap-server localhost:9092

NOTE: MAKE SURE YOU FOLLOW THE ORDER!

Run this project by starting the KafkaDemoApplication!

demo

Once everything is running open the following link in your browser: http://localhost:8080/api/v1/kafka/publish

If you want to produce a message then you can add the message query parameter and your value as following: http://localhost:8080/api/v1/kafka/publish?message=Madrid http://localhost:8080/api/v1/kafka/publish?message=London http://localhost:8080/api/v1/kafka/publish?=Vienna http://localhost:8080/api/v1/kafka/publish?=Pizza

On one of the consumers you will see the messages!

It is possible to send a JSON Object. To do that you will have to send a POST request via e.g. Postman. In Postman choose the POST method and use this link: http://localhost:8080/api/v1/kafka/publish

Afterward under Body, pick raw and instead Text pick JSON. In the body section you can add the following object:

{
    "id": 1,
    "vin": "V09JHY4",
    "location": "New York" 
}

Send.

You should be able to see the data in one of the consumers! If you encounter any warnings after starting the consumers you can ignore them!