monitoring-settings.asciidoc 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. [role="xpack"]
  2. [[monitoring-settings]]
  3. === Monitoring settings in Elasticsearch
  4. ++++
  5. <titleabbrev>Monitoring settings</titleabbrev>
  6. ++++
  7. By default, monitoring is enabled but data collection is disabled. To enable
  8. data collection, use the `xpack.monitoring.collection.enabled` setting.
  9. You can configure these monitoring settings in the `elasticsearch.yml` file. You
  10. can also dynamically set some of these settings using the
  11. <<cluster-update-settings,cluster update settings API>>.
  12. TIP: Cluster settings take precedence over settings in the `elasticsearch.yml`
  13. file.
  14. To adjust how monitoring data is displayed in the monitoring UI, configure
  15. {kibana-ref}/monitoring-settings-kb.html[`xpack.monitoring` settings] in
  16. `kibana.yml`. To control how monitoring data is collected from Logstash,
  17. configure monitoring settings in `logstash.yml`.
  18. For more information, see <<monitor-elasticsearch-cluster>>.
  19. [float]
  20. [[general-monitoring-settings]]
  21. ==== General Monitoring Settings
  22. `xpack.monitoring.enabled`::
  23. deprecated:[7.8.0,Basic License features should always be enabled] +
  24. Set to `true` (default) to enable {es} {monitoring} for {es} on the node.
  25. +
  26. --
  27. NOTE: To enable data collection, you must also set `xpack.monitoring.collection.enabled`
  28. to `true`. Its default value is `false`.
  29. --
  30. [float]
  31. [[monitoring-collection-settings]]
  32. ==== Monitoring Collection Settings
  33. The `xpack.monitoring.collection` settings control how data is collected from
  34. your Elasticsearch nodes. You can dynamically change all monitoring collection
  35. settings using the <<cluster-update-settings,cluster update settings API>>.
  36. `xpack.monitoring.collection.enabled` (<<cluster-update-settings,Dynamic>>)::
  37. added[6.3.0] Set to `true` to enable the collection of monitoring data. When
  38. this setting is `false` (default), {es} monitoring data is not collected and
  39. all monitoring data from other sources such as {kib}, Beats, and Logstash is
  40. ignored.
  41. `xpack.monitoring.collection.interval` (<<cluster-update-settings,Dynamic>>)::
  42. Setting to `-1` to disable data collection is no longer supported beginning with
  43. 7.0.0. deprecated[6.3.0, Use `xpack.monitoring.collection.enabled` set to `false` instead.]
  44. +
  45. Controls how often data samples are collected. Defaults to `10s`. If you
  46. modify the collection interval, set the `xpack.monitoring.min_interval_seconds`
  47. option in `kibana.yml` to the same value.
  48. `xpack.monitoring.elasticsearch.collection.enabled` (<<cluster-update-settings,Dynamic>>)::
  49. Controls whether statistics about your {es} cluster should be collected. Defaults to `true`.
  50. This is different from xpack.monitoring.collection.enabled, which allows you to enable or disable
  51. all monitoring collection. However, this setting simply disables the collection of Elasticsearch
  52. data while still allowing other data (e.g., Kibana, Logstash, Beats, or APM Server monitoring data)
  53. to pass through this cluster.
  54. `xpack.monitoring.collection.cluster.stats.timeout` (<<cluster-update-settings,Dynamic>>)::
  55. (<<time-units,time value>>) Timeout for collecting the cluster statistics. Defaults to `10s`.
  56. `xpack.monitoring.collection.node.stats.timeout` (<<cluster-update-settings,Dynamic>>)::
  57. (<<time-units,time value>>) Timeout for collecting the node statistics. Defaults to `10s`.
  58. `xpack.monitoring.collection.indices` (<<cluster-update-settings,Dynamic>>)::
  59. Controls which indices Monitoring collects data from. Defaults to all indices. Specify the index names
  60. as a comma-separated list, for example `test1,test2,test3`. Names can include wildcards, for
  61. example `test*`. You can explicitly exclude indices by prepending `-`. For example `test*,-test3` will
  62. monitor all indexes that start with `test` except for `test3`. System indices like .security* or .kibana*
  63. always start with a `.`, and generally should be monitored. Consider adding `.*` to the list of indices
  64. ensure monitoring of system indices. For example `.*,test*,-test3`
  65. `xpack.monitoring.collection.index.stats.timeout` (<<cluster-update-settings,Dynamic>>)::
  66. (<<time-units,time value>>) Timeout for collecting index statistics. Defaults to `10s`.
  67. `xpack.monitoring.collection.index.recovery.active_only` (<<cluster-update-settings,Dynamic>>)::
  68. Controls whether or not all recoveries are collected. Set to `true` to
  69. collect only active recoveries. Defaults to `false`.
  70. `xpack.monitoring.collection.index.recovery.timeout` (<<cluster-update-settings,Dynamic>>)::
  71. (<<time-units,time value>>) Timeout for collecting the recovery information. Defaults to `10s`.
  72. `xpack.monitoring.history.duration` (<<cluster-update-settings,Dynamic>>)::
  73. (<<time-units,time value>>) Retention duration beyond which the indices created by a Monitoring
  74. exporter are automatically deleted. Defaults to `7d` (7 days).
  75. +
  76. --
  77. This setting has a minimum value of `1d` (1 day) to ensure that something is
  78. being monitored, and it cannot be disabled.
  79. IMPORTANT: This setting currently only impacts `local`-type exporters. Indices created using
  80. the `http` exporter will not be deleted automatically.
  81. --
  82. `xpack.monitoring.exporters`::
  83. Configures where the agent stores monitoring data. By default, the agent uses a
  84. local exporter that indexes monitoring data on the cluster where it is installed.
  85. Use an HTTP exporter to send data to a separate monitoring cluster. For more
  86. information, see <<local-exporter-settings,Local exporter settings>>,
  87. <<http-exporter-settings,HTTP exporter settings>>, and
  88. <<how-monitoring-works>>.
  89. [float]
  90. [[local-exporter-settings]]
  91. ==== Local Exporter Settings
  92. The `local` exporter is the default exporter used by Monitoring. As the name is
  93. meant to imply, it exports data to the _local_ cluster, which means that there
  94. is not much needed to be configured.
  95. If you do not supply _any_ exporters, then Monitoring will automatically create
  96. one for you. If any exporter is provided, then no default is added.
  97. [source,yaml]
  98. ----------------------------------
  99. xpack.monitoring.exporters.my_local:
  100. type: local
  101. ----------------------------------
  102. `type`::
  103. The value for a Local exporter must always be `local` and it is required.
  104. `use_ingest`::
  105. Whether to supply a placeholder pipeline to the cluster and a pipeline processor with
  106. every bulk request. The default value is `true`. If disabled, then it means that it will not
  107. use pipelines, which means that a future release cannot automatically upgrade bulk requests
  108. to future-proof them.
  109. `cluster_alerts.management.enabled`::
  110. Whether to create cluster alerts for this cluster. The default value is `true`.
  111. To use this feature, {watcher} must be enabled. If you have a basic license,
  112. cluster alerts are not displayed.
  113. `wait_master.timeout`::
  114. (<<time-units,time value>>) Time to wait for the master node to setup `local` exporter for monitoring.
  115. After that, the non-master nodes will warn the user for possible missing X-Pack configuration. Defaults to `30s`.
  116. [float]
  117. [[http-exporter-settings]]
  118. ==== HTTP Exporter Settings
  119. The following lists settings that can be supplied with the `http` exporter.
  120. All settings are shown as what follows the name you select for your exporter:
  121. [source,yaml]
  122. ----------------------------------
  123. xpack.monitoring.exporters.my_remote:
  124. type: http
  125. host: ["host:port", ...]
  126. ----------------------------------
  127. `type`::
  128. The value for an HTTP exporter must always be `http` and it is required.
  129. `host`::
  130. Host supports multiple formats, both as an array or as a single value. Supported formats include
  131. `hostname`, `hostname:port`, `http://hostname` `http://hostname:port`, `https://hostname`, and
  132. `https://hostname:port`. Hosts cannot be assumed. The default scheme is always `http` and the default
  133. port is always `9200` if not supplied as part of the `host` string.
  134. +
  135. [source,yaml]
  136. ----------------------------------
  137. xpack.monitoring.exporters:
  138. example1:
  139. type: http
  140. host: "10.1.2.3"
  141. example2:
  142. type: http
  143. host: ["http://10.1.2.4"]
  144. example3:
  145. type: http
  146. host: ["10.1.2.5", "10.1.2.6"]
  147. example4:
  148. type: http
  149. host: ["https://10.1.2.3:9200"]
  150. ----------------------------------
  151. `auth.username`::
  152. The username is required if `auth.secure_password` is supplied.
  153. `auth.secure_password` (<<secure-settings,Secure>>, <<reloadable-secure-settings,reloadable>>)::
  154. The password for the `auth.username`.
  155. `connection.timeout`::
  156. (<<time-units,time value>>) Amount of time that the HTTP connection is supposed to wait for a socket to open for the
  157. request. The default value is `6s`.
  158. `connection.read_timeout`::
  159. (<<time-units,time value>>) Amount of time that the HTTP connection is supposed to wait for a socket to
  160. send back a response. The default value is `10 * connection.timeout` (`60s` if neither are set).
  161. `ssl`::
  162. Each HTTP exporter can define its own TLS / SSL settings or inherit them. See the
  163. <<ssl-monitoring-settings, TLS / SSL section below>>.
  164. `proxy.base_path`::
  165. The base path to prefix any outgoing request, such as `/base/path` (e.g., bulk requests would
  166. then be sent as `/base/path/_bulk`). There is no default value.
  167. `headers`::
  168. Optional headers that are added to every request, which can assist with routing requests through
  169. proxies.
  170. +
  171. [source,yaml]
  172. ----------------------------------
  173. xpack.monitoring.exporters.my_remote:
  174. headers:
  175. X-My-Array: [abc, def, xyz]
  176. X-My-Header: abc123
  177. ----------------------------------
  178. +
  179. Array-based headers are sent `n` times where `n` is the size of the array. `Content-Type`
  180. and `Content-Length` cannot be set. Any headers created by the Monitoring agent will override
  181. anything defined here.
  182. `index.name.time_format`::
  183. A mechanism for changing the default date suffix for the, by default, daily Monitoring indices.
  184. The default value is `YYYY.MM.DD`, which is why the indices are created daily.
  185. `use_ingest`::
  186. Whether to supply a placeholder pipeline to the monitoring cluster and a pipeline processor with
  187. every bulk request. The default value is `true`. If disabled, then it means that it will not
  188. use pipelines, which means that a future release cannot automatically upgrade bulk requests
  189. to future-proof them.
  190. `cluster_alerts.management.enabled`::
  191. Whether to create cluster alerts for this cluster. The default value is `true`.
  192. To use this feature, {watcher} must be enabled. If you have a basic license,
  193. cluster alerts are not displayed.
  194. `cluster_alerts.management.blacklist`::
  195. Prevents the creation of specific cluster alerts. It also removes any applicable
  196. watches that already exist in the current cluster. +
  197. +
  198. --
  199. You can add any of the following watch identifiers to the blacklist:
  200. * `elasticsearch_cluster_status`
  201. * `elasticsearch_version_mismatch`
  202. * `elasticsearch_nodes`
  203. * `kibana_version_mismatch`
  204. * `logstash_version_mismatch`
  205. * `xpack_license_expiration`
  206. For example: `["elasticsearch_version_mismatch","xpack_license_expiration"]`.
  207. --
  208. [[ssl-monitoring-settings]]
  209. :ssl-prefix: xpack.monitoring.exporters.$NAME
  210. :component: {monitoring}
  211. :verifies:
  212. :server!:
  213. :ssl-context: monitoring
  214. include::ssl-settings.asciidoc[]