From 5676026e2ac36b62c8383c026ad466af15008b37 Mon Sep 17 00:00:00 2001 From: zhouzb Date: Tue, 28 Jul 2020 17:32:24 +0800 Subject: [PATCH] fix(alarm): missing partition alarm --- src/emqx_alarm.erl | 16 +++++++++------- src/emqx_alarm_handler.erl | 5 +++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/emqx_alarm.erl b/src/emqx_alarm.erl index fe98ec21d..b6d01d908 100644 --- a/src/emqx_alarm.erl +++ b/src/emqx_alarm.erl @@ -265,14 +265,16 @@ normalize(#alarm{name = Name, deactivate_at => DeactivateAt, activated => Activated}. -normalize_message(high_system_memory_usage, _Details) -> - list_to_binary(io_lib:format("System memory usage is higher than ~p%", [emqx_os_mon:get_sysmem_high_watermark()])); -normalize_message(high_process_memory_usage, _Details) -> - list_to_binary(io_lib:format("Process memory usage is higher than ~p%", [emqx_os_mon:get_procmem_high_watermark()])); +normalize_message(high_system_memory_usage, #{high_watermark := HighWatermark}) -> + list_to_binary(io_lib:format("System memory usage is higher than ~p%", [HighWatermark])); +normalize_message(high_process_memory_usage, #{high_watermark := HighWatermark}) -> + list_to_binary(io_lib:format("Process memory usage is higher than ~p%", [HighWatermark])); normalize_message(high_cpu_usage, #{usage := Usage}) -> list_to_binary(io_lib:format("~p% cpu usage", [Usage])); -normalize_message(too_many_processes, #{high_watermark := HightWatermark}) -> - list_to_binary(io_lib:format("High_watermark: ~p%", [HightWatermark])); +normalize_message(too_many_processes, #{high_watermark := HighWatermark}) -> + 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) -> - <<"Unknown">>. + <<"Unknown alarm">>. diff --git a/src/emqx_alarm_handler.erl b/src/emqx_alarm_handler.erl index 55f103342..7f66f6eb1 100644 --- a/src/emqx_alarm_handler.erl +++ b/src/emqx_alarm_handler.erl @@ -57,11 +57,12 @@ init(_) -> {ok, []}. 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}; 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}; handle_event({clear_alarm, system_memory_high_watermark}, State) ->