fix(prometheus): Don't add DS metrics when feature is disabled

This commit is contained in:
ieQu1 2024-04-01 23:41:29 +02:00
parent b379f331de
commit f14c253dea
No known key found for this signature in database
GPG Key ID: 488654DF3FED6FDE
2 changed files with 21 additions and 8 deletions

View File

@ -212,14 +212,30 @@ collect_mf(?PROMETHEUS_DEFAULT_REGISTRY, Callback) ->
ok = add_collect_family(Callback, cert_metric_meta(), ?MG(cert_data, RawData)), ok = add_collect_family(Callback, cert_metric_meta(), ?MG(cert_data, RawData)),
ok = add_collect_family(Callback, mria_metric_meta(), ?MG(mria_data, RawData)), ok = add_collect_family(Callback, mria_metric_meta(), ?MG(mria_data, RawData)),
ok = add_collect_family( ok = maybe_add_ds_collect_family(Callback, RawData),
Callback, emqx_ds_builtin_metrics:prometheus_meta(), ?MG(ds_data, RawData)
),
ok = maybe_license_add_collect_family(Callback, RawData), ok = maybe_license_add_collect_family(Callback, RawData),
ok; ok;
collect_mf(_Registry, _Callback) -> collect_mf(_Registry, _Callback) ->
ok. ok.
maybe_add_ds_collect_family(Callback, RawData) ->
case emqx_persistent_message:is_persistence_enabled() of
true ->
add_collect_family(
Callback, emqx_ds_builtin_metrics:prometheus_meta(), ?MG(ds_data, RawData)
);
false ->
ok
end.
maybe_collect_ds_data(Mode) ->
case emqx_persistent_message:is_persistence_enabled() of
true ->
#{ds_data => emqx_ds_builtin_metrics:prometheus_collect(Mode)};
false ->
#{}
end.
%% @private %% @private
collect(<<"json">>) -> collect(<<"json">>) ->
RawData = emqx_prometheus_cluster:raw_data(?MODULE, ?GET_PROM_DATA_MODE()), RawData = emqx_prometheus_cluster:raw_data(?MODULE, ?GET_PROM_DATA_MODE()),
@ -254,7 +270,7 @@ add_collect_family(Name, Data, Callback, Type) ->
%% behaviour %% behaviour
fetch_from_local_node(Mode) -> fetch_from_local_node(Mode) ->
{node(), #{ {node(), (maybe_collect_ds_data(Mode))#{
stats_data => stats_data(Mode), stats_data => stats_data(Mode),
vm_data => vm_data(Mode), vm_data => vm_data(Mode),
cluster_data => cluster_data(Mode), cluster_data => cluster_data(Mode),
@ -267,7 +283,6 @@ fetch_from_local_node(Mode) ->
emqx_olp_data => emqx_metric_data(olp_metric_meta(), Mode), emqx_olp_data => emqx_metric_data(olp_metric_meta(), Mode),
emqx_acl_data => emqx_metric_data(acl_metric_meta(), Mode), emqx_acl_data => emqx_metric_data(acl_metric_meta(), Mode),
emqx_authn_data => emqx_metric_data(authn_metric_meta(), Mode), emqx_authn_data => emqx_metric_data(authn_metric_meta(), Mode),
ds_data => emqx_ds_builtin_metrics:prometheus_collect(Mode),
mria_data => mria_data(Mode) mria_data => mria_data(Mode)
}}. }}.

View File

@ -89,9 +89,7 @@ init_per_group(new_config, Config) ->
Apps = emqx_cth_suite:start( Apps = emqx_cth_suite:start(
[ [
%% coverage olp metrics %% coverage olp metrics
{emqx, {emqx, "overload_protection.enable = true"},
"overload_protection.enable = true\n"
"session_persistence.enable = true"},
{emqx_license, "license.key = default"}, {emqx_license, "license.key = default"},
{emqx_prometheus, #{config => config(default)}} {emqx_prometheus, #{config => config(default)}}
], ],