logo

NJP

How to post topics using Hermes Kafka messaging and Kafka Stream Connect

Import · Apr 16, 2023 · article

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.

Shubham44_0-1681643773247.png

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.

Shubham44_1-1681643950550.png

After the action is created , please add that to the flow.

Consumer setup

  1. Download and install Apache Kafka
  2. 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

Shubham44_3-1681645054903.png

hermesmessaging #kafkastreamconnect

View original source

https://www.servicenow.com/community/telecomm-blog/how-to-post-topics-using-hermes-kafka-messaging-and-kafka-stream/ba-p/2535565