Spring boot actuator端點啟用和暴露操作
默認情況下,除了shutdown端點是關閉的,其它的都是啟用的。配置一個端點的啟用,使用management.endpoint…enabled屬性,
下面的例子是啟用shutdown端點:management.endpoint.shutdown.enabled=true
如果你個人更喜歡自定義端點的啟用和關閉,可以使用如下屬性
management.endpoints.enabled-by-default=false
上面這個屬性將關閉所有端點啟用情況,自己可以單獨的通過設置enabled屬性啟用端點;
下面的示例示關閉所有的端點,并且啟用info端點:management.endpoints.enabled-by-default = falsemanagement.endpoint.info.enabled = true
禁用端點會被從ApplicationContext上下文中刪除,如果只是想從技術上更改端點的暴露,可以使用include和exclude屬性替代。
公開端點由于端點可能包含敏感信息,應該仔細的考慮什么時候暴露它們,
下面的表格展示了內置端點的暴露情況:ID JMX Web auditevents 是 沒有 beans 是 沒有 caches 是 沒有 conditions 是 沒有 configprops 是 沒有 env 是 沒有 flyway 是 沒有 health 是 是 heapdump N / A 沒有 httptrace 是 沒有 info 是 是 integrationgraph 是 沒有 jolokia N / A 沒有 logfile N / A 沒有 loggers 是 沒有 liquibase 是 沒有 metrics 是 沒有 mappings 是 沒有 prometheus N / A 沒有 scheduledtasks 是 沒有 sessions 是 沒有 shutdown 是 沒有 threaddump 是 沒有 要更改端點暴露,使用下面的特定技術include和 exclude特性:屬性 默認 management.endpoints.jmx.exposure.excludemanagement.endpoints.jmx.exposure.include * management.endpoints.web.exposure.excludemanagement.endpoints.web.exposure.include info, healthinclude屬性列出暴露端點的ID,exclude屬性列出不應該暴露端點的ID;exclude屬性的優先級高于include屬性,include和exclude屬性都可以使用端點列表來配置ID。
例如要停止通過JMX公開所有端點并僅顯示端點health和 info端點,請使用以下屬性:
management.endpoints.jmx.exposure.include=health,info
*可用于選擇所有端點。例如,要通過HTTP公開除了env和beans端點之外的所有內容,請使用以下屬性:
management.endpoints.web.exposure.include=*management.endpoints.web.exposure.exclude=env,beans
在YAML中有特殊的含義,所以如果想使用include或者exclude包含所有的端點時要加上雙引號,如下示例:
management: endpoints: web: exposure:include: '*'
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
