diff --git a/apps/emqx_prometheus/src/emqx_prometheus_mria.erl b/apps/emqx_prometheus/src/emqx_prometheus_mria.erl index 8fd9edcdc..7a8b23b75 100644 --- a/apps/emqx_prometheus/src/emqx_prometheus_mria.erl +++ b/apps/emqx_prometheus/src/emqx_prometheus_mria.erl @@ -80,7 +80,12 @@ get_shard_metric(Metric) -> get_shard_metric(replicants, Shard) -> length(mria_status:agents(Shard)); get_shard_metric(Metric, Shard) -> - maps:get(Metric, mria_status:get_shard_stats(Shard), undefined). + case mria_status:get_shard_stats(Shard) of + #{Metric := Value} when is_number(Value) -> + Value; + _ -> + undefined + end. catch_all(DataFun) -> try DataFun()