Commit Graph

50 Commits

Author SHA1 Message Date
Madhura Bhave 4b2c94cb2b Allow exclude only health groups
Closes gh-22053
2020-07-28 12:36:24 -07:00
Andy Wilkinson ddb4de2db1 Merge branch '2.3.x'
Closes gh-22630
2020-07-28 18:27:13 +01:00
Andy Wilkinson 77287f8632 Merge branch '2.2.x' into 2.3.x
Closes gh-22629
2020-07-28 18:27:01 +01:00
Stephane Nicoll c6fde1e4d5 Polish "Update Neo4j health check to use the Neo4j Driver"
See gh-22302
2020-07-28 16:36:58 +02:00
Andy Wilkinson 65d45c4e25 Merge branch '2.3.x'
Closes gh-22619
2020-07-28 13:26:35 +01:00
dreis2211 be8a70936d Add ElasticsearchReactiveHealthIndicator to docs
See gh-22616
2020-07-28 13:25:04 +01:00
Andy Wilkinson 8be8cc5452 Merge branch '2.3.x'
Closes gh-22618
2020-07-28 13:22:46 +01:00
Andy Wilkinson a2ce39d7eb Merge branch '2.2.x' into 2.3.x
Closes gh-22617
2020-07-28 13:22:32 +01:00
Stephane Nicoll 3530ac9b0c Polish "Disable metrics export in integration tests"
See gh-21658
2020-07-24 15:43:17 +02:00
Brian Clozel c6df64aeb6 Merge branch '2.3.x' 2020-07-21 16:50:57 +02:00
Brian Clozel 03739e3097 Polish "Improve liveness/readiness health config"
See gh-22107
2020-07-21 16:50:03 +02:00
Brian Clozel 1d95e2f504 Merge branch '2.3.x'
Closes gh-22483
2020-07-21 16:24:37 +02:00
Brian Clozel fe807d6c0b Improve liveness/readiness health config
Prior to this commit, the application availability infrastructure
would mix the `AvailabilityState`, the `HealthIndicator` and the
`HealthGroup` concepts and would not align with the rest.

This commit auto-configures the livenessState and readinessState
health indicators with the relevant configuration properties.
Unlike other indicators, they are not enabled by default but might
be in future versions.

This also moves the `management.health.probes.enabled` property
to `management.endpoint.health.probes.enabled` since "probes" here
is not a health indicator but rather a configuration flag for the
health endpoint.

Finally, the probes auto-configuration is refined to automatically
add liveness and readiness indicators for the probes group if
they're not already present.

Closes gh-22107
2020-07-21 16:03:06 +02:00
Andy Wilkinson 19ad163486 Merge branch '2.3.x'
Closes gh-22411
2020-07-20 13:58:40 +01:00
Andy Wilkinson accc1f1ca8 Merge branch '2.2.x' into 2.3.x
Closes gh-22410
2020-07-20 13:58:19 +01:00
Andy Wilkinson 77eb5f7794 Polish "Add StatsD transport protocol configuration option"
See gh-22125
2020-06-29 09:47:17 +01:00
Lee Dobryden 5d41f60e45 Add StatsD transport protocol configuration option
See gh-22125
2020-06-29 09:47:08 +01:00
Stephane Nicoll 35e069e2cd Polish "Add health indicator for Cassandra that uses the CqlSession"
See gh-20887
2020-06-15 11:13:13 +02:00
Stephane Nicoll 7500f0f22d Add section about Kafka metrics support
Closes gh-21910
2020-06-15 09:18:40 +02:00
Stephane Nicoll 676cd10dbf Fix encoding of @Bean in reference documentation
Closes gh-21908
2020-06-15 08:32:26 +02:00
Phillip Webb 47729be4e3 Polish 'Clarify documentation for probe ports'
See gh-21650
2020-06-08 10:42:01 -07:00
Hui Li e6ade05c2d Clarify documentation for probe ports
Update the reference documentation to provide a better description of
the port that should be used for Kubernetes probes.

See gh-21650
2020-06-08 10:41:41 -07:00
Andy Wilkinson 96ae4864a2 Merge branch '2.2.x' into 2.3.x
Closes gh-21762
2020-06-08 17:42:02 +01:00
Stephane Nicoll 79a5ca2941 Merge branch '2.2.x' into 2.3.x 2020-06-05 16:25:24 +02:00
Brian Clozel 18e0db6326 Document health probes config property in Actuator section
This commit mentions the `management.health.probes.enabled`
configuration property in the Kubernetes Probes section of the Actuator
chapter.

Enabling this property is required if we need to expose Kubernetes
Probes in a non-Kubernetes environment.

Fixes gh-21505
2020-05-22 22:23:41 +02:00
Katada, Junya bc2a83062b Fix duplicate slashes in URL links
See gh-21108
2020-05-05 17:48:49 +02:00
Brian Clozel dfdee3e00e Revert "Add support for Reactor Netty Micrometer metrics"
This commit removes the support for Reactor Netty metrics since it
seems that Spring Boot should not use this feature:

* HTTP metrics are already covered by WebFlux
* TCP metrics are only meant to TCP server/clients
* allocator metrics are already provided by Netty and there is
no specific API to enable them here.

Closes gh-19388
2020-04-27 12:06:26 +02:00
Brian Clozel 956afdcf97 Add support for Reactor Netty Micrometer metrics
This commit enables the production of TCP and buffer allocator metrics
for Reactor Netty, client and server.

When applications use auto-configured server
(`NettyReactiveWebServerFactory`) and client (through
`WebClient.Builder`) instances, metrics will be enabled.

