[role="xpack"]
[[monitoring-settings-kb]]
=== Monitoring settings in {kib}
++++
<titleabbrev>Monitoring settings</titleabbrev>
++++

By default, *{stack-monitor-app}* is enabled, but data collection is disabled.
When you first start {kib} monitoring, you are prompted to enable data
collection. If you are using {stack-security-features}, you must be signed in as
a user with the `cluster:manage` privilege to enable data collection. The
built-in `superuser` role has this privilege and the built-in `elastic` user has
this role.

You can adjust how monitoring data is
collected from {kib} and displayed in {kib} by configuring settings in the
`kibana.yml` file. There are also `monitoring.ui.elasticsearch.*` settings,
which support the same values as <<settings,{kib} configuration settings>>.

To control how data is collected from your {es} nodes, you configure
{ref}/monitoring-settings.html[`xpack.monitoring.collection`
settings] in `elasticsearch.yml`. To control how monitoring data is collected
from Logstash, configure monitoring settings in `logstash.yml`.

For more information, see
{ref}/monitor-elasticsearch-cluster.html[Monitor a cluster].

[float]
[[monitoring-general-settings]]
==== General monitoring settings

[cols="2*<"]
|===
| `monitoring.enabled`
  | Set to `true` (default) to enable the {monitor-features} in {kib}. Unlike the
  `monitoring.ui.enabled` setting, when this setting is `false`, the
  monitoring back-end does not run and {kib} stats are not sent to the monitoring
  cluster.

a|`monitoring.cluster_alerts.`
`email_notifications.email_address` {ess-icon}
    | Specifies the email address where you want to receive cluster alerts.
    See <<cluster-alert-email-notifications, email notifications>> for details.

| `monitoring.ui.elasticsearch.hosts`
  | Specifies the location of the {es} cluster where your monitoring data is stored.
  By default, this is the same as `elasticsearch.hosts`. This setting enables
  you to use a single {kib} instance to search and visualize data in your
  production cluster as well as monitor data sent to a dedicated monitoring
  cluster.

| `monitoring.ui.elasticsearch.username`
  | Specifies the username used by {kib} monitoring to establish a persistent connection
  in {kib}  to the {es} monitoring cluster and to verify licensing status on the {es}
  monitoring cluster. +
  +
  Every other request performed by *{stack-monitor-app}* to the monitoring {es}
  cluster uses the authenticated user's credentials, which must be the same on
  both the {es} monitoring cluster and the {es} production cluster. +
  +
  If not set, {kib} uses the value of the `elasticsearch.username` setting.

| `monitoring.ui.elasticsearch.password`
  | Specifies the password used by {kib} monitoring to establish a persistent connection
  in {kib}  to the {es} monitoring cluster and to verify licensing status on the {es}
  monitoring cluster. +
  +
  Every other request performed by *{stack-monitor-app}* to the monitoring {es}
  cluster uses the authenticated user's credentials, which must be the same on
  both the {es} monitoring cluster and the {es} production cluster. +
  +
  If not set, {kib} uses the value of the `elasticsearch.password` setting.

| `monitoring.ui.elasticsearch.pingTimeout`
  | Specifies the time in milliseconds to wait for {es} to respond to internal
  health checks. By default, it matches the `elasticsearch.pingTimeout` setting,
  which has a default value of `30000`.

|===

[float]
[[monitoring-collection-settings]]
==== Monitoring collection settings

These settings control how data is collected from {kib}.

[cols="2*<"]
|===
| `monitoring.kibana.collection.enabled`
  | Set to `true` (default) to enable data collection from the {kib} NodeJS server
  for {kib} dashboards to be featured in *{stack-monitor-app}*.

| `monitoring.kibana.collection.interval` {ess-icon}
  | Specifies the number of milliseconds to wait in between data sampling on the
  {kib} NodeJS server for the metrics that are displayed in the {kib} dashboards.
  Defaults to `10000` (10 seconds).

|===

[float]
[[monitoring-ui-settings]]
==== Monitoring UI settings

These settings adjust how *{stack-monitor-app}* displays monitoring data.
However, the defaults work best in most circumstances. For more information
about configuring {kib}, see
{kibana-ref}/settings.html[Setting {kib} server properties].

[cols="2*<"]
|===
| `monitoring.ui.elasticsearch.logFetchCount`
  | Specifies the number of log entries to display in *{stack-monitor-app}*.
  Defaults to `10`. The maximum value is `50`.

| `monitoring.ui.enabled`
  | Set to `false` to hide *{stack-monitor-app}*. The monitoring back-end
    continues to run as an agent for sending {kib} stats to the monitoring
    cluster. Defaults to `true`.

| `monitoring.ui.logs.index`
  | Specifies the name of the indices that are shown on the
  <<logs-monitor-page,*Logs*>> page in *{stack-monitor-app}*. The default value
  is `filebeat-*`.

| `monitoring.ui.max_bucket_size`
  | Specifies the number of term buckets to return out of the overall terms list when
  performing terms aggregations to retrieve index and node metrics. For more
  information about the `size` parameter, see
  {ref}/search-aggregations-bucket-terms-aggregation.html#search-aggregations-bucket-terms-aggregation-size[Terms Aggregation].
  Defaults to `10000`.

| `monitoring.ui.min_interval_seconds` {ess-icon}
  | Specifies the minimum number of seconds that a time bucket in a chart can
  represent. Defaults to 10. If you modify the
  `monitoring.ui.collection.interval` in `elasticsearch.yml`, use the same
  value in this setting.

|===

[float]
[[monitoring-ui-cgroup-settings]]
===== Monitoring UI container settings

*{stack-monitor-app}* exposes the Cgroup statistics that we collect for you to make
better decisions about your container performance, rather than guessing based on
the overall machine performance. If you are not running your applications in a
container, then Cgroup statistics are not useful.

[cols="2*<"]
|===
| `monitoring.ui.container.elasticsearch.enabled` {ess-icon}
  | For {es} clusters that are running in containers, this setting changes the
  *Node Listing* to display the CPU utilization based on the reported Cgroup
  statistics. It also adds the calculated Cgroup CPU utilization to the
  *Node Overview* page instead of the overall operating system's CPU
  utilization. Defaults to `false`.

| `monitoring.ui.container.logstash.enabled`
  | For {ls} nodes that are running in containers, this setting
  changes the {ls} *Node Listing* to display the CPU utilization
  based on the reported Cgroup statistics. It also adds the
  calculated Cgroup CPU utilization to the {ls} node detail
  pages instead of the overall operating system’s CPU utilization. Defaults to `false`.

|===
