How to post topics using Hermes Kafka messaging and Kafka Stream Connect
Producer Setup
Now let's talk about how to setup hermes messaging service which will connect to your own servicenow instance to act as a Kafka bus, well the steps are pretty straight-forward defined in the url below
https://docs.servicenow.com/bundle/utah-servicenow-platform/page/administer/hermes-messaging-service...
Once you follow these setups, the folder for hermes will look like this it will have the keystore file and the private key.
Once you are done with this . Create a test flow using kafka stream connect to trigger messages from Servicenow acting as a producer to the consumer instance
All you need to add is the custom action with the kafka producer step and the trigger can be of your own choice . For e.g. in the video above i am using trigger of incident creation.
After the action is created , please add that to the flow.
Consumer setup
- Download and install Apache Kafka
- Once the download is done , open the config/consumer.properties file and make the below changes
group.id=test-consumer-group # What to do when there is no initial offset in Kafka or if the current # offset does not exist any more on the server: latest, earliest, none #auto.offset.reset= security.protocol=SSL ssl.truststore.password=#### ssl.truststore.location=/Users/shubham.mittal/Documents/hermeskafka/hermesQuickStart/hermestruststore.p12 ssl.truststore.type=PKCS12 ssl.keystore.password=##### ssl.keystore.location=/Users/shubham.mittal/Documents/hermeskafka/hermesQuickStart/hermesdemoKafkaKeystore.p12 ssl.keystore.type=PKCS12 ssl.key.password=####
Add the truststore and the key password that you have defined while setting the hermes messaging service.
Now let's also do the same configuration in the config/producer.properties to act your local kafka as a producer as well.
the cli commands to start the local kafka as a consumer is
./bin/kafka-console-consumer.sh --consumer.config ./config/consumer.properties --topic snc.<instance_name>.<namespace>.sn_<app_id>.<topic_name> --group snc.<instance_name>.<consumer_group_id> --from-beginning --bootstrap-server <instance_name>.service-now.com:4100,<instance_name>.service-now.com:4101,<instance_name>.service-now.com:4102,<instance_name>.service-now.com:4103
and to act as a producer is
./bin/kafka-console-producer.sh --topic snc.<instance_name>.<namespace>.sn_<app_id>.<topic_name> --producer.config ./config/producer.properties --bootstrap-server <instance_name>.service-now.com:4000,<instance_name>.service-now.com:4001,<instance_name>.service-now.com:4002,<instance_name>.service-now.com:4003
the sample flow to consume messages is
hermesmessaging #kafkastreamconnect
https://www.servicenow.com/community/telecomm-blog/how-to-post-topics-using-hermes-kafka-messaging-and-kafka-stream/ba-p/2535565