Note that HTTP metrics are not enabled here, since similar metrics are
already produced at the WebFlux level. Also, to avoid cardinality
explosion of metrics (through the URI tag), Reactor Netty offers
configurable infrastructure to deduplicate URI tags by turning expanded
URI instances into templated URIs. This is not targeted for Spring
usage.

Closes gh-19388
2020-04-26 22:10:39 +02:00
Andy Wilkinson d05c973e71 Polish 2020-04-23 11:49:07 +01:00
Stephane Nicoll fe90b2a251 Rename Service Level Agreement to Service Level Objective
This commit harmonizes our integration of Micrometer's Service Level
objectives.

Closes gh-21076
2020-04-23 10:13:17 +02:00
Madhura Bhave d648b98991 Merge branch '2.2.x'
Closes gh-20964
2020-04-14 16:55:40 -07:00
Phillip Webb 28da1da241 Update availability/probe documentation
Update the application availability and probes documentation following
the recent set of updates.

See gh-20962
2020-04-14 16:40:36 -07:00
Stephane Nicoll d571fb311f Add support for NewRelicClientProvider
Closes gh-20908
2020-04-10 11:34:19 +02:00
Andy Wilkinson 2d360ef155 Merge branch '2.2.x'
Closes gh-20897
2020-04-09 12:41:48 +01:00
Stephane Nicoll 888a81beba Migrate Kafka metrics to KafkaClientMetrics
Closes gh-20838
2020-04-06 16:45:56 +02:00
Dave Syer 5022ec500a Extra detail for Kubernetes probes
Provides a few more concrete details about how probes and Kubernetes
behave, so users can make more informed decisions.

See gh-19593
Closes gh-20660
2020-03-24 13:02:54 +01:00
Phillip Webb 0717de723f Polish 2020-03-23 20:03:44 -07:00
Brian Clozel 3cc0ab1583 Polish reference docs on Kubernetes Probes
See gh-19593
2020-03-23 21:23:51 +01:00
Stephane Nicoll 34b71561d3 Merge branch '2.2.x'
Closes gh-20619
2020-03-23 14:22:56 +01:00
Brian Clozel ffdf9a422f Polish Liveness and Readiness support
This commit moves the core Liveness and Readiness support to its own
`availability` package. We've made this a core concept independent of
Kubernetes.

Spring Boot now produces `LivenessStateChanged` and
`ReadinessStateChanged` events as part of the typical application
lifecycle.

Liveness and Readiness Probes (`HealthIndicator` components and health
groups) are still configured only when deployed on Kubernetes.

This commit also improves the documentation around Probes best practices
and container lifecycle considerations.

See gh-19593
2020-03-20 23:54:00 +01:00
Brian Clozel b30e5a60c5 Polish
See gh-19593
2020-03-19 20:07:35 +01:00
Brian Clozel fd0b2f6695 Add Kubernetes Liveness and Readiness Probes support
Prior to this commit and as of Spring Boot 2.2.0, we would advise
developers to use the Actuator health groups to define custom "liveness"
and "readiness" groups and configure them with subsets of existing
health indicators.

This commit addresses several limitations with that approach.

First, `LivenessState` and `ReadinessState` are promoted to first class
concepts in Spring Boot applications. These states should not only based
on periodic health checks. Applications should be able to track changes
(and adapt their behavior) or update states (when an error happens).

The `ApplicationStateProvider` can be injected and used by applications
components to get the current application state. Components can also
track specific `ApplicationEvent` to be notified of changes, like
`ReadinessStateChangedEvent` and `LivenessStateChangedEvent`.
Components can also publish such events with an
`ApplicationEventPublisher`. Spring Boot will track startup event and
application context state to update the liveness and readiness state of
the application. This infrastructure is available in the
main spring-boot module.

If Spring Boot Actuator is on the classpath, additional
`HealthIndicator` will be contributed to the application:
`"LivenessProveHealthIndicator"` and `"ReadinessProbeHealthIndicator"`.
Also, "liveness" and "readiness" Health groups will be defined if
they're not configured already.

Closes gh-19593
2020-03-19 14:11:00 +01:00
Andy Wilkinson 0315724126 Cache endpoint responses on a per-principal basis
Previously, any HTTP request to an endpoint that included a principal
would bypass the cache. This prevented authenticated requests from
making use of the cache and its configurable time-to-live.

This commit updates the caching operation invoker to include the
principal, if any, in its cache key. As a result, requests that
include a principal will make use of the cache, potentially returning
the result of a previous invocation of the same endpoint by the same
principal.

Closes gh-19538
2020-03-13 15:31:41 +00:00
Andy Wilkinson ef9960c69f Allow additional tags to be contributed to WebMvc and WebFlux defaults
Closes gh-20175
2020-03-13 09:38:29 +00:00
Johnny Lim 8526e66939 Polish
See gh-20498
2020-03-11 12:17:58 +01:00
Stephane Nicoll 363edfa00c Merge branch '2.2.x'
Closes gh-20221
2020-02-18 17:38:39 +01:00
Stephane Nicoll b21a41cde1 Merge branch '2.2.x'
Closes gh-20124
2020-02-11 14:27:33 +01:00
dreis2211 b49e01f67a Fix broken documentation links
See gh-19936
2020-01-27 14:14:30 +01:00
dreis2211 991bcf5ce4 Revisit documentation that mentions Gradle "compile" configuration
See gh-19797
2020-01-21 11:09:41 +01:00
Andy Wilkinson ce99db1902 Port the build to Gradle
Closes gh-19609
Closes gh-19608
2020-01-10 14:15:35 +00:00