fix(alarm): missing partition alarm

This commit is contained in:
zhouzb 2020-07-28 17:32:24 +08:00 committed by tigercl
parent 43b49edd28
commit 5676026e2a
2 changed files with 12 additions and 9 deletions

View File

@ -265,14 +265,16 @@ normalize(#alarm{name = Name,
deactivate_at => DeactivateAt, deactivate_at => DeactivateAt,
activated => Activated}. activated => Activated}.
normalize_message(high_system_memory_usage, _Details) -> normalize_message(high_system_memory_usage, #{high_watermark := HighWatermark}) ->
list_to_binary(io_lib:format("System memory usage is higher than ~p%", [emqx_os_mon:get_sysmem_high_watermark()])); list_to_binary(io_lib:format("System memory usage is higher than ~p%", [HighWatermark]));
normalize_message(high_process_memory_usage, _Details) -> normalize_message(high_process_memory_usage, #{high_watermark := HighWatermark}) ->
list_to_binary(io_lib:format("Process memory usage is higher than ~p%", [emqx_os_mon:get_procmem_high_watermark()])); list_to_binary(io_lib:format("Process memory usage is higher than ~p%", [HighWatermark]));
normalize_message(high_cpu_usage, #{usage := Usage}) -> normalize_message(high_cpu_usage, #{usage := Usage}) ->
list_to_binary(io_lib:format("~p% cpu usage", [Usage])); list_to_binary(io_lib:format("~p% cpu usage", [Usage]));
normalize_message(too_many_processes, #{high_watermark := HightWatermark}) -> normalize_message(too_many_processes, #{high_watermark := HighWatermark}) ->
list_to_binary(io_lib:format("High_watermark: ~p%", [HightWatermark])); list_to_binary(io_lib:format("High watermark: ~p%", [HighWatermark]));
normalize_message(partition, #{occurred := Node}) ->
list_to_binary(io_lib:format("Partition occurs at node ~s", [Node]));
normalize_message(_Name, _UnknownDetails) -> normalize_message(_Name, _UnknownDetails) ->
<<"Unknown">>. <<"Unknown alarm">>.

View File

@ -57,11 +57,12 @@ init(_) ->
{ok, []}. {ok, []}.
handle_event({set_alarm, {system_memory_high_watermark, []}}, State) -> handle_event({set_alarm, {system_memory_high_watermark, []}}, State) ->
emqx_alarm:activate(high_system_memory_usage, #{}), emqx_alarm:activate(high_system_memory_usage, #{high_watermark => emqx_os_mon:get_sysmem_high_watermark()}),
{ok, State}; {ok, State};
handle_event({set_alarm, {process_memory_high_watermark, Pid}}, State) -> handle_event({set_alarm, {process_memory_high_watermark, Pid}}, State) ->
emqx_alarm:activate(high_process_memory_usage, #{pid => Pid}), emqx_alarm:activate(high_process_memory_usage, #{pid => Pid,
high_watermark => emqx_os_mon:get_procmem_high_watermark()}),
{ok, State}; {ok, State};
handle_event({clear_alarm, system_memory_high_watermark}, State) -> handle_event({clear_alarm, system_memory_high_watermark}, State) ->