2016-10-31 113 views
2

我有兩個Spring Boot應用程序。我已經加入了Spring Boot Actuator。當我運行其中的一個,我可以看到diskSpaceSpring Boot Actuator無法顯示磁盤空間信息

{ 
    "status": "UP", 
    "diskSpace": { 
    "status": "UP", 
    "total": 399055067136, 
    "free": 346446485504, 
    "threshold": 10485760 
    } 
} 

然而,在其他服務,我只能看到:

{ 
    "status": "UP" 
} 

即使我再補充一點屬性,第二個服務:

management: 
    health: 
    diskspace: 
     enabled: true 

我仍然看不到diskSpace的信息。當我調試系統時,我看到這些屬性被收集,但沒有返回到UI。可能是什麼問題?

+0

可以共享代碼的第二致動器的任何可能性,你已經實現了DiskSpaceHealthIndicator –

+0

我沒有實現自定義運行狀況指示器。我剛剛添加了執行器依賴項。 – kamaci

+0

您爲低磁盤空間定義的閾值是多少? –

回答

0

,因爲只有管理員有權查看任何比這

{ 
    "status": "UP" 
} 

更多信息要查看所有數據,與任何身份驗證具有彈簧安全角色ADMIN的用戶。

+1

我已經調試了代碼,你是對的。它說:\t \t '如果(exposeHealthDetails(本金)){ \t \t \t回報this.cached; \t \t} 返回Health.status(this.cached.getStatus())建();' 我已禁用的登錄機制的應用。但我也設置了 '端點: 健康狀況: 敏感:虛假' 但是,Spring仍然需要一個經過身份驗證的用戶。據我所知,即使啓用了身份驗證,並且敏感性爲false,它應該是ADMIN用戶才能訪問此類信息。 – kamaci

+0

在這種情況下,我的理解問題。爲什麼在你的第一個彈簧啓動應用程序中你看到了所有的信息你在那裏管理? –

-1

彈簧啓動執行器的HealthIndicator會檢查可用磁盤空間並在其低於可配置閾值時報告Status#DOWN的狀態。

因此,在您的情況下,第二個應用程序的可用空間超過了閾值,因此hou沒有看到任何報告。

您可能可以在代碼中調試並查看可用磁盤空間和閾值的值。

讓我知道這是否有道理?

2

在情況下,如果你正在使用Spring Security的默認情況下是開啓的執行終端,你可以在你的陽明文件禁用它 -

management: 
    security: 
     enabled: false 
+0

幫助我。 –