]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/options: extract mgr and mon options out 41356/head
authorKefu Chai <kchai@redhat.com>
Sun, 16 May 2021 03:17:37 +0000 (11:17 +0800)
committerKefu Chai <kchai@redhat.com>
Sun, 16 May 2021 15:43:58 +0000 (23:43 +0800)
the purposes of this change are:

* faster compilation, so the cmake generator can process .yaml.in
  files in parallel.
* allow daemons to include a subset of options which it is
  interested in.
* better maintainability. by grouping options in different .yaml.in
  files, developers understand who are the consumers of an option.

in this change, options only read by mgr are extracted into mgr.yaml.in,
and options only read by mon are extracted into mon.yaml.in.

so all options in mgr.yaml.in should have "services: mgr" in their
definition by default. the ones in mon.yaml.in have "services: mon".

in the case where options are consumed by multiple services or tools,
the option should add "common" to its "services" if it is supposed to be
consumed by a tool, or "mon" if it is read by monitor as well. in
future, when preprocessing the .yaml.in, we have to look up in other
.yaml files for options whose services includes "mon", when compiling
ceph-mon executable in addition to collecting the options in
mon.yaml.in.

but it takes time to audit all the options, so only part of them are
processed.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/common/options/CMakeLists.txt
src/common/options/build_options.cc
src/common/options/global.yaml.in
src/common/options/legacy_config_opts.h
src/common/options/mgr.yaml.in
src/common/options/mon.yaml.in [new file with mode: 0644]

index 8705c31fdc836f04f253576911bc9ce45105c96f..86de2e7972c803503229c403f046ac34f2744a13 100644 (file)
@@ -85,6 +85,7 @@ add_options(crimson)
 add_options(mgr)
 add_options(mds)
 add_options(mds-client)
+add_options(mon)
 add_options(osd)
 add_options(rbd)
 add_options(rbd-mirror)
index 323548d16fabced1e073453fd5008afc7f3407df..001fac90287c04d6b1332a79464e38f0914036c4 100644 (file)
@@ -8,6 +8,7 @@
 
 std::vector<Option> get_global_options();
 std::vector<Option> get_mgr_options();
+std::vector<Option> get_mon_options();
 std::vector<Option> get_crimson_options();
 std::vector<Option> get_osd_options();
 std::vector<Option> get_rgw_options();
@@ -36,6 +37,7 @@ std::vector<Option> build_options()
 
   ingest(get_crimson_options(), "osd");
   ingest(get_mgr_options(), "mgr");
+  ingest(get_mon_options(), "mon");
   ingest(get_osd_options(), "osd");
   ingest(get_rgw_options(), "rgw");
   ingest(get_rbd_options(), "rbd");
index ec173f0aac2b3e335a3b2dfb9afd3db2e216cf58..c75d0ffbe388698eaeca82ef1fb14ded957d9daf 100644 (file)
@@ -615,6 +615,10 @@ options:
   flags:
   - runtime
   with_legacy: true
+  services:
+  - mgr
+  - osd
+  - mds
 - name: clog_to_syslog
   type: str
   level: advanced
@@ -623,6 +627,11 @@ options:
   flags:
   - runtime
   with_legacy: true
+  services:
+  - mon
+  - mgr
+  - osd
+  - mds
 - name: clog_to_syslog_level
   type: str
   level: advanced
@@ -633,6 +642,11 @@ options:
   flags:
   - runtime
   with_legacy: true
+  services:
+  - mon
+  - mgr
+  - osd
+  - mds
 - name: clog_to_syslog_facility
   type: str
   level: advanced
@@ -643,6 +657,11 @@ options:
   flags:
   - runtime
   with_legacy: true
+  services:
+  - mon
+  - mgr
+  - osd
+  - mds
 - name: clog_to_graylog
   type: str
   level: advanced
@@ -650,6 +669,11 @@ options:
   default: 'false'
   flags:
   - runtime
+  services:
+  - mon
+  - mgr
+  - osd
+  - mds
 - name: clog_to_graylog_host
   type: str
   level: advanced
