docs(schema): Add documentation for prometheus and logger
This commit is contained in:
parent
d1e8fefa1f
commit
ee805f12a6
|
@ -651,10 +651,12 @@ fields("log_rotation") ->
|
|||
[ {"enable",
|
||||
sc(boolean(),
|
||||
#{ default => true
|
||||
, desc => "Enable log rotation feature."
|
||||
})}
|
||||
, {"count",
|
||||
sc(range(1, 2048),
|
||||
#{ default => 10
|
||||
, desc => "Maximum number of log files."
|
||||
})}
|
||||
];
|
||||
|
||||
|
@ -662,18 +664,23 @@ fields("log_overload_kill") ->
|
|||
[ {"enable",
|
||||
sc(boolean(),
|
||||
#{ default => true
|
||||
, desc => "Enable log handler overload kill feature."
|
||||
})}
|
||||
, {"mem_size",
|
||||
sc(emqx_schema:bytesize(),
|
||||
#{ default => "30MB"
|
||||
, desc => "Maximum memory size that the handler process is allowed to use."
|
||||
})}
|
||||
, {"qlen",
|
||||
sc(integer(),
|
||||
#{ default => 20000
|
||||
, desc => "Maximum allowed queue length."
|
||||
})}
|
||||
, {"restart_after",
|
||||
sc(hoconsc:union([emqx_schema:duration(), infinity]),
|
||||
#{ default => "5s"
|
||||
, desc => "If the handler is terminated, it restarts automatically after a "
|
||||
"delay specified in milliseconds. The value `infinity` prevents restarts."
|
||||
})}
|
||||
];
|
||||
|
||||
|
@ -681,14 +688,20 @@ fields("log_burst_limit") ->
|
|||
[ {"enable",
|
||||
sc(boolean(),
|
||||
#{ default => true
|
||||
, desc => "Enable log burst control feature."
|
||||
})}
|
||||
, {"max_count",
|
||||
sc(integer(),
|
||||
#{ default => 10000
|
||||
, desc => "Maximum number of log events to handle within a `window_time` interval. "
|
||||
"After the limit is reached, successive events are dropped "
|
||||
"until the end of the `window_time`."
|
||||
})}
|
||||
, {"window_time",
|
||||
sc(emqx_schema:duration(),
|
||||
#{default => "1s"})}
|
||||
#{ default => "1s"
|
||||
, desc => "See `max_count`."
|
||||
})}
|
||||
];
|
||||
|
||||
fields("authorization") ->
|
||||
|
@ -801,6 +814,7 @@ log_handler_common_confs() ->
|
|||
[ {"enable",
|
||||
sc(boolean(),
|
||||
#{ default => false
|
||||
, desc => "Enable this log handler."
|
||||
})}
|
||||
, {"level",
|
||||
sc(log_level(),
|
||||
|
@ -811,6 +825,7 @@ log_handler_common_confs() ->
|
|||
, {"time_offset",
|
||||
sc(string(),
|
||||
#{ default => "system"
|
||||
, desc => "The time offset to be used when formatting the timestamp."
|
||||
})}
|
||||
, {"chars_limit",
|
||||
sc(hoconsc:union([unlimited, range(1, inf)]),
|
||||
|
@ -833,24 +848,34 @@ log_handler_common_confs() ->
|
|||
, {"sync_mode_qlen",
|
||||
sc(integer(),
|
||||
#{ default => 100
|
||||
, desc => "As long as the number of buffered log events is lower than this value, "
|
||||
"all log events are handled asynchronously."
|
||||
})}
|
||||
, {"drop_mode_qlen",
|
||||
sc(integer(),
|
||||
#{ default => 3000
|
||||
, desc => "When the number of buffered log events is larger than this value, "
|
||||
"the new log events are dropped.<br/>"
|
||||
"When drop mode is activated or deactivated, a message is printed in "
|
||||
"the logs."
|
||||
})}
|
||||
, {"flush_qlen",
|
||||
sc(integer(),
|
||||
#{ default => 8000
|
||||
, desc => "If the number of buffered log events grows larger than this threshold, "
|
||||
"a flush (delete) operation takes place. "
|
||||
"To flush events, the handler discards the buffered log messages without logging."
|
||||
})}
|
||||
, {"overload_kill",
|
||||
sc(ref("log_overload_kill"),
|
||||
#{})}
|
||||
sc(ref("log_overload_kill"), #{})}
|
||||
, {"burst_limit",
|
||||
sc(ref("log_burst_limit"),
|
||||
#{})}
|
||||
sc(ref("log_burst_limit"), #{})}
|
||||
, {"supervisor_reports",
|
||||
sc(hoconsc:enum([error, progress]),
|
||||
#{ default => error
|
||||
, desc => "Type of supervisor reports that are logged.\n"
|
||||
" - `error`: only log errors in the Erlang processes.\n"
|
||||
" - `progress`: log process startup."
|
||||
})}
|
||||
, {"max_depth",
|
||||
sc(hoconsc:union([unlimited, non_neg_integer()]),
|
||||
|
|
|
@ -28,9 +28,21 @@ namespace() -> "prometheus".
|
|||
roots() -> ["prometheus"].
|
||||
|
||||
fields("prometheus") ->
|
||||
[ {push_gateway_server, sc(string(), #{default => "http://127.0.0.1:9091", required => true})}
|
||||
, {interval, sc(emqx_schema:duration_ms(), #{default => "15s", required => true})}
|
||||
, {enable, sc(boolean(), #{default => false, required => true})}
|
||||
[ {push_gateway_server, sc(string(),
|
||||
#{ default => "http://127.0.0.1:9091"
|
||||
, required => true
|
||||
, desc => "URL of Prometheus pushgateway."
|
||||
})}
|
||||
, {interval, sc(emqx_schema:duration_ms(),
|
||||
#{ default => "15s"
|
||||
, required => true
|
||||
, desc => "Data reporting interval in milliseconds."
|
||||
})}
|
||||
, {enable, sc(boolean(),
|
||||
#{ default => false
|
||||
, required => true
|
||||
, desc => "Enable reporting of metrics via Prometheus Pushgateway."
|
||||
})}
|
||||
].
|
||||
|
||||
sc(Type, Meta) -> hoconsc:mk(Type, Meta).
|
||||
|
|
|
@ -33,21 +33,33 @@ namespace() -> "statsd".
|
|||
roots() -> ["statsd"].
|
||||
|
||||
fields("statsd") ->
|
||||
[ {enable, hoconsc:mk(boolean(), #{default => false, required => true})}
|
||||
[ {enable, hoconsc:mk(boolean(),
|
||||
#{ default => false
|
||||
, required => true
|
||||
, desc => "Enable statsd"
|
||||
})}
|
||||
, {server, fun server/1}
|
||||
, {sample_time_interval, fun duration_ms/1}
|
||||
, {flush_time_interval, fun duration_ms/1}
|
||||
, {sample_time_interval, fun sample_interval/1}
|
||||
, {flush_time_interval, fun flush_interval/1}
|
||||
].
|
||||
|
||||
server(type) -> emqx_schema:ip_port();
|
||||
server(required) -> true;
|
||||
server(default) -> "127.0.0.1:8125";
|
||||
server(desc) -> "URL of the statsd gateway.";
|
||||
server(_) -> undefined.
|
||||
|
||||
duration_ms(type) -> emqx_schema:duration_ms();
|
||||
duration_ms(required) -> true;
|
||||
duration_ms(default) -> "10s";
|
||||
duration_ms(_) -> undefined.
|
||||
sample_interval(type) -> emqx_schema:duration_ms();
|
||||
sample_interval(required) -> true;
|
||||
sample_interval(default) -> "10s";
|
||||
sample_interval(desc) -> "Data collection interval in milliseconds.";
|
||||
sample_interval(_) -> undefined.
|
||||
|
||||
flush_interval(type) -> emqx_schema:duration_ms();
|
||||
flush_interval(required) -> true;
|
||||
flush_interval(default) -> "10s";
|
||||
flush_interval(desc) -> "Flush interval in milliseconds.";
|
||||
flush_interval(_) -> undefined.
|
||||
|
||||
to_ip_port(Str) ->
|
||||
case string:tokens(Str, ":") of
|
||||
|
|
Loading…
Reference in New Issue