4

次のような PostgreSQL ヘルス インジケーターを作成しました。

@Component
public class PostgresHealthIndicator extends AbstractHealthIndicator {

    @Autowired
    DataSource postgresDataSource;

    public DataSourceHealthIndicator dbHealthIndicator() {
        DataSourceHealthIndicator indicator = new DataSourceHealthIndicator(postgresDataSource);
        return indicator;
    }

    @Override
    protected void doHealthCheck(Health.Builder builder) throws Exception {
        Health h = dbHealthIndicator().health();
        Status status = h.getStatus();
        if (status != null && "DOWN".equals(status.getCode())) {
            builder.down();
        } else {
            builder.up();
        }
    }
}

私の Application.java では、このコンポーネントのこのパッケージをスキャンしています:

@ComponentScan({"com.bp.health"})

私のapplication.propertiesには、次のセットがあります。

endpoints.health.sensitive=false
endpoints.health.id=health
endpoints.health.enabled=true

{url}/health を押すと、次のように表示されます。

{"ステータス":"ダウン"}

カスタム ヘルス インジケーターを表示するにはどうすればよいですか?

4

2 に答える 2

9

すべての詳細を表示するには、認証を受ける必要があります。または、設定することもできます

management.security.enabled=false
endpoints.health.sensitive=false

認証されていない完全なコンテンツを表示するには

詳細については、こちらを参照してください: 生産準備完了の監視

于 2016-08-29T15:08:58.980 に答える
2

なぜあなたはそれをすべてやりたいのですか?そのコードはコンパイルさえせず、Spring Boot はデフォルトでデータ ソースをチェックします。認証されていないためにステータスのみが表示される場合は、ドキュメントのこの表で詳細を確認してください。

于 2016-04-29T01:24:47.810 に答える