@@ -660,6 +684,11 @@ options:
   flags:
   - runtime
   with_legacy: true
+  services:
+  - mon
+  - mgr
+  - osd
+  - mds
 - name: clog_to_graylog_port
   type: str
   level: advanced
@@ -670,134 +699,11 @@ options:
   flags:
   - runtime
   with_legacy: true
-- name: mon_cluster_log_to_stderr
-  type: bool
-  level: advanced
-  desc: Make monitor send cluster log messages to stderr (prefixed by channel)
-  default: false
-  services:
-  - mon
-  see_also:
-  - log_stderr_prefix
-  flags:
-  - runtime
-  with_legacy: true
-- name: mon_cluster_log_to_syslog
-  type: str
-  level: advanced
-  desc: Make monitor send cluster log messages to syslog
-  default: default=false
-  services:
-  - mon
-  flags:
-  - runtime
-  with_legacy: true
-- name: mon_cluster_log_to_syslog_level
-  type: str
-  level: advanced
-  desc: Syslog level for cluster log messages
-  default: info
-  services:
-  - mon
-  see_also:
-  - mon_cluster_log_to_syslog
-  flags:
-  - runtime
-  with_legacy: true
-- name: mon_cluster_log_to_syslog_facility
-  type: str
-  level: advanced
-  desc: Syslog facility for cluster log messages
-  default: daemon
-  services:
-  - mon
-  see_also:
-  - mon_cluster_log_to_syslog
-  flags:
-  - runtime
-  with_legacy: true
-- name: mon_cluster_log_to_file
-  type: bool
-  level: advanced
-  desc: Make monitor send cluster log messages to file
-  default: true
-  services:
-  - mon
-  see_also:
-  - mon_cluster_log_file
-  flags:
-  - runtime
-  with_legacy: true
-- name: mon_cluster_log_file
-  type: str
-  level: advanced
-  desc: File(s) to write cluster log to
-  long_desc: This can either be a simple file name to receive all messages, or a list
-    of key/value pairs where the key is the log channel and the value is the filename,
-    which may include $cluster and $channel metavariables
-  default: default=/var/log/ceph/$cluster.$channel.log cluster=/var/log/ceph/$cluster.log
   services:
   - mon
-  see_also:
-  - mon_cluster_log_to_file
-  flags:
-  - runtime
-  with_legacy: true
-- name: mon_cluster_log_file_level
-  type: str
-  level: advanced
-  desc: Lowest level to include is cluster log file
-  default: debug
-  services:
-  - mon
-  see_also:
-  - mon_cluster_log_file
-  flags:
-  - runtime
-  with_legacy: true
-- name: mon_cluster_log_to_graylog
-  type: str
-  level: advanced
-  desc: Make monitor send cluster log to graylog
-  default: 'false'
-  services:
-  - mon
-  flags:
-  - runtime
-  with_legacy: true
-- name: mon_cluster_log_to_graylog_host
-  type: str
-  level: advanced
-  desc: Graylog host for cluster log messages
-  default: 127.0.0.1
-  services:
-  - mon
-  see_also:
-  - mon_cluster_log_to_graylog
-  flags:
-  - runtime
-  with_legacy: true
-- name: mon_cluster_log_to_graylog_port
-  type: str
-  level: advanced
-  desc: Graylog port for cluster log messages
-  default: '12201'
-  services:
-  - mon
-  see_also:
-  - mon_cluster_log_to_graylog
-  flags:
-  - runtime
-  with_legacy: true
-- name: mon_cluster_log_to_journald
-  type: str
-  level: advanced
-  desc: Make monitor send cluster log to journald
-  default: 'false'
-  services:
-  - mon
-  flags:
-  - runtime
+  - mgr
+  - osd
+  - mds
 - name: enable_experimental_unrecoverable_data_corrupting_features
   type: str
   level: advanced
@@ -2632,158 +2538,6 @@ options:
   services:
   - mon
   with_legacy: true
