.. _sd2_flow:

SD2 Data Flow Process
=====================


.. image:: training_images/sd2_data_flow.svg
   :target: training_images/sd2_data_flow.svg
   :alt: sd2_data_flow


#. Service squad adds new data entries in GitHub repository for
   EpMon (service URL queries), adjusting flag and health
   metrics if required, and adds a service entry in the SD catalog.
#. Cloudmon fetches public configuration from GitHub and internal
   configuration (credentials, certs, keys, ...) from a local
   repository place to generate the final configuration.
#. EpMon plugin is executed and triggers HTTP requests as defined
   by the configuration.
#. Metrics resulting by the HTTP requests are collected by Statsd.
#. Collected metrics are stored in the time series database Graphite.
#. The Metric Processor evaluates HTTP metrics from Graphite TSDB
   and generates new flag and health metrics based on defined
   rules and thresholds in configuration.
#. Status Dashboard changes service health semaphore based on the
   resulting health metrics from the Metric Procesor.
#. Grafana uses metrics and statistics databases as the data
   sources for the dashboards. The dashboard with various panels
   shows the real-time status of the platform. Grafana supports
   also historical views and trends.
