Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOCS] Adds configuration information for ESMS #318

Merged
merged 12 commits into from
May 30, 2019
208 changes: 208 additions & 0 deletions docs/en/stack/monitoring/esms.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
[role="xpack"]
[[esms]]
== {esms}

The {esms} ({esms-init}) is a monitoring cluster on {ecloud}. Elastic provides
and maintains {esms-init} for self-managed commercial customers. If you send
your monitoring data to {esms-init}, it can also be used by Elastic support to
provide better and faster incident resolution.

NOTE: You must obtain your {esms-init} cluster URLs and credentials from the
Elastic support team.

[discrete]
[[esms-elasticsearch]]
=== Collecting monitoring data about {es}

There are two methods for collecting and sending data about the health of your
production cluster to {esms-init}: {metricbeat} or collectors and exporters.

TIP: If you want to monitor {ls}, you must use collectors and exporters to route
data from the production cluster to {esms-init}. Otherwise, it is simplest to
use {metricbeat}.

To use {metricbeat}:

. If your production cluster is stopped,
{ref}/starting-elasticsearch.html[start it].

. Configure the following settings on each node in the production cluster:
ycombinator marked this conversation as resolved.
Show resolved Hide resolved
+
--
[source,js]
----------------------------------
PUT _cluster/settings
{
"persistent": {
"xpack.monitoring.collection.enabled": true,
"xpack.monitoring.elasticsearch.collection.enabled": false
}
}
----------------------------------
// CONSOLE

Alternatively, you can put those settings in the `elasticsearch.yml` file on
each node. This method, however, requires you to restart each node.

The `xpack.monitoring.enabled` setting must also have a value of `true`, which
is its default value. If you have set it to `false` in the `elasticsearch.yml`
file on any node, you must change or remove it.

For more information about these settings, see
{ref}/monitoring-settings.html[Monitoring settings in {es}].
--

. {metricbeat-ref}/metricbeat-installation.html[Install {metricbeat}] on each
node.

. Optional: Disable the system module in {metricbeat}. +
ycombinator marked this conversation as resolved.
Show resolved Hide resolved
+
--
Run the following command:

["source","sh",subs="attributes,callouts"]
----------------------------------------------------------------------
metricbeat modules disable system
----------------------------------------------------------------------

For more information, see
{metricbeat-ref}/configuration-metricbeat.html[Specify which modules to run] and
{metricbeat-ref}/metricbeat-module-system.html[System module].
--

. Enable the {es} {xpack} module in {metricbeat} on each node. +
+
--
include::{es-repo-dir}/monitoring/configuring-metricbeat.asciidoc[tag=enable-es-module]
--

. Configure the {es} {xpack} module in {metricbeat} on each node. +
+
--
include::{es-repo-dir}/monitoring/configuring-metricbeat.asciidoc[tag=configure-es-module]

include::{es-repo-dir}/monitoring/configuring-metricbeat.asciidoc[tag=remote-monitoring-user]
--

. Identify where to send the {es} monitoring data and supply the necessary
security information. Add the following settings in the {metricbeat}
configuration file (`metricbeat.yml`):
+
--
[source,yaml]
----------------------------------
output.elasticsearch:
hosts: ["MONITORING_ELASTICSEARCH_URL"] <1>
username: cloud_monitoring_agent <2>
password: MONITORING_AGENT_PASSWORD <3>
----------------------------------
<1> Replace `MONITORING_ELASTICSEARCH_URL` with the appropriate URL for {esms-init}.
<2> The Elastic support team creates this user in {esms-init} and grants it the
{stack-ov}/built-in-roles.html[`remote_monitoring_agent` built-in role].
<3> Replace `MONITORING_AGENT_PASSWORD` with the value provided to you by the
Elastic support team.
--

. {metricbeat-ref}/metricbeat-starting.html[Start {metricbeat}].

. Verify that your monitoring data exists in {esms-init}.
+
--
Open {kib} in your web browser. Use the {kib} URL and the administrator user ID
that was provided to you by the Elastic support team.
{kibana-ref}/elasticsearch-metrics.html[View the {es} metrics] on the
*Monitoring* page.

If you do not see your metrics yet, see
<<monitoring-troubleshooting,Troubleshooting {monitor-features}>>.
--

[discrete]
[[esms-kibana]]
=== Collecting monitoring data about {kib}

There are two methods for sending monitoring data about {kib} to {esms-init}.
You can send it directly to {esms-init} by using {metricbeat} or you can route
it through exporters on the production cluster.

