Multi App mode
Karafka Web UI can support data collection, aggregation, and presentation from multiple applications in a single dashboard. This is particularly useful for anyone dealing with micro-services that operate in the same Kafka cluster and are part of the same application.
Here are the steps necessary to configure Karafka Web-UI to work in a multi-app mode:
-
Please follow the Getting Started guidelines and configure each of the applications independently. You don't have to mount the routing in every application, but each app needs to be able to report to Kafka.
-
Mount the Web UI into one of your applications.
-
Disable aggregated metrics materialization in all the applications except one. One application needs to be able to materialize the metrics, and this application needs to use at least one
karafka server
instance. To disable metrics materialization, deactivate the reporting using theKarafka::Web
configuration:
# Put this at the end of your karafka.rb but BEFORE you activate the Web
Karafka::Web.setup do |config|
# Set this to false in all apps except one
config.processing.active = false
end
- Use Karafka Tagging API to tag each of the applications with its unique name:
Karafka::Process.tags.add(:application_name, 'MyApp1')
- Deploy all the applications, open the Web UI, and enjoy.