# How to monitor Spring Cloud Task The `task-demo-metrics-wavefront` project creates a sample Spring Cloud Task (and Spring Batch) with the monitoring infrastructure, so it can be monitored in Spring Cloud Data Flow. ## Create custom Spring Cloud Task If you use the provided `task-demo-metrics-wavefront` source code you can skip this section. Otherwise, follow the instructions below to build new Task with enabled Wavefront monitoring Follow the [Task development instructions](https://docs.spring.io/spring-cloud-task/docs/2.0.0.RELEASE/reference/htmlsingle/#getting-started-developing-first-task) and then: * Set the parent `POM` version of Boot to 2.3.1.RELEASE or latest ```xml org.springframework.boot spring-boot-starter-parent 2.3.1.RELEASE ``` * Make sure that `spring-cloud-dependencies` version `Hoxton.SR6` or newer are imported: ```xml org.springframework.cloud spring-cloud-dependencies Hoxton.SR6 pom import ``` * Add dependencies to enable the `Spring Cloud Task` (and optionally `Spring Task Batch`) functionality and to configure the jdbc dependencies for the task repository. ```xml org.springframework.cloud spring-cloud-starter-task org.springframework.boot spring-boot-starter-batch ``` * Add dependencies to configure the jdbc dependencies for the task repository: ```xml org.springframework.boot spring-boot-starter-jdbc org.mariadb.jdbc mariadb-java-client runtime ``` * Add dependencies to configure Micrometer integration: ```xml org.springframework.boot spring-boot-starter-actuator io.micrometer micrometer-registry-wavefront ``` ## Build Run ``` ./mvnw clean install ``` Will produce `task-demo-metrics-wavefront-2.0.0-SNAPSHOT.jar` task application under the `target` folder. ## Spring Cloud Data Flow server Follow the [Task Monitoring](https://dataflow.spring.io/docs/feature-guides/batch/monitoring) instructions to register, run and monitor the task sample using Influx, Wavefront or Prometheus on the desired platform. ## Docker images Build and publish docker image ## Fabric8 - Maven plugin ``` ./mvnw clean install docker:build ./mvnw docker:push ``` ## Jib - Maven plugin ``` ./mvnw clean install jib:build ``` or for test purposes build a local image: ``` ./mvnw clean install jib:dockerBuild ``` ## Dockerfile ``` ./mvnw clean install docker build -t springcloud/task-demo-metrics-wavefront:dockerfile . ```