TIP: It is simplest to use {metricbeat}.

To use {metricbeat}:

. Disable the default collection of {kib} monitoring metrics. +
+
--
include::{kib-repo-dir}/monitoring/monitoring-metricbeat.asciidoc[tag=disable-kibana-collection]

For more information, see
{kibana-ref}/monitoring-settings-kb.html[Monitoring settings in {kib}].
--

. {kibana-ref}/start-stop.html[Start {kib}].

. Ensure that the `xpack.monitoring.collection.enabled` setting is `true` on
each node in the production cluster.

. {metricbeat-ref}/metricbeat-installation.html[Install {metricbeat}] on the
same server as {kib}.

. Optional: Disable the system module in {metricbeat}. +
+
--
Run the following command:

["source","sh",subs="attributes,callouts"]
----------------------------------------------------------------------
metricbeat modules disable system
----------------------------------------------------------------------

For more information, see
{metricbeat-ref}/configuration-metricbeat.html[Specify which modules to run] and
{metricbeat-ref}/metricbeat-module-system.html[System module].
--

. Enable the {kib} {xpack} module in {metricbeat}. +
+
--
include::{kib-repo-dir}/monitoring/monitoring-metricbeat.asciidoc[tag=enable-kibana-module]
--

. Configure the {kib} {xpack} module in {metricbeat}. +
+
--
include::{kib-repo-dir}/monitoring/monitoring-metricbeat.asciidoc[tag=configure-kibana-module]

include::{kib-repo-dir}/monitoring/monitoring-metricbeat.asciidoc[tag=remote-monitoring-user]
--

. Identify where to send the {kib} monitoring data and supply the necessary
security information. Add the following settings in the {metricbeat}
configuration file (`metricbeat.yml`):
+
--
[source,yaml]
----------------------------------
output.elasticsearch:
hosts: ["MONITORING_ELASTICSEARCH_URL"] <1>
username: cloud_monitoring_agent <2>
password: MONITORING_AGENT_PASSWORD <3>
----------------------------------
<1> Replace `MONITORING_ELASTICSEARCH_URL` with the appropriate URL for {esms-init}.
<2> The Elastic support team creates this user in {esms-init} and grants it the
{stack-ov}/built-in-roles.html[`remote_monitoring_agent` built-in role].
<3> Replace `MONITORING_AGENT_PASSWORD` with the value provided to you by the
Elastic support team.
--

. {metricbeat-ref}/metricbeat-starting.html[Start {metricbeat}].

. Verify that your monitoring data exists in {esms-init}.
+
--
Open {kib} in your web browser. Use the {kib} URL and the administrator user ID
that was provided to you by the Elastic support team.
{kibana-ref}/kibana-page.html[View the {kib} metrics] on the *Monitoring* page.

If you do not see your metrics yet, see
<<monitoring-troubleshooting,Troubleshooting {monitor-features}>>.
--
1 change: 1 addition & 0 deletions docs/en/stack/monitoring/index.asciidoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
include::intro.asciidoc[]
include::how-monitoring-works.asciidoc[]
include::production.asciidoc[]
include::esms.asciidoc[]
3 changes: 2 additions & 1 deletion docs/en/stack/monitoring/production.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
By default, monitoring agents store data in the cluster where they're running.
In production, you should
send data to a separate _monitoring cluster_ so that historical monitoring
data is available even when the nodes you are monitoring are not.
data is available even when the nodes you are monitoring are not. If you are
sending your data to the ESMS, see <<esms>>.

In 6.4 and later, you can use {metricbeat} to ship monitoring data about
{kib} to a separate monitoring cluster. In 6.5 and later, you can do the same
Expand Down
14 changes: 13 additions & 1 deletion docs/en/stack/monitoring/troubleshooting.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,17 @@
<titleabbrev>Monitoring</titleabbrev>
++++

See
See also
{logstash-ref}/monitoring-troubleshooting.html[Troubleshooting monitoring in Logstash].

*Symptoms*:
There is no information about your cluster on the *Monitoring* page in {kib}.

*Resolution*:
Check whether the appropriate indices exist on the monitoring cluster. For
example, use the {ref}/cat-indices.html[cat indices] command to verify that
there is a `.monitoring-kibana*` index for your {kib} monitoring data and a
`.monitoring-es*` index for your {es} monitoring data. If you are collecting
monitoring data by using {metricbeat} the indices have `-mb` in their names. If
the indices do not exist, review your configuration: <<xpack-monitoring>>.