-- name: mon_daemon_bytes
-  type: size
-  level: advanced
-  desc: max bytes of outstanding mon messages mon will read off the network
-  fmt_desc: The message memory cap for metadata server and OSD messages (in bytes).
-  default: 400_M
-  services:
-  - mon
-  with_legacy: true
-- name: mon_mgr_proxy_client_bytes_ratio
-  type: float
-  level: dev
-  desc: ratio of mon_client_bytes that can be consumed by proxied mgr commands before
-    we error out to client
-  default: 0.3
-  services:
-  - mon
-- name: mon_log_max_summary
-  type: uint
-  level: advanced
-  desc: number of recent cluster log messages to retain
-  default: 50
-  services:
-  - mon
-  with_legacy: true
-- name: mon_max_log_entries_per_event
-  type: int
-  level: advanced
-  desc: max cluster log entries per paxos event
-  fmt_desc: The maximum number of log entries per event.
-  default: 4096
-  services:
-  - mon
-  with_legacy: true
-# min pgs per osd for reweight-by-pg command
-- name: mon_reweight_min_pgs_per_osd
-  type: uint
-  level: advanced
-  default: 10
-  services:
-  - mgr
-  with_legacy: true
-# min bytes per osd for reweight-by-utilization command
-- name: mon_reweight_min_bytes_per_osd
-  type: size
-  level: advanced
-  default: 100_M
-  services:
-  - mgr
-  with_legacy: true
-# max osds to change per reweight-by-* command
-- name: mon_reweight_max_osds
-  type: int
-  level: advanced
-  default: 4
-  services:
-  - mgr
-  with_legacy: true
-- name: mon_reweight_max_change
-  type: float
-  level: advanced
-  default: 0.05
-  services:
-  - mgr
-  with_legacy: true
-- name: mon_health_to_clog
-  type: bool
-  level: advanced
-  desc: log monitor health to cluster log
-  fmt_desc: Enable sending a health summary to the cluster log periodically.
-  default: true
-  services:
-  - mon
-  with_legacy: true
-- name: mon_health_to_clog_interval
-  type: int
-  level: advanced
-  desc: frequency to log monitor health to cluster log
-  fmt_desc: How often (in seconds) the monitor sends a health summary to the cluster
-    log (a non-positive number disables). Monitors will always
-    send a summary to the cluster log whether or not it differs from
-    the previous summary.
-  default: 10_min
-  services:
-  - mon
-  see_also:
-  - mon_health_to_clog
-  with_legacy: true
-- name: mon_health_to_clog_tick_interval
-  type: float
-  level: dev
-  fmt_desc: How often (in seconds) the monitor sends a health summary to the cluster
-    log (a non-positive number disables). If current health summary
-    is empty or identical to the last time, monitor will not send it
-    to cluster log.
-  default: 1_min
-  services:
-  - mon
-  with_legacy: true
-- name: mon_health_detail_to_clog
-  type: bool
-  level: dev
-  desc: log health detail to cluster log
-  default: true
-  with_legacy: true
-- name: mon_health_max_detail
-  type: uint
-  level: advanced
-  desc: max detailed pgs to report in health detail
-  default: 50
-  services:
-  - mon
-- name: mon_health_log_update_period
-  type: int
-  level: dev
-  desc: minimum time in seconds between log messages about each health check
-  default: 5
-  services:
-  - mon
-  min: 0
-- name: mon_data_avail_crit
-  type: int
-  level: advanced
-  desc: issue MON_DISK_CRIT health error when mon available space below this percentage
-  fmt_desc: Raise ``HEALTH_ERR`` status when the filesystem that houses a
-    monitor's data store reports that its available capacity is
-    less than or equal to this percentage.
-  default: 5
-  services:
-  - mon
-  with_legacy: true
-- name: mon_data_avail_warn
-  type: int
-  level: advanced
-  desc: issue MON_DISK_LOW health warning when mon available space below this percentage
-  fmt_desc: Raise ``HEALTH_WARN`` status when the filesystem that houses a
-    monitor's data store reports that its available capacity is
-    less than or equal to this percentage .
-  default: 30
-  services:
-  - mon
-  with_legacy: true
-- name: mon_data_size_warn
-  type: size
-  level: advanced
-  desc: issue MON_DISK_BIG health warning when mon database is above this size
-  fmt_desc: Raise ``HEALTH_WARN`` status when a monitor's data
-    store grows to be larger than this size, 15GB by default.
-  default: 15_G
-  services:
-  - mon
-  with_legacy: true
 - name: mon_warn_pg_not_scrubbed_ratio
   type: float
   level: advanced
