22[[esms]]
33== {stack} Monitoring Service
44
5- The {stack} Monitoring Service (ESMS) is an additional service that deploys
6- a monitoring cluster running {es} and {kib}.
5+ The {stack} Monitoring Service (ESMS) is a monitoring cluster on Cloud that
6+ Elastic provides to self-managed commercial customers. If you send your
7+ monitoring data to the ESMS, it can also be used by Elastic support to provide
8+ better and faster incident resolution.
79
8- In 6.4 and later, you can use {metricbeat} to ship monitoring data about
9- {kib} to ESMS. In 6.5 and later, you can do the same for {es} .
10+ NOTE: You must obtain your ESMS cluster URLs and credentials from the Elastic
11+ support team .
1012
11- To store monitoring data in ESMS:
13+ [discrete]
14+ [[esms-elasticsearch]]
15+ === Collecting monitoring data about {es}
1216
13- . Obtain your ESMS cluster URLs and credentials from the Elastic support team.
17+ There are two methods for collecting and sending data about the health of your
18+ production cluster to ESMS: {metricbeat} or collectors and exporters.
1419
15- . Configure your production cluster to collect data and send it to the
16- monitoring cluster.
17- ** {ref}/configuring-metricbeat.html[Use {metricbeat}]. This option
18- is available in 6.5 and later versions.
19- ... Configure the following settings on each node in the production cluster:
20+ TIP: If you want to monitor {ls}, you must use collectors and exporters to
21+ route data from the production cluster to ESMS. Otherwise, it is simplest to use
22+ {metricbeat}.
23+
24+ To use {metricbeat}:
25+
26+ . Configure the following settings on each node in the production cluster:
2027+
2128--
2229[source,js]
@@ -35,8 +42,10 @@ PUT _cluster/settings
3542Alternatively, you can put those settings in the `elasticsearch.yml` file on
3643each node. This method, however, requires you to restart each node.
3744--
38- ... {metricbeat-ref}/metricbeat-installation.html[Install {metricbeat}].
39- ... Enable the {es} module in {metricbeat}.
45+
46+ . {metricbeat-ref}/metricbeat-installation.html[Install {metricbeat}].
47+
48+ . Enable the {es} module in {metricbeat}.
4049+
4150--
4251For example, to enable the default configuration in the `modules.d` directory,
@@ -51,12 +60,14 @@ For more information, see
5160{metricbeat-ref}/configuration-metricbeat.html[Specify which modules to run] and
5261{metricbeat-ref}/metricbeat-module-elasticsearch.html[{es} module].
5362--
54- ... By default, the module collects {es} monitoring metrics from `http://localhost:9200`.
63+
64+ . By default, the module collects {es} monitoring metrics from `http://localhost:9200`.
5565If your local {es} node has a different address, you must specify it via the
5666`hosts` setting in the `modules.d/elasticsearch-xpack.yml` file. If your cluster
5767uses {ref}/configuring-tls.html[encrypted communications], you must access it
5868via HTTPS. For example, use a `hosts` setting like `https://localhost:9200`.
59- ... If {es} {security-features} are enabled in your production cluster,
69+
70+ . If {es} {security-features} are enabled in your production cluster,
6071{metricbeat} must use a valid user ID and password to collect metrics
6172successfully.
6273+
@@ -67,7 +78,8 @@ Alternatively, use the
6778{stack-ov}/built-in-users.html[`remote_monitoring_user` built-in user].
6879
6980Add the `username` and `password` settings to the {es} module configuration
70- file. For example, add the following settings in the `modules.d/elasticsearch-xpack.yml` file:
81+ file. For example, add the following settings in the
82+ `modules.d/elasticsearch-xpack.yml` file:
7183
7284[source,yaml]
7385----------------------------------
@@ -77,7 +89,8 @@ file. For example, add the following settings in the `modules.d/elasticsearch-xp
7789 password: YOUR_PASSWORD
7890----------------------------------
7991--
80- ... Identify where to send the {es} monitoring data and supply the necessary
92+
93+ . Identify where to send the {es} monitoring data and supply the necessary
8194security information. Add the following settings in the {metricbeat}
8295configuration file (`metricbeat.yml`):
8396+
@@ -93,13 +106,19 @@ output.elasticsearch:
93106<2> Replace `MONITORING_AGENT_PASSWORD` with the value provided to you by the
94107Elastic support team.
95108--
96- ... {ref}/starting-elasticsearch.html[Start {es}].
97- ... {metricbeat-ref}/metricbeat-starting.html[Start {metricbeat}].
98- ** {ref}/configuring-monitoring.html[Use HTTP exporters]. For example:
99- ... Copy the certificates that you obtained from the Elastic support team to the
109+
110+ . {ref}/starting-elasticsearch.html[Start {es}].
111+
112+ . {metricbeat-ref}/metricbeat-starting.html[Start {metricbeat}].
113+
114+ To use collectors and exporters:
115+
116+ . Copy the certificates that you obtained from the Elastic support team to the
100117{es} configuration directory (`ES_PATH_CONF`) on each node. These certificates
101- enable your production cluster to verify the identity of the ESMS and communicate securely.
102- ... Configure the following settings on each node in the production cluster:
118+ enable your production cluster to verify the identity of the ESMS and
119+ communicate securely.
120+
121+ . Configure the following settings on each node in the production cluster:
103122+
104123--
105124[source,js]
@@ -120,13 +139,143 @@ PUT _cluster/settings
120139----------------------------------
121140// CONSOLE
122141<1> Replace `MONITORING_ELASTICSEARCH_URL` with the appropriate URL from the ESMS.
123- <2> Replace `MONITORING_AGENT_PASSWORD` with the value provided to you by the Elastic support team.
142+ <2> Replace `MONITORING_AGENT_PASSWORD` with the value provided to you by the
143+ Elastic support team.
124144<3> Replace the path and file name with the appropriate information for the file
125145provided by the Elastic support team.
126146
127147Alternatively, you can put those settings in the `elasticsearch.yml` file on
128148each node. This method, however, requires you to restart each node.
129149--
150+
151+ [discrete]
152+ [[esms-kibana]]
153+ === Collecting monitoring data about {kib}
154+
155+ There are two methods for sending monitoring data about {kib} to ESMS. You can
156+ send it directly to ESMS by using {metricbeat} or you can route it through
157+ exporters on the production cluster.
158+
159+ TIP: It is simplest to use {metricbeat}.
160+
161+ To use {metricbeat}:
162+
163+ . Disable the default collection of {kib} monitoring metrics. +
164+ +
165+ --
166+ Add the following setting in the {kib} configuration file (`kibana.yml`):
167+
168+ [source,yaml]
169+ ----------------------------------
170+ xpack.monitoring.kibana.collection.enabled: false
171+ ----------------------------------
172+
173+ Leave the `xpack.monitoring.enabled` set to its default value (`true`).
174+
175+ For more information, see
176+ {kibana-ref}/monitoring-settings-kb.html[Monitoring settings in {kib}].
177+ --
178+
179+ . {kibana-ref}/start-stop.html[Start {kib}].
180+
181+ . Ensure that the `xpack.monitoring.collection.enabled` setting to `true` on
182+ each node in the production cluster.
183+
184+ . {metricbeat-ref}/metricbeat-installation.html[Install {metricbeat}] on the
185+ same server as {kib}.
186+
187+ . Enable the {kib} module in {metricbeat}. +
188+ +
189+ --
190+ For example, to enable the default configuration in the `modules.d` directory,
191+ run the following command:
192+
193+ ["source","sh",subs="attributes,callouts"]
194+ ----------------------------------------------------------------------
195+ metricbeat modules enable kibana
196+ ----------------------------------------------------------------------
197+
198+ For more information, see
199+ {metricbeat-ref}/configuration-metricbeat.html[Specify which modules to run] and
200+ {metricbeat-ref}/metricbeat-module-kibana.html[{kib} module].
201+ --
202+
203+ . Configure the {kib} module in {metricbeat}. +
204+ +
205+ --
206+ You must specify the following settings in the `modules.d/kibana.yml` file:
207+
208+ [source,yaml]
209+ ----------------------------------
210+ - module: kibana
211+ metricsets:
212+ - stats
213+ period: 10s
214+ hosts: ["http://localhost:5601"] <1>
215+ xpack.enabled: true <2>
216+ ----------------------------------
217+ <1> This setting identifies the host and port number that are used to access {kib}.
218+ <2> This setting ensures that {kib} can read the monitoring data successfully.
219+ That is to say, it's stored in the same location and format as monitoring data
220+ that is sent by {ref}/es-monitoring-exporters.html[exporters].
221+ --
222+
223+ . If the {stack} {security-features} are enabled, you must also provide a user
224+ ID and password so that {metricbeat} can collect metrics successfully.
225+
226+ .. Create a user on the production cluster that has the
227+ `remote_monitoring_collector` {stack-ov}/built-in-roles.html[built-in role].
228+ Alternatively, use the `remote_monitoring_user`
229+ {stack-ov}/built-in-users.html[built-in user].
230+
231+ .. Add the `username` and `password` settings to the {kib} module configuration
232+ file.
233+ +
234+ --
235+ For example, add the following settings in the `modules.d/kibana.yml` file:
236+
237+ [source,yaml]
238+ ----------------------------------
239+ - module: kibana
240+ ...
241+ username: remote_monitoring_user
242+ password: YOUR_PASSWORD
243+ ----------------------------------
244+ --
245+
246+ . If you configured {kib} to use
247+ {kibana-ref}/configuring-tls.html[encrypted communications], you must access it
248+ via HTTPS. For example, use a `hosts` setting like
249+ `https://localhost:5601` in the `modules.d/kibana.yml` file.
250+
251+ . Identify where to send the {kib} monitoring data and supply the necessary
252+ security information. Add the following settings in the {metricbeat}
253+ configuration file (`metricbeat.yml`):
254+ +
255+ --
256+ [source,yaml]
257+ ----------------------------------
258+ output.elasticsearch:
259+ hosts: ["MONITORING_ELASTICSEARCH_URL"] <1>
260+ username: cloud_monitoring_agent
261+ password: MONITORING_AGENT_PASSWORD <2>
262+ ----------------------------------
263+ <1> Replace `MONITORING_ELASTICSEARCH_URL` with the appropriate URL from the ESMS.
264+ <2> Replace `MONITORING_AGENT_PASSWORD` with the value provided to you by the
265+ Elastic support team.
266+ --
267+
268+ . {metricbeat-ref}/metricbeat-starting.html[Start {metricbeat}].
269+
270+ ////
271+ To use HTTP exporters:
272+ TBD
273+
274+
275+ [discrete]
276+ [[esms-logstash]]
277+ === Collecting monitoring data about {ls}
278+
130279. (Optional)
131280{logstash-ref}/configuring-logstash.html[Configure {ls} to collect data and send it to the monitoring cluster].
132281+
@@ -136,10 +285,10 @@ data to ESMS. It cannot be accomplished by using {metricbeat}.
136285
137286--
138287
139- . (Optional) Configure {kib} to collect data and send it to the monitoring cluster:
140- ** {kibana-ref}/monitoring-metricbeat.html[Use {metricbeat}]. This
141- option is available in 6.4 and later versions.
142- ** {kibana-ref}/monitoring-kibana.html[Use HTTP exporters].
288+ [[esms-view]]
289+ === Viewing monitoring data
143290
144- . View the monitoring data by logging into {kib} on ESMS. For more information,
145- see {kibana-ref}/xpack-monitoring.html[Monitoring].
291+ You can view the monitoring data by logging into {kib} on ESMS. The {kib} URL is
292+ provided by the Elastic support team. For more information about the monitoring
293+ interface in {kib}, see {kibana-ref}/xpack-monitoring.html[Monitoring].
294+ ////
0 commit comments