- Rename spring-cloud-dataflow-samples/tree/master/micrometer to spring-cloud-dataflow-samples/tree/master/micrometer-samples - Rename spring-cloud-dataflow-samples/tree/master/micrometer/tasks to spring-cloud-dataflow-samples/tree/master/micrometer-samples/task-apps - Add the apps under spring-cloud-dataflow-samples/tree/master/micrometer/stream-apps - Describe or cross-link the description of the new architecture in the root README - Add microsite SCDF monitoring links Resolves #122
35 lines
2.0 KiB
Markdown
35 lines
2.0 KiB
Markdown
# Monitoring Architecture: Spring Cloud Data Flow + Prometheus RSocket Proxy
|
|
|
|
The Data Flow metrics architecture is designed around the [Micrometer](https://micrometer.io/) library - vendor-neutral application metrics facade.
|
|
The Spring Cloud Data Flow server leverages the [Prometheus RSocket Proxy](https://github.com/micrometer-metrics/prometheus-rsocket-proxy),
|
|
for monitoring of `tasks`, which are short lived, as well as long lived `stream` applications.
|
|
The RSocket based monitoring architecture is reusable across the Local, Kubernetes and Cloud Foundry platforms.
|
|
|
|
The prebuilt `stream` and `task` applications support the Prometheus Proxy RSocket monitoring architecture.
|
|
|
|
The [stream-apps](./stream-apps/) samples shows how to enable monitoring for custom built `source`, `processor` and `sink` apps.
|
|
|
|
The [task-apps](./task-apps/) sample shows how to enable monitoring for custom built `task` apps.
|
|
|
|
The following image shows the general architecture of how the Stream applications are monitored:
|
|
|
|

|
|
|
|
and the same architecture is used for monitoring the tasks as well.
|
|
|
|

|
|
|
|
Prometheus is configured to scrape each rsocket-proxy instance.
|
|
Proxies in turn use the RSocket connection to pull metrics from each application.
|
|
The scraped metrics are then viewable through Grafana dashboards.
|
|
|
|
Following animated diagram shows the metrics collection flow:
|
|
|
|

|
|
|
|
#### Spring Cloud Data Flow Monitoring Related Documentation
|
|
|
|
- [SCDF Monitoring](https://dataflow.spring.io/docs/2.3.0.SNAPSHOT/concepts/monitoring/)
|
|
- [Stream Monitoring with Prometheus and InfluxDB](https://dataflow.spring.io/docs/2.3.0.SNAPSHOT/feature-guides/streams/monitoring/).
|
|
- [Task and Batch Monitoring with Prometheus and InfluxDB](https://dataflow.spring.io/docs/2.3.0.SNAPSHOT/feature-guides/batch/monitoring/#task-and-batch-monitoring-with-prometheus-and-influxdb)
|