@@ -3671,17 +3425,6 @@ options:
   default: 100
   flags:
   - runtime
-- name: osd_crush_update_weight_set
-  type: bool
-  level: advanced
-  desc: update CRUSH weight-set weights when updating weights
-  long_desc: If this setting is true, we will update the weight-set weights when adjusting
-    an item's weight, effectively making changes take effect immediately, and discarding
-    any previous optimization in the weight-set value.  Setting this value to false
-    will leave it to the balancer to (slowly, presumably) adjust weights to approach
-    the new target value.
-  default: true
-  with_legacy: true
 # 1 = host
 - name: osd_crush_chooseleaf_type
   type: int
@@ -3723,20 +3466,6 @@ options:
   default: -1
   services:
   - mon
-- name: osd_pool_erasure_code_stripe_unit
-  type: size
-  level: advanced
-  desc: the amount of data (in bytes) in a data chunk, per stripe
-  fmt_desc: Sets the default size, in bytes, of a chunk of an object
-    stripe for erasure coded pools. Every object of size S
-    will be stored as N stripes, with each data chunk
-    receiving ``stripe unit`` bytes. Each stripe of ``N *
-    stripe unit`` bytes will be encoded/decoded
-    individually. This option can is overridden by the
-    ``stripe_unit`` setting in an erasure code profile.
-  default: 4_K
-  services:
-  - mon
 - name: osd_pool_default_size
   type: uint
   level: advanced
@@ -7146,21 +6875,13 @@ options:
   level: dev
   default: 0
   with_legacy: true
-- name: mgr_stats_threshold
-  type: int
-  level: advanced
-  desc: Lowest perfcounter priority collected by mgr
-  long_desc: Daemons only set perf counter data to the manager daemon if the counter
-    has a priority higher than this.
-  default: 5
-  min: 0
-  max: 11
 - name: journal_zero_on_create
   type: bool
   level: dev
   default: false
-  fmt_desc: Causes the file store to overwrite the entire journal with
-   ``0``'s during ``mkfs``.
+  fmt_desc: |
+    Causes the file store to overwrite the entire journal with
+    ``0``'s during ``mkfs``.
   with_legacy: true
 # assume journal is not corrupt
 - name: journal_ignore_corruption
@@ -7202,14 +6923,6 @@ options:
   level: advanced
   default: false
   with_legacy: true
-- name: mgr_tick_period
-  type: secs
-  level: advanced
-  desc: Period in seconds of beacon messages to monitor
-  default: 2
-  services:
-  - mgr
-  - mon
 - name: mgr_connect_retry_interval
   type: float
   level: dev
@@ -7221,39 +6934,6 @@ options:
   level: dev
   desc: Time to wait during shutdown to deregister service with mgr
   default: 1
-- name: mon_mgr_digest_period
-  type: int
-  level: dev
-  desc: Period in seconds between monitor-to-manager health/status updates
-  default: 5
-  services:
-  - mon
-- name: mon_mgr_beacon_grace
-  type: secs
-  level: advanced
-  desc: Period in seconds from last beacon to monitor marking a manager daemon as
-    failed
-  default: 30
-  services:
-  - mon
-- name: mon_mgr_inactive_grace
-  type: int
-  level: advanced
-  desc: Period in seconds after cluster creation during which cluster may have no
-    active manager
-  long_desc: This grace period enables the cluster to come up cleanly without raising
-    spurious health check failures about managers that aren't online yet
-  default: 1_min
-  services:
-  - mon
-- name: mon_mgr_mkfs_grace
-  type: int
-  level: advanced
-  desc: Period in seconds that the cluster may have no active manager before this
-    is reported as an ERR rather than a WARN
-  default: 2_min
-  services:
-  - mon
 - name: throttler_perf_counter
   type: bool
   level: advanced
index d3429a675d77466d1d08c83739a596eada664415..3f8c8244cf01c5c827a6d2c2389f3662d39f053b 100644 (file)
@@ -3,6 +3,7 @@
 #include "mds_legacy_options.h"
 #include "mds-client_legacy_options.h"
 #include "mgr_legacy_options.h"
+#include "mon_legacy_options.h"
 #include "osd_legacy_options.h"
 #include "rbd_legacy_options.h"
 #include "rbd-mirror_legacy_options.h"
index 8384b9efdad09c6be91948eabd3ff49f67d7c19b..d4aabb9699ff9bed31df4d8c4d34c2d1092c6ec2 100644 (file)
@@ -140,3 +140,51 @@ options:
   default: /usr/sbin/cephadm
   services:
   - mgr
+# min pgs per osd for reweight-by-pg command
+- name: mon_reweight_min_pgs_per_osd
+  type: uint
+  level: advanced
+  default: 10
+  services:
+  - mgr
+  with_legacy: true
+# min bytes per osd for reweight-by-utilization command
+- name: mon_reweight_min_bytes_per_osd
+  type: size
+  level: advanced
+  default: 100_M
+  services:
+  - mgr
+  with_legacy: true
+# max osds to change per reweight-by-* command
+- name: mon_reweight_max_osds
+  type: int
+  level: advanced
+  default: 4
+  services:
+  - mgr
+  with_legacy: true
+- name: mon_reweight_max_change
+  type: float
+  level: advanced
+  default: 0.05
+  services:
+  - mgr
+  with_legacy: true
+- name: mgr_stats_threshold
+  type: int
+  level: advanced
+  desc: Lowest perfcounter priority collected by mgr
+  long_desc: Daemons only set perf counter data to the manager daemon if the counter
+    has a priority higher than this.
+  default: 5
+  min: 0
+  max: 11
+- name: mgr_tick_period
+  type: secs
+  level: advanced
+  desc: Period in seconds of beacon messages to monitor
+  default: 2
+  services:
+  - mgr
+  - mon
diff --git a/src/common/options/mon.yaml.in b/src/common/options/mon.yaml.in
new file mode 100644 (file)
index 0000000..d08ac61
--- /dev/null
@@ -0,0 +1,311 @@
+# -*- mode: YAML -*-
+---
+
+options:
+- name: osd_crush_update_weight_set
+  type: bool
+  level: advanced
+  desc: update CRUSH weight-set weights when updating weights
+  long_desc: If this setting is true, we will update the weight-set weights when adjusting
+    an item's weight, effectively making changes take effect immediately, and discarding
+    any previous optimization in the weight-set value.  Setting this value to false
+    will leave it to the balancer to (slowly, presumably) adjust weights to approach
+    the new target value.
+  default: true
+  with_legacy: true
+- name: osd_pool_erasure_code_stripe_unit
+  type: size
+  level: advanced
+  desc: the amount of data (in bytes) in a data chunk, per stripe
+  fmt_desc: Sets the default size, in bytes, of a chunk of an object
+    stripe for erasure coded pools. Every object of size S
+    will be stored as N stripes, with each data chunk
+    receiving ``stripe unit`` bytes. Each stripe of ``N *
+    stripe unit`` bytes will be encoded/decoded
+    individually. This option can is overridden by the
+    ``stripe_unit`` setting in an erasure code profile.
+  default: 4_K
+  services:
+  - mon
+- name: mon_mgr_digest_period
+  type: int
+  level: dev
+  desc: Period in seconds between monitor-to-manager health/status updates
+  default: 5
+  services:
+  - mon
+- name: mon_mgr_beacon_grace
+  type: secs
+  level: advanced
+  desc: Period in seconds from last beacon to monitor marking a manager daemon as
+    failed
+  default: 30
+  services:
+  - mon
+- name: mon_mgr_inactive_grace
+  type: int
+  level: advanced
+  desc: Period in seconds after cluster creation during which cluster may have no
+    active manager
+  long_desc: This grace period enables the cluster to come up cleanly without raising
+    spurious health check failures about managers that aren't online yet
+  default: 1_min
+  services:
+  - mon
+- name: mon_mgr_mkfs_grace
+  type: int
+  level: advanced
+  desc: Period in seconds that the cluster may have no active manager before this
+    is reported as an ERR rather than a WARN
+  default: 2_min
+  services:
+  - mon
+- name: mon_mgr_proxy_client_bytes_ratio
+  type: float
+  level: dev
+  desc: ratio of mon_client_bytes that can be consumed by proxied mgr commands before
+    we error out to client
+  default: 0.3
+  services:
+  - mon
+- name: mon_cluster_log_to_stderr
+  type: bool
+  level: advanced
+  desc: Make monitor send cluster log messages to stderr (prefixed by channel)
+  default: false
+  services:
+  - mon
+  see_also:
+  - log_stderr_prefix
+  flags:
+  - runtime
+  with_legacy: true
+- name: mon_cluster_log_to_syslog
+  type: str
+  level: advanced
+  desc: Make monitor send cluster log messages to syslog
+  default: default=false
+  services:
+  - mon
+  flags:
+  - runtime
+  with_legacy: true
+- name: mon_cluster_log_to_syslog_level
+  type: str
+  level: advanced
+  desc: Syslog level for cluster log messages
+  default: info
+  services:
+  - mon
+  see_also:
+  - mon_cluster_log_to_syslog
+  flags:
+  - runtime
+  with_legacy: true
+- name: mon_cluster_log_to_syslog_facility
+  type: str
+  level: advanced
+  desc: Syslog facility for cluster log messages
+  default: daemon
+  services:
+  - mon
+  see_also:
+  - mon_cluster_log_to_syslog
+  flags:
+  - runtime
+  with_legacy: true
+- name: mon_cluster_log_to_file
+  type: bool
+  level: advanced
+  desc: Make monitor send cluster log messages to file
+  default: true
+  services:
+  - mon
+  see_also:
+  - mon_cluster_log_file
+  flags:
+  - runtime
+  with_legacy: true
+- name: mon_cluster_log_file
+  type: str
+  level: advanced
+  desc: File(s) to write cluster log to
+  long_desc: This can either be a simple file name to receive all messages, or a list
+    of key/value pairs where the key is the log channel and the value is the filename,
+    which may include $cluster and $channel metavariables
+  default: default=/var/log/ceph/$cluster.$channel.log cluster=/var/log/ceph/$cluster.log
+  services:
+  - mon
+  see_also:
+  - mon_cluster_log_to_file
+  flags:
+  - runtime
+  with_legacy: true
+- name: mon_cluster_log_file_level
+  type: str
+  level: advanced
+  desc: Lowest level to include is cluster log file
+  default: debug
+  services:
+  - mon
+  see_also:
+  - mon_cluster_log_file
+  flags:
+  - runtime
+  with_legacy: true
+- name: mon_cluster_log_to_graylog
+  type: str
+  level: advanced
+  desc: Make monitor send cluster log to graylog
+  default: 'false'
+  services:
+  - mon
+  flags:
+  - runtime
+  with_legacy: true
+- name: mon_cluster_log_to_graylog_host
+  type: str
+  level: advanced
+  desc: Graylog host for cluster log messages
+  default: 127.0.0.1
+  services:
+  - mon
+  see_also:
+  - mon_cluster_log_to_graylog
+  flags:
+  - runtime
+  with_legacy: true
+- name: mon_cluster_log_to_graylog_port
+  type: str
+  level: advanced
+  desc: Graylog port for cluster log messages
+  default: '12201'
+  services:
+  - mon
+  see_also:
+  - mon_cluster_log_to_graylog
+  flags:
+  - runtime
+  with_legacy: true
+- name: mon_cluster_log_to_journald
+  type: str
+  level: advanced
+  desc: Make monitor send cluster log to journald
+  default: 'false'
+  services:
+  - mon
+  flags:
+  - runtime
+- name: mon_log_max_summary
+  type: uint
+  level: advanced
+  desc: number of recent cluster log messages to retain
+  default: 50
+  services:
+  - mon
+  with_legacy: true
+- name: mon_max_log_entries_per_event
+  type: int
+  level: advanced
+  desc: max cluster log entries per paxos event
+  fmt_desc: The maximum number of log entries per event.
+  default: 4096
+  services:
+  - mon
+  with_legacy: true
+- name: mon_health_to_clog
+  type: bool
+  level: advanced
+  desc: log monitor health to cluster log
+  fmt_desc: Enable sending a health summary to the cluster log periodically.
+  default: true
+  services:
+  - mon
+  with_legacy: true
+- name: mon_health_to_clog_interval
+  type: int
+  level: advanced
+  desc: frequency to log monitor health to cluster log
+  fmt_desc: How often (in seconds) the monitor sends a health summary to the cluster
+    log (a non-positive number disables). Monitors will always
+    send a summary to the cluster log whether or not it differs from
+    the previous summary.
+  default: 10_min
+  services:
+  - mon
+  see_also:
+  - mon_health_to_clog
+  with_legacy: true
+- name: mon_health_to_clog_tick_interval
+  type: float
+  level: dev
+  fmt_desc: How often (in seconds) the monitor sends a health summary to the cluster
+    log (a non-positive number disables). If current health summary
+    is empty or identical to the last time, monitor will not send it
+    to cluster log.
+  default: 1_min
+  services:
+  - mon
+  with_legacy: true
+- name: mon_health_detail_to_clog
+  type: bool
+  level: dev
+  desc: log health detail to cluster log
+  default: true
+  with_legacy: true
+- name: mon_health_max_detail
+  type: uint
+  level: advanced
+  desc: max detailed pgs to report in health detail
+  default: 50
+  services:
+  - mon
+- name: mon_health_log_update_period
+  type: int
+  level: dev
+  desc: minimum time in seconds between log messages about each health check
+  default: 5
+  services:
+  - mon
+  min: 0
+- name: mon_data_avail_crit
+  type: int
+  level: advanced
+  desc: issue MON_DISK_CRIT health error when mon available space below this percentage
+  fmt_desc: Raise ``HEALTH_ERR`` status when the filesystem that houses a
+    monitor's data store reports that its available capacity is
+    less than or equal to this percentage.
+  default: 5
+  services:
+  - mon
+  with_legacy: true
+- name: mon_data_avail_warn
+  type: int
+  level: advanced
+  desc: issue MON_DISK_LOW health warning when mon available space below this percentage
+  fmt_desc: Raise ``HEALTH_WARN`` status when the filesystem that houses a
+    monitor's data store reports that its available capacity is
+    less than or equal to this percentage .
+  default: 30
+  services:
+  - mon
+  with_legacy: true
+- name: mon_data_size_warn
+  type: size
+  level: advanced
+  desc: issue MON_DISK_BIG health warning when mon database is above this size
+  fmt_desc: Raise ``HEALTH_WARN`` status when a monitor's data
+    store grows to be larger than this size, 15GB by default.
+  default: 15_G
+  services:
+  - mon
+  with_legacy: true
+- name: mon_daemon_bytes
+  type: size
+  level: advanced
+  desc: max bytes of outstanding mon messages mon will read off the network
+  fmt_desc: The message memory cap for metadata server and OSD messages (in bytes).
+  default: 400_M
+  services:
+  - mon
+  with_legacy: true