Skip to content

Latest commit

 

History

History
143 lines (78 loc) · 4.18 KB

EndToEndDemo.adoc

File metadata and controls

143 lines (78 loc) · 4.18 KB

End to End Demo

In this section we integrate all the different pieces to show information flowing from the demostration website all the way through to Elasticsearch and Kibana.

Note
Instructions assume all the different components have been installed as per here. It’s also assumed that the link:scripts/shell-setup.sh

Component Setup

Test App

Open the test app in a window using the route printed by this

echo "http://$(oc get route quarkus-transaction-crud -o jsonpath='{ .spec.host }')/"

demo app

Kafka

To be able to see events that come in from the Debezium Connector setup a shell with a kafka consumer. Open a shell and run the following command:

oc exec -c kafka my-cluster-kafka-0 -n debezium-cdc -- /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sampledb.sampledb.transaction

kafka shell

Fuse Online

Display the activity window of the integration.

  1. Open the Fuse Online window

echo "https://$(oc get route syndesis -n debezium-cdc -o jsonpath='{ .spec.host }')"
  1. Start the integration if it hasn’t been already

syndesis start integration

  1. After a few minutes the integration should start up. Then click view and then select the Activity tab

syndesis view activity

  1. The refresh button can be used to see events processed by the integration

Grafana Dashboard

Show the stats visualized out of the Debezium Connector

  1. Open the Grafana Dashboard

echo "https://$(oc get route grafana-route -n debezium-monitoring -o jsonpath='{.spec.host}')"
  1. Select the Debezium MySQL Connector dashboard

syndesis open dashboard

  1. Update the polling on the dashboard to be as frequent as possible

grafana polling options

Note
Viewing active connector

Be sure that the dashboard is setting an active node’s data as sometimes it can fix on a connector’s data that is not currently active

grafana connector ip

Kibana and Elasticsearch

For this, we want to be able to show the log entries in Elasticsearch that make it through our Fuse Online integration. One of the best ways to visualize this is to use the Kibana instance that was created as part of the Cluster Logging Installation

  1. Open the kibana dashboard by opening the route below:

echo "https://$(oc get route kibana -n openshift-logging -o jsonpath="'{ .spec.host }')/
  1. Select Management and then select Index patterns

kibana management

  1. Press Create Index and then on the screen that appears, clear the Index Pattern text box and type in transaction* for find the indexes that are created by our Fuse Online Integration. Then press Create

kibana create index

  1. Upon clicking create, you should see a screen with the fields of the index. Verify these are the correct fields

kibana index transaction

Window Layout

Here’s a possible layout of windows

possible window layout

Demo Steps

Purchase Item Less than $1000

FIXME

  1. Go to the demo app, purchase an item less than $1000

  2. Notice change in Grafana Dashboard

  3. Notice the change data event in kafka consumer

  4. Refresh the Fuse Online activity

  5. Look at the details of the Fuse Online activity

  6. Open the entry corresponding to this purchase and show that Elasticsearch did not get called as purchased item is less than $1000

syndesis filtered

Purchase Item Greater than $1000

FIXME

  1. Go to the demo app, purchase an item greater than $1000

  2. Notice change in Grafana Dashboard

  3. Refresh the Fuse Online activity

  4. Look at the details of the Fuse Online activity

  5. Open the entry corresponding to this purchase and show that Elasticsearch did get called as purchased item is more than $1000

syndesis greater than

  1. Show new entry under transaction log in Kibana

  2. Show that the amount and transactionNo matches that in the kafka window