|
1 | 1 | [[streams-monitoring]] |
2 | 2 | = Stream Monitoring |
3 | 3 |
|
4 | | -This section describes how to monitor the applications that were deployed as part of a Stream. |
5 | | -The setup for each platform is different but the general architecture is the same across the platforms. |
6 | | - |
7 | | -The Data Flow 2.x metrics architecture is designed around the https://micrometer.io/[Micrometer library] which is a Vendor-neutral application metrics facade. |
8 | | -It provides a simple facade over the instrumentation clients for the most popular monitoring systems. |
9 | | -See the https://micrometer.io/docs[Micrometer documentation] for the list of supported monitoring systems. |
10 | | -Starting with Spring Boot 2.0, Micrometer is the instrumentation library https://docs.spring.io/spring-integration/docs/current/reference/html/system-management-chapter.html#micrometer-integration[powering the delivery of application metrics from Spring Boot]. |
11 | | -Spring Integration provides https://docs.spring.io/spring-integration/docs/current/reference/html/system-management-chapter.html#micrometer-integration[additional integration] to expose metrics around message rates and errors which is critical to the monitoring of deployed Streams. |
12 | | - |
13 | | -All Spring Cloud Stream App Starters are configured to support two of the most popular monitoring systems, Prometheus and InfluxDB. |
14 | | -You can declaratively select which monitoring system to use. |
15 | | -If you are not using Prometheus or InfluxDB, you can customise the App starters to use a different monitoring system as well as include your preferred micrometer monitoring system library in your own custom applications. |
16 | | -To help you get started monitoring Streams, Data Flow provides https://grafana.com/[Grafana Dashboards] you can install and customize for your needs. Support for monitoring Tasks is on the roadmap. |
17 | | - |
18 | | -The general architecture of how applications are monitored is shown below. |
19 | | - |
20 | | -.The Spring Cloud Data Flow Monitoring Architecture |
21 | | -image::{dataflow-asciidoc}/images/micrometer-arch.png[Micrometer Monitoring Architecture, scaledwidth="80%"] |
22 | | - |
23 | | -.Each Spring Cloud Stream application sends send metrics to a monitoring system, often a Time Series Database (TSDB). |
24 | | -.Connect Grafana to the selected monitoring system and install the provided Grafana dashboards that visualize different aspects of the running stream applications.. |
25 | | -.The Data Flow UI provides buttons to open the Grafana dashboard for each stream. |
26 | | - |
27 | | -To allow aggregating metrics per application type, per instance or per stream the Spring <<applications,Cloud Stream Application Starters>> are configured to use the following Micrometer tags: |
28 | | - |
29 | | -[width="100%",frame="topbot",options="header"] |
30 | | -|=== |
31 | | -|Tag Name| Description |
32 | | - |
33 | | -|stream.name |
34 | | -|Name of the Stream that contains the applications sending the metrics |
35 | | - |
36 | | -|application.name |
37 | | -|Name or label of the application reporting the metrics |
38 | | - |
39 | | -|application.type |
40 | | -|The type (Sourcer, Processor or SInk) of the application reporting the metrics. |
41 | | - |
42 | | -|application.guid |
43 | | -|Unique instance identifier of the application instance reporting the metrics |
44 | | - |
45 | | -|application.index |
46 | | -|application instance id (when available) |
47 | | - |
48 | | -|=== |
49 | | - |
50 | | -If the Data Flow server is started with the `spring.cloud.dataflow.grafana-info.url` property pointing to your Grafana URL, then the Grafana feature is enabled and Data Flow UI will provide you with Grafana-buttons that can open particular dashboard for given stream, application or application instance. Following screenshot illustrates these buttons: |
51 | | - |
52 | | -image::{dataflow-asciidoc}/images/grafana-scdf-ui-buttons-streams.png[Data Flow UI Grafana Buttons - Streams, scaledwidth="70%"] |
53 | | - |
54 | | -image::{dataflow-asciidoc}/images/grafana-scdf-ui-buttons-apps.png[Data Flow UI Grafana Buttons - Applications, scaledwidth="70%"] |
55 | | - |
56 | | -As setting up Prometheus and InfluxDB is different depending on the platform you are running on, we provide instructions for each platform. |
57 | | -In Spring Cloud Data Flow 2.x, local server and Kubernetes instructions have been provided. |
58 | | - |
59 | | -include::streams-monitoring-local.adoc[] |
60 | | -include::streams-monitoring-kubernetes.adoc[] |
61 | | - |
| 4 | +Please see the link:https://dataflow.spring.io/docs/feature-guides/streams/monitoring/[Stream Monitoring] Guide of the microsite for more information on how to monitor the applications that were deployed as part of a Stream. |
62 | 5 |
|
0 commit comments