fix(prometheus): license expiry and schema_registry only for ee

This commit is contained in:
JimMoen 2024-01-15 10:14:51 +08:00
parent 38a90bd273
commit 4b23930fce
No known key found for this signature in database
2 changed files with 37 additions and 11 deletions

View File

@ -175,11 +175,9 @@ collect_mf(?PROMETHEUS_DEFAULT_REGISTRY, Callback) ->
Metrics = emqx_metrics:all(),
Stats = emqx_stats:getstats(),
VMData = emqx_vm_data(),
LicenseData = emqx_license_data(),
ClusterData = emqx_cluster_data(),
CertsData = emqx_certs_data(),
%% TODO: license expiry epoch and cert expiry epoch should be cached
_ = [add_collect_family(Name, LicenseData, Callback, gauge) || Name <- emqx_license()],
_ = [add_collect_family(Name, CertsData, Callback, gauge) || Name <- emqx_certs()],
_ = [add_collect_family(Name, Stats, Callback, gauge) || Name <- emqx_stats:names()],
_ = [add_collect_family(Name, VMData, Callback, gauge) || Name <- emqx_vm()],
@ -192,6 +190,7 @@ collect_mf(?PROMETHEUS_DEFAULT_REGISTRY, Callback) ->
_ = [add_collect_family(Name, Metrics, Callback, counter) || Name <- emqx_metrics_olp()],
_ = [add_collect_family(Name, Metrics, Callback, counter) || Name <- emqx_metrics_acl()],
_ = [add_collect_family(Name, Metrics, Callback, counter) || Name <- emqx_metrics_authn()],
ok = maybe_collect_family_license(Callback),
ok;
collect_mf(_Registry, _Callback) ->
ok.
@ -201,13 +200,11 @@ collect(<<"json">>) ->
Metrics = emqx_metrics:all(),
Stats = emqx_stats:getstats(),
VMData = emqx_vm_data(),
LicenseData = emqx_license_data(),
%% TODO: FIXME!
%% emqx_metrics_olp()),
%% emqx_metrics_acl()),
%% emqx_metrics_authn()),
#{
license => maps:from_list([collect_stats(Name, LicenseData) || Name <- emqx_license()]),
(maybe_collect_license())#{
certs => collect_certs_json(emqx_certs_data()),
stats => maps:from_list([collect_stats(Name, Stats) || Name <- emqx_stats:names()]),
metrics => maps:from_list([collect_stats(Name, VMData) || Name <- emqx_vm()]),
@ -237,6 +234,24 @@ collect_metrics(Name, Metrics) ->
add_collect_family(Name, Data, Callback, Type) ->
Callback(create_mf(Name, _Help = <<"">>, Type, ?MODULE, Data)).
-if(?EMQX_RELEASE_EDITION == ee).
maybe_collect_family_license(Callback) ->
LicenseData = emqx_license_data(),
_ = [add_collect_family(Name, LicenseData, Callback, gauge) || Name <- emqx_license()],
ok.
maybe_collect_license() ->
LicenseData = emqx_license_data(),
#{license => maps:from_list([collect_stats(Name, LicenseData) || Name <- emqx_license()])}.
-else.
maybe_collect_family_license(_) ->
ok.
maybe_collect_license() ->
#{}.
-endif.
%%--------------------------------------------------------------------
%% Collector
%%--------------------------------------------------------------------
@ -707,6 +722,7 @@ emqx_cluster_data() ->
{nodes_stopped, length(Stopped)}
].
-if(?EMQX_RELEASE_EDITION == ee).
emqx_license() ->
[
emqx_license_expiry_at
@ -716,6 +732,9 @@ emqx_license_data() ->
[
{expiry_at, emqx_license_checker:expiry_epoch()}
].
-else.
-endif.
emqx_certs() ->
[

View File

@ -86,11 +86,10 @@ collect_mf(?PROMETHEUS_DATA_INTEGRATION_REGISTRY, Callback) ->
Rules = emqx_rule_engine:get_rules(),
_ = [add_collect_family(Name, rules_data(Rules), Callback, gauge) || Name <- rules()],
_ = [add_collect_family(Name, actions_data(Rules), Callback, gauge) || Name <- actions()],
_ = [add_collect_family(Name, schema_registry_data(), Callback, gauge) || Name <- schema_registry()],
_ = [add_collect_family(Name, connectors_data(), Callback, gauge) || Name <- connectors()],
_ = [add_collect_family(Name, rule_specific_data(Rules), Callback, gauge) || Name <- rule_specific()],
_ = [add_collect_family(Name, action_specific_data(), Callback, gauge) || Name <- action_specific()],
ok = maybe_collect_family_schema_registry(Callback),
ok;
collect_mf(_, _) ->
ok.
@ -108,6 +107,18 @@ add_collect_family(Name, Data, Callback, Type) ->
collect_metrics(Name, Metrics) ->
collect_di(Name, Metrics).
-if(?EMQX_RELEASE_EDITION == ee).
maybe_collect_family_schema_registry(Callback) ->
_ = [
add_collect_family(Name, schema_registry_data(), Callback, gauge)
|| Name <- schema_registry()
],
ok.
-else.
maybe_collect_family_schema_registry(_) ->
ok.
-endif.
%%--------------------------------------------------------------------
%% Collector
%%--------------------------------------------------------------------
@ -306,11 +317,7 @@ schema_registry_data() ->
emqx_schema_registry_count => erlang:map_size(emqx_schema_registry:list_schemas())
}.
-else.
schema_registry() ->
[].
schema_registry_data() ->
#{}.
-endif.
%%====================