@@ -155,10 +155,10 @@ in your `ApplicationContext`. Spring Boot includes a number of auto-configured
155155
156156=== Security with HealthIndicators
157157Information returned by `HealthIndicators` is often somewhat sensitive in nature. For
158- example and you probably don't want to publish details of your database server to the
159- world. For this reason, by default, only the health status is exposed on an insecure HTTP
160- connection. If you are happy for complete heath information to always be exposed you can
161- set `endpoints.health.sensitive` to `false`.
158+ example, you probably don't want to publish details of your database server to the
159+ world. For this reason, by default, only the health status is exposed over an
160+ unauthenticated HTTP connection. If you are happy for complete heath information to always
161+ be exposed you can set `endpoints.health.sensitive` to `false`.
162162
163163Heath responses are also cached to prevent "`denial of service`" attacks. Use the
164164`endpoints.health.time-to-live` property if you want to change the default cache period
@@ -169,6 +169,7 @@ of 1000 milliseconds.
169169==== Auto-configured HealthIndicators
170170The following `HealthIndicators` are auto-configured by Spring Boot when appropriate:
171171
172+ [cols="1,4"]
172173|===
173174|Name |Description
174175
@@ -220,9 +221,9 @@ additional details to be displayed.
220221 }
221222----
222223
223- In addition to Spring Boot's default {sc-spring-boot-actuator}/health/Status.{sc-ext}[`Status`]
224- types, it is also possible to introduce custom `Status` types to represent more
225- complex system states . In such cases a custom implementation of the
224+ In addition to Spring Boot's predefined {sc-spring-boot-actuator}/health/Status.{sc-ext}[`Status`]
225+ types, it is also possible for `Health` to return a custom `Status` that represents a
226+ new system state . In such cases a custom implementation of the
226227{sc-spring-boot-actuator}/health/HealthAggregator.{sc-ext}[`HealthAggregator`]
227228interface also needs to be provided, or the default implementation has to be configured
228229using the `management.health.status.order` configuration property.
@@ -277,7 +278,7 @@ Maven '`project properties`' via `@..@` placeholders, e.g.
277278 project.name=Demo
278279 project.version=X.X.X.X
279280 project.description=Demo project for info endpoint
280- info.build.artifact=${ project.artifactId}
281+ info.build.artifact=@ project.artifactId@
281282 info.build.name=@project.name@
282283 info.build.description=@project.description@
283284 info.build.version=@project.version@
@@ -367,16 +368,17 @@ for Gradle users, although a little more work is required to generate the proper
367368[[production-ready-monitoring]]
368369== Monitoring and management over HTTP
369370If you are developing a Spring MVC application, Spring Boot Actuator will auto-configure
370- all non-sensitive endpoints to be exposed over HTTP. The default convention is to use the
371+ all enabled endpoints to be exposed over HTTP. The default convention is to use the
371372`id` of the endpoint as the URL path. For example, `health` is exposed as `/health`.
372373
373374
374375
375376[[production-ready-sensitive-endpoints]]
376- === Exposing sensitive endpoints
377- If you use '`Spring Security`' sensitive endpoints will be exposed over HTTP, but also
378- protected. By default '`basic`' authentication will be used with the username `user`
379- and a generated password (which is printed on the console when the application starts).
377+ === Securing sensitive endpoints
378+ If you add '`Spring Security`' to you project, all sensitive endpoints exposed over HTTP
379+ will be protected. By default '`basic`' authentication will be used with the username
380+ `user` and a generated password (which is printed on the console when the application
381+ starts).
380382
381383TIP: Generated passwords are logged as the application starts. Search for '`Using default
382384security password`'.
@@ -760,6 +762,23 @@ NOTE: In this example we are actually accessing the endpoint over HTTP using the
760762
761763
762764
765+ [[production-ready-system-metrics]]
766+ === System metrics
767+ The following system metrics are exposed by Spring Boot:
768+
769+ * The total system memory in Kb (`mem`)
770+ * The amount of free memory in Kb (`mem.free`)
771+ * The number of processors (`processors`)
772+ * The system uptime in milliseconds (`uptime`)
773+ * The application context uptime in milliseconds (`instance.uptime`)
774+ * The average system load (`systemload.average`)
775+ * Heap information in Kb (`heap`, `heap.committed`, `heap.init`, `heap.used`)
776+ * Thread information (`threads`, `thread.peak`, `thead.daemon`)
777+ * Class load information (`classes`, `classes.loaded`, `classes.unloaded`)
778+ * Garbage collection information (`gc.xxx.count`, `gc.xxx.time`)
779+
780+
781+
763782[[production-ready-datasource-metrics]]
764783=== DataSource metrics
765784The following metrics are exposed for each supported `DataSource` defined in your
@@ -788,6 +807,14 @@ beans if your favorite data source isn't supported out of the box. See
788807
789808
790809
810+ [[production-ready-session-metrics]]
811+ === Tomcat session metrics
812+ If you are using Tomcat as your embedded servlet container, session metrics will
813+ automatically be exposed. The `httpsessions.active` and `httpsessions.max` keys provide
814+ the number of active and maximum sessions.
815+
816+
817+
791818[[production-ready-recording-metrics]]
792819=== Recording your own metrics
793820To record your own metrics inject a
@@ -857,14 +884,16 @@ an `Exporter` interface and a few basic implementations for you to get started w
857884
858885
859886[[production-ready-code-hale-metrics]]
860- === Coda Hale Metrics
861- User of the http://metrics.codahale.com/[Coda Hale '`Metrics`' library] will automatically
862- find that Spring Boot metrics are published to `com.codahale.metrics.MetricRegistry`. A
863- default `com.codahale.metrics.MetricRegistry` Spring bean will be created when you declare
864- a dependency to the `com.codahale.metrics:metrics-core` library; you can also register you
865- own `@Bean` instance if you need customizations.
866-
867- Users can create Coda Hale metrics by prefixing their metric names with the appropriate
887+ === Dropwizard Metrics
888+ User of the https://dropwizard.github.io/metrics/[Dropwizard '`Metrics`' library] will
889+ automatically find that Spring Boot metrics are published to
890+ `com.codahale.metrics.MetricRegistry`. A default `com.codahale.metrics.MetricRegistry`
891+ Spring bean will be created when you declare a dependency to the
892+ `io.dropwizard.metrics:metrics-core` library; you can also register you own `@Bean`
893+ instance if you need customizations. Metrics from the `MetricRegistry` are also
894+ automatically exposed via the `/metrics` endpoint
895+
896+ Users can create Dropwizard metrics by prefixing their metric names with the appropriate
868897type (e.g. `+histogram.*+`, `+meter.*+`).
869898
870899
0 commit comments