Initial version documentation

This commit is contained in:
Boaz Leskes 2014-01-28 12:51:00 +01:00
parent a42fb46d68
commit 05fb8c7c87
5 changed files with 217 additions and 0 deletions

1
.gitignore vendored
View file

@ -14,3 +14,4 @@
/node_modules
/build
/.aws-config.json
html_docs

View file

@ -0,0 +1,75 @@
[[configuration]]
== Configuration Options
=== Statistics exporting
`marvel.agent.exporter.es.hosts`:: A lists of "hostname:port" combinations
to whom statistics and events will be sent. The data will be intially sent to the first host in the list with a fail-over to the rest.
Defaults to ["localhost:9200"]
`marvel.agent.enabled`:: set this to `false` to disable all exporting of data.
This is handy to set on a dedicated monitoring cluster which is used to
recieve and analyze data from production.
`marvel.agent.indices`:: controls which indices to export data for.
Uses simple `test1,test2,test3` notation (or `_all` for all indices). It also support
wildcards, for example: `test*`, and the ability to "add" (`+`) and "remove" (`-`),
for example: `+test*,-test3`.
Defaults to `*`
`marvel.agent.exporter.es.index.timeformat`:: controls the time component in the index name to
which data is exported. Defaults to `"YYYY.MM.dd"` (index name ex.: `".marvel-2014.01.28"`).
Supports formatting as explained http://joda-time.sourceforge.net/api-release/org/joda/time/format/DateTimeFormat.html[here].
=== Marvel indices
Marvel stores it's data using time based indices. By default, Marvel generates
an index per day, with one shard and one replica. We expect this to be a good
default which will fit most use cases. You may need to change it for very big
installations.
==== The marvel index template
Marvel uses an http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-templates.html[index template]
to set the settings for new indices created. You can change it by calling `GET _template/marvel` to get the standard one,
change or add settings and update it using `PUT _template/marvel`. We recommend you only change the
`settings` section as other changes are important for the correct operation of
the dashboards.
Here are the `settings` used by default:
[source,json]
----------------------------------
{
"template": ".marvel*",
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1,
"analysis": {
"analyzer": {
"default": {
"type": "standard",
"stopwords": "_none_"
}
}
},
"marvel.index_format": 1
}
.....
}
----------------------------------
=== Other relevant Elasticsearch settings
Marvel relies on Elasticsearch's capability to automatically create indices when indexing documents. Some people like to disable this feature to better protect against mistakes in production clusters. To do so and still allow the creation of Marvel indices you set the following:
[source,yaml]
----------------------
action.auto_create_index: .marvel-*
----------------------
For more information available http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-index_.html#index-creation[here]

26
docs/dashboards.asciidoc Normal file
View file

@ -0,0 +1,26 @@
== Marvel's Dashboards
=== Overview Dashboard
The overview dashboard is the Marvels main page. The dashboard displays the essentials metrics you need to know that your cluster is healthy. The dashboard also provides an overview of your nodes and indices, displayed in two clean tables along with the relevant key metrics. If some value needs your attention, it will be highlighted in yellow or red. The nodes and indices tables also serve as an entry point to more details on the Node Statistics and Index Statistics dashboards.
IMAGE
=== Node & Index Statistics
The Node Statistics dashboard displays metric charts from the perspective of one or more nodes. Metrics include hardware level metrics (like load & CPU usage), process & JVM metrics (memory usage, GC), node level Elasticsearch metrics (field data usage, search requests rate & thread pool rejection).
IMAGE
The Index Statistics dashboard is very similar to the Node Satistics dashboard and shows you all the metrics from a perspective of one or more indices. The metrics are an per index cluster wide aggregation. For example, the store size chart shows you the total size of the index data across all the cluster
IMAGE
=== Sense
Sense is a lightweight developer console. The console is handy when you want to make an extra API call to check something or perhaps tweak a setting. The developer console understands both JSON and the Elasticsearch API, offering suggestions and auto-completes. It is quite handy for prototyping queries, researching your data or any other administrative work with the API.
IMAGE

20
docs/index.asciidoc Normal file
View file

@ -0,0 +1,20 @@
= Marvel Documentation
== What is Marvel?
Marvel is a management and monitoring product for Elasticsearch. Marvels aggregates cluster wide statistics and events and offers a single interface to view and analyze them. Marvel is free for development use but does require a license to run in production. For more details, please see the http://www.elasticsearch.com/marvel[Marvel product page].
include::dashboards.asciidoc[]
include::install.asciidoc[]
include::configuration.asciidoc[]
== System Requirements
Elasticsearch:: 0.90.9 or above
Browser:: The latest version of Chrome, Firefox or Safari is recommended. Internet Explorer 9 and above is also supported.

95
docs/install.asciidoc Normal file
View file

@ -0,0 +1,95 @@
== Installation
Marvel is installed as an Elasticsearch plug-in. The plug-in must be installed
on every node in the cluster. By default, the plug-in will store data in the
same Elasticsearch cluster that it is monitoring. If you are monitoring a
production cluster we recommend that you send this data to another cluster
that will serve as a "monitoring cluster". This is better as it will help to
prevent a problem in one cluster from impacting the other cluster. For
example, when your production cluster is having trouble you would like to make
sure you can view the Marvel data easily.
=== Simple install
This is simplest way to install and use Marvel. Marvel data will be stored on
the same cluster as the one being monitored and you will be able to access the
Marvel UI from every node. You have to repeat the bellow procedure on every
node:
1. From the Elasticsearch home directory, run:
+
[source,sh]
----------------
bin/plugin -i elasticsearch/marvel/latest
----------------
2. Restart your Elasticsearch node
Once the plugin was installed on all nodes, you can access the Marvel UI by
viewing http://any-server-in-cluster:9200/_plugin/marvel/ with any modern
browser. If you're quick, it may take a minute for the initial data to appear.
A couple of points to consider:
* Since this requires to restart the nodes of your cluster, you might want to
temporarily http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-cluster.html[disable allocations]
* If you run your cluster using a non-standard port, you need to change the `marvel.agent.exporter.es.nosts` settings. See <<configuration>>.
=== Installing with a secondary Monitoring Cluster
First, prepare the cluster you would use to store and analyze Marvel's data (we'll call it the Monitoring Cluster). For this example, we will assume two hosts, es-mon-1 and es- mon-2, are in the monitoring cluster.
==== Preparing the monitoring cluster
For each node in the monitoring cluster:
1. Edit Elasticsearch.yml and insert
+
[source,yaml]
------------------------
marvel.agent.enabled: false
------------------------
+
to disable transmission of data from this cluster.
2. Install the plug-in. From the Elasticsearch home directory run
+
[source,sh]
----------------
bin/plugin -i elasticsearch/marvel/latest
----------------
3. Restart Elasticsearch
==== Installing marvel on the production cluster
1. Edit Elasticsearch.yml and insert
+
[source,yaml]
------------------------
marvel.agent.es.exporter.hosts: ["es-mon-1:9200","es-mon-2:9200"]
------------------------
+
This line adds two hosts of your monitoring cluster to receive the data, a primary and a backup.
2. Install the plug-in. From the Elasticsearch home directory run
+
[source,sh]
------------------------
bin/plugin -i elasticsearch/marvel/latest
------------------------
3. Restart Elasticsearch
Once the plugin was installed on all nodes, you can access the Marvel UI by viewing http://any-server-in-monitoring-cluster:9200/_plugin/marvel/ with any modern browser. If you're quick, it may take a minute or two for data to appear.
*Note*: You may want to temporarily http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-cluster.html[disable allocation] before you do this to avoid unnecessary shard reallocations during the install