347 lines
13 KiB
Plaintext
347 lines
13 KiB
Plaintext
|
[[monitoring-settings]]
|
|||
|
== Monitoring Settings
|
|||
|
|
|||
|
:imagesdir: images/monitoring
|
|||
|
|
|||
|
You configure <<monitoring-collection-settings, `xpack.monitoring.collection`>>
|
|||
|
settings in `elasticsearch.yml` to control how data is collected from your
|
|||
|
Elasticsearch nodes. You can adjust how monitoring data is displayed in the
|
|||
|
Monitoring UI by configuring <<monitoring-ui-settings, `xpack.monitoring`>>
|
|||
|
settings in `kibana.yml`.
|
|||
|
|
|||
|
For more information, see <<configuring-monitoring, Configuring Monitoring>>.
|
|||
|
|
|||
|
[float]
|
|||
|
[[general-monitoring-settings]]
|
|||
|
=== General Monitoring Settings
|
|||
|
`xpack.monitoring.enabled`::
|
|||
|
Set to `false` to disable {monitoring}.
|
|||
|
Configure in both `elasticsearch.yml` and `kibana.yml`.
|
|||
|
|
|||
|
[float]
|
|||
|
[[monitoring-collection-settings]]
|
|||
|
=== Monitoring Collection Settings
|
|||
|
|
|||
|
`xpack.monitoring.collection.cluster.state.timeout`::
|
|||
|
|
|||
|
Sets the timeout for collecting the cluster state. Defaults to `10m`.
|
|||
|
|
|||
|
`xpack.monitoring.collection.cluster.stats.timeout`::
|
|||
|
|
|||
|
Sets the timeout for collecting the cluster statistics. Defaults to `10m`.
|
|||
|
|
|||
|
`xpack.monitoring.collection.indices`::
|
|||
|
|
|||
|
Controls which indices Monitoring collects data from. Defaults to all indices. Specify the index names
|
|||
|
as a comma-separated list, for example `test1,test2,test3`. Names can include wildcards, for
|
|||
|
example `test*`. You can explicitly include or exclude indices by prepending
|
|||
|
`+` to include the index, or `-` to exclude the index. For example, to include all indices that
|
|||
|
start with `test` except `test3`, you could specify `+test*,-test3`.
|
|||
|
+
|
|||
|
You can update this setting through the Cluster Update Settings API.
|
|||
|
|
|||
|
`xpack.monitoring.collection.index.stats.timeout`::
|
|||
|
|
|||
|
Sets the timeout for collecting index statistics. Defaults to `10m`.
|
|||
|
|
|||
|
`xpack.monitoring.collection.indices.stats.timeout`::
|
|||
|
|
|||
|
Sets the timeout for collecting total indices statistics. Defaults to `10m`.
|
|||
|
|
|||
|
`xpack.monitoring.exporters` ::
|
|||
|
|
|||
|
Configures where the agent stores monitoring data. By default, the agent uses a local exporter that
|
|||
|
indexes monitoring data on the cluster where it is installed. Use an HTTP exporter to send data to
|
|||
|
a separate monitoring cluster. For more information, see <<monitoring-cluster, Setting up a Separate
|
|||
|
Monitoring Cluster>>.
|
|||
|
|
|||
|
`xpack.monitoring.collection.index.recovery.active_only`::
|
|||
|
|
|||
|
Controls whether or not all recoveries are collected. Set to `true` to
|
|||
|
collect only active recoveries. Defaults to `false`.
|
|||
|
|
|||
|
`xpack.monitoring.collection.index.recovery.timeout`::
|
|||
|
|
|||
|
Sets the timeout for collecting the recovery information. Defaults to `10m`.
|
|||
|
|
|||
|
`xpack.monitoring.collection.interval`::
|
|||
|
|
|||
|
Controls how often data samples are collected. Defaults to `10s`. If you
|
|||
|
modify the collection interval, set the `xpack.monitoring.min_interval_seconds`
|
|||
|
option in `kibana.yml` to the same value. Set to `-1` to temporarily disable
|
|||
|
data collection. You can update this setting through the Cluster Update
|
|||
|
Settings API.
|
|||
|
|
|||
|
`xpack.monitoring.history.duration`::
|
|||
|
|
|||
|
Sets the retention duration beyond which the indices created by a Monitoring exporter will
|
|||
|
be automatically deleted. Defaults to `7d` (7 days).
|
|||
|
+
|
|||
|
This setting has a minimum value of `1d` (1 day) to ensure that something is being monitored,
|
|||
|
and it cannot be disabled.
|
|||
|
+
|
|||
|
IMPORTANT: This setting currently only impacts `local`-type exporters. Indices created using
|
|||
|
the `http` exporter will not be deleted automatically.
|
|||
|
|
|||
|
|
|||
|
[float]
|
|||
|
[[monitoring-ui-settings]]
|
|||
|
=== Monitoring UI Settings
|
|||
|
|
|||
|
You can set the following `xpack.monitoring` settings in `kibana.yml` to adjust
|
|||
|
how the Monitoring UI displays monitoring data. However, the defaults work best
|
|||
|
in most circumstances. For more information about configuring Kibana, see
|
|||
|
{kibana-ref}/settings.html[Setting Kibana
|
|||
|
Server Properties] in the Kibana User Guide.
|
|||
|
|
|||
|
`xpack.monitoring.elasticsearch.url`::
|
|||
|
|
|||
|
The location of the Elasticsearch instance(s) where your monitoring data is
|
|||
|
stored. By default, this is the same as the `elasticsearch.url`. This setting
|
|||
|
enables you to use a single Kibana instance to search and visualize data in
|
|||
|
your production cluster as well as monitor data sent to a dedicated monitoring
|
|||
|
cluster.
|
|||
|
|
|||
|
`xpack.monitoring.max_bucket_size`::
|
|||
|
|
|||
|
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#_size[
|
|||
|
Terms Aggregation] in the Elasticsearch Reference. Defaults to 10000.
|
|||
|
|
|||
|
`xpack.monitoring.min_interval_seconds`::
|
|||
|
|
|||
|
The minimum number of seconds that a time bucket in a chart can represent.
|
|||
|
Defaults to 10. If you modify the `xpack.monitoring.collection.interval`
|
|||
|
in `elasticsearch.yml`, set this option to the same value.
|
|||
|
|
|||
|
`xpack.monitoring.node_resolver`::
|
|||
|
|
|||
|
The node resolver controls how nodes are considered unique. This can be set to either `uuid`,
|
|||
|
`transport_address`, or `name`. `uuid` controls uniqueness based on the node's persistent ID.
|
|||
|
`transport_address` controls uniqueness based on the node's published
|
|||
|
hostname/IP and port. `name` controls uniqueness based on the node's `node.name` setting. Defaults to
|
|||
|
`uuid`.
|
|||
|
|
|||
|
`xpack.monitoring.report_stats`::
|
|||
|
|
|||
|
Whether or not to send cluster statistics to Elastic. Reporting your cluster statistics
|
|||
|
helps us improve your user experience. Your data is never shared with anyone. Set to
|
|||
|
`false` to disable statistics reporting from any browser connected to the Kibana instance.
|
|||
|
You can also opt-out on a per-browser basis through the Monitoring user interface. Defaults to `true`.
|
|||
|
|
|||
|
`xpack.monitoring.kibana.collection.enabled`::
|
|||
|
|
|||
|
Whether or not to enable data collection from the Kibana NodeJS server for
|
|||
|
Kibana Dashboards to be featured in the Monitoring UI. Defaults to `true`.
|
|||
|
|
|||
|
`xpack.monitoring.kibana.collection.interval`::
|
|||
|
|
|||
|
Number of milliseconds to wait in between data sampling for Kibana's NodeJS
|
|||
|
server for the metrics that are displayed in the Kibana dashboards. Defaults to
|
|||
|
`10000` (10 seconds).
|
|||
|
|
|||
|
[float]
|
|||
|
[[monitoring-ui-cgroup-settings]]
|
|||
|
==== Monitoring UI Container Settings
|
|||
|
|
|||
|
The Monitoring UI 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 will not be useful.
|
|||
|
|
|||
|
`xpack.monitoring.ui.container.elasticsearch.enabled`::
|
|||
|
|
|||
|
For Elasticsearch clusters that are running in containers, this setting changes the Node Listing to
|
|||
|
display the CPU Utilization based on the reported Cgroup statistics. This will also add the calculated
|
|||
|
Cgroup CPU Utilization to the Node Overview page instead of the overall operating system's CPU
|
|||
|
Utilization. Defaults to `false`.
|
|||
|
+
|
|||
|
image::monitoring-es-cgroup-true.png["Elasticsearch Inside a Container",link="images/monitoring-es-cgroup-true.png"]
|
|||
|
|
|||
|
[float]
|
|||
|
[[local-exporter-settings]]
|
|||
|
==== Local Exporter Settings
|
|||
|
|
|||
|
The `local` exporter is the default exporter used by Monitoring. As the name is
|
|||
|
meant to imply, it exports data to the _local_ cluster, which means that there
|
|||
|
is not much needed to be configured.
|
|||
|
|
|||
|
If you do not supply _any_ exporters, then Monitoring will automatically create
|
|||
|
one for you. If any exporter is provided, then no default is added.
|
|||
|
|
|||
|
[source,yaml]
|
|||
|
----------------------------------
|
|||
|
xpack.monitoring.exporters.my_local:
|
|||
|
type: local
|
|||
|
----------------------------------
|
|||
|
|
|||
|
`type`::
|
|||
|
|
|||
|
The value for a Local exporter must always be `local` and it is required.
|
|||
|
|
|||
|
`use_ingest`::
|
|||
|
|
|||
|
Whether to supply a placeholder pipeline to the cluster and a pipeline processor with
|
|||
|
every bulk request. The default value is `true`. If disabled, then it means that it will not
|
|||
|
use pipelines, which means that a future release cannot automatically upgrade bulk requests
|
|||
|
to future-proof them.
|
|||
|
|
|||
|
[float]
|
|||
|
[[http-exporter-settings]]
|
|||
|
==== HTTP Exporter Settings
|
|||
|
|
|||
|
The following lists settings that can be supplied with the `http` exporter.
|
|||
|
All settings are shown as what follows the name you select for your exporter:
|
|||
|
|
|||
|
[source,yaml]
|
|||
|
----------------------------------
|
|||
|
xpack.monitoring.exporters.my_remote:
|
|||
|
type: http
|
|||
|
host: ["host:port", ...]
|
|||
|
----------------------------------
|
|||
|
|
|||
|
`type`::
|
|||
|
|
|||
|
The value for an HTTP exporter must always be `http` and it is required.
|
|||
|
|
|||
|
`host`::
|
|||
|
|
|||
|
Host supports multiple formats, both as an array or as a single value. Supported formats include
|
|||
|
`hostname`, `hostname:port`, `http://hostname` `http://hostname:port`, `https://hostname`, and
|
|||
|
`https://hostname:port`. Hosts cannot be assumed. The default scheme is always `http` and the default
|
|||
|
port is always `9200` if not supplied as part of the `host` string.
|
|||
|
+
|
|||
|
[source,yaml]
|
|||
|
----------------------------------
|
|||
|
xpack.monitoring.exporters:
|
|||
|
example1:
|
|||
|
type: http
|
|||
|
host: "10.1.2.3"
|
|||
|
example2:
|
|||
|
type: http
|
|||
|
host: ["http://10.1.2.4"]
|
|||
|
example3:
|
|||
|
type: http
|
|||
|
host: ["10.1.2.5", "10.1.2.6"]
|
|||
|
example4:
|
|||
|
type: http
|
|||
|
host: ["https://10.1.2.3:9200"]
|
|||
|
----------------------------------
|
|||
|
|
|||
|
`auth.username`::
|
|||
|
|
|||
|
The username is required if a `auth.password` is supplied.
|
|||
|
|
|||
|
`auth.password`::
|
|||
|
|
|||
|
The password for the `auth.username`.
|
|||
|
|
|||
|
`connection.timeout`::
|
|||
|
|
|||
|
The amount of time that the HTTP connection is supposed to wait for a socket to open for the
|
|||
|
request. The default value is `6s`.
|
|||
|
|
|||
|
`connection.read_timeout`::
|
|||
|
|
|||
|
The amount of time that the HTTP connection is supposed to wait for a socket to
|
|||
|
send back a response. The default value is `10 * connection.timeout` (`60s` if neither are set).
|
|||
|
|
|||
|
`ssl`::
|
|||
|
|
|||
|
Each HTTP exporter can define its own TLS / SSL settings or inherit them. See the
|
|||
|
<<ssl-monitoring-settings, TLS / SSL section below>>.
|
|||
|
|
|||
|
`proxy.base_path`::
|
|||
|
|
|||
|
The base path to prefix any outgoing request, such as `/base/path` (e.g., bulk requests would
|
|||
|
then be sent as `/base/path/_bulk`). There is no default value.
|
|||
|
|
|||
|
`headers`::
|
|||
|
|
|||
|
Optional headers that are added to every request, which can assist with routing requests through
|
|||
|
proxies.
|
|||
|
+
|
|||
|
[source,yaml]
|
|||
|
----------------------------------
|
|||
|
xpack.monitoring.exporters.my_remote:
|
|||
|
headers:
|
|||
|
X-My-Array: [abc, def, xyz]
|
|||
|
X-My-Header: abc123
|
|||
|
----------------------------------
|
|||
|
+
|
|||
|
Array-based headers are sent `n` times where `n` is the size of the array. `Content-Type`
|
|||
|
and `Content-Length` cannot be set. Any headers created by the Monitoring agent will override
|
|||
|
anything defined here.
|
|||
|
|
|||
|
`index.name.time_format`::
|
|||
|
|
|||
|
A mechanism for changing the default date suffix for the, by default, daily Monitoring indices.
|
|||
|
The default value is `YYYY.MM.DD`, which is why the indices are created daily.
|
|||
|
|
|||
|
`use_ingest`::
|
|||
|
|
|||
|
Whether to supply a placeholder pipeline to the monitoring cluster and a pipeline processor with
|
|||
|
every bulk request. The default value is `true`. If disabled, then it means that it will not
|
|||
|
use pipelines, which means that a future release cannot automatically upgrade bulk requests
|
|||
|
to future-proof them.
|
|||
|
|
|||
|
[[ssl-monitoring-settings]]
|
|||
|
:ssl-prefix: xpack.monitoring.exporters.$NAME
|
|||
|
:component: {monitoring}
|
|||
|
:verifies:
|
|||
|
:server!:
|
|||
|
|
|||
|
include::ssl-settings.asciidoc[]
|
|||
|
|
|||
|
[float]
|
|||
|
[[monitoring-logstash-settings]]
|
|||
|
=== Monitoring Logstash Settings
|
|||
|
|
|||
|
You can set the following `xpack.monitoring` settings in `logstash.yml` to control how monitoring data is
|
|||
|
collected from your Logstash nodes. However, the defaults work best in most circumstances. For more
|
|||
|
information about configuring Logstash, see {logstash-ref}/logstash-settings-file.html[Settings File]
|
|||
|
section.
|
|||
|
|
|||
|
`xpack.monitoring.enabled`::
|
|||
|
|
|||
|
Set to `false` to disable X-Pack monitoring.
|
|||
|
|
|||
|
`xpack.monitoring.collection.interval`::
|
|||
|
|
|||
|
Controls how often data samples are collected and shipped on the Logstash side. Defaults to `10s`.
|
|||
|
|
|||
|
`xpack.monitoring.elasticsearch.url`::
|
|||
|
|
|||
|
The Elasticsearch instance(s) that you want to ship your Logstash metrics to.
|
|||
|
This might be the same Elasticsearch instance specified in the `outputs`
|
|||
|
section in your Logstash configuration, or a different one. This is *not*
|
|||
|
the URL of your dedicated monitoring cluster. Even if you are using a dedicated
|
|||
|
monitoring cluster, the Logstash metrics must be routed through your production
|
|||
|
cluster. You can specify a single host as a string, or specify multiple
|
|||
|
hosts as an array. Defaults to `http://localhost:9200`.
|
|||
|
|
|||
|
`xpack.monitoring.elasticsearch.username` and `xpack.monitoring.elasticsearch.password`::
|
|||
|
|
|||
|
If your Elasticsearch is protected with basic authentication, these settings provide the username and
|
|||
|
password that the Logstash instance uses to authenticate for shipping monitoring data.
|
|||
|
|
|||
|
`xpack.monitoring.elasticsearch.ssl.ca`::
|
|||
|
|
|||
|
Optional setting that enables you to specify a path to the `.pem` file for the certificate authority for your Elasticsearch instance.
|
|||
|
|
|||
|
`xpack.monitoring.elasticsearch.ssl.truststore.path`::
|
|||
|
|
|||
|
Optional settings that provide the paths to the Java keystore (JKS) to validate the server’s certificate.
|
|||
|
|
|||
|
`xpack.monitoring.elasticsearch.ssl.truststore.password`::
|
|||
|
|
|||
|
Optional settings that provide the password to the truststore.
|
|||
|
|
|||
|
`xpack.monitoring.elasticsearch.ssl.keystore.path`::
|
|||
|
|
|||
|
Optional settings that provide the paths to the Java keystore (JKS) to validate the client’s certificate.
|
|||
|
|
|||
|
`xpack.monitoring.elasticsearch.ssl.keystore.password`::
|
|||
|
|
|||
|
Optional settings that provide the password to the keystore.
|