[Uptime] Add first draft of uptime docs (#31814)

* Add first draft of uptime docs.

* Add first draft of uptime docs.

* Implement PR feedback.

* Add role info to uptime docs

* Impelement some more PR feedback.

* Attempt to add more copy focusing on the 'why' of each piece of the docs.

* uptime docs: grammar, formatting, order

* move location of uptime docs

* Implement more PR feedback.

* Add screenshots.
This commit is contained in:
Justin Kambic 2019-03-22 12:59:53 -04:00 committed by GitHub
parent 5ff422d353
commit 45d2c84826
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 218 additions and 0 deletions

View file

@ -50,6 +50,8 @@ include::logs/index.asciidoc[]
include::apm/index.asciidoc[]
include::uptime/index.asciidoc[]
include::graph/index.asciidoc[]
include::dev-tools.asciidoc[]

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View file

@ -0,0 +1,28 @@
[role="xpack"]
[[xpack-uptime]]
= Uptime
[partintro]
--
Use the Uptime UI to monitor the status of network endpoints via HTTP/S, TCP,
and ICMP. You will be able to explore status over time, drill into specific monitors,
and view a high-level snapshot of your environment at a selected point in time.
[float]
== Add monitors
To get started with Uptime monitoring, you'll need to define some monitors and run Heartbeat.
These monitors will provide the data we will be visualizing in the Uptime UI.
See {heartbeat-ref}/heartbeat-configuration.html[Configure Heartbeat] for instructions
on configuring monitors to begin storing Uptime information in your cluster.
[float]
== Uptime, Heartbeat, and Kibana
For Uptime to work, it is important you use the same major versions of Heartbeat and Kibana.
For example, version 6.7 of Kibana will expect an index of `heartbeat-6*`,
while Kibana 7.0 requires an index of `heartbeat-7*` (containing documents from Heartbeat 7.0).
--
include::overview.asciidoc[]
include::monitor.asciidoc[]
include::security.asciidoc[]

View file

@ -0,0 +1,54 @@
[role="xpack"]
[[uptime-monitor]]
== Monitor
The Monitor page will help you get further insight into the performance
of a specific network endpoint. You'll see a detailed visualization of
the monitor's request duration over time, as well as the `up`/`down`
status over time.
[float]
=== Status bar
[role="screenshot"]
image::uptime/images/status-bar.png[Status bar]
The Status bar displays a quick summary of the latest information
regarding your monitor. You can view its latest status, click a link to
visit the targeted URL, see its most recent request duration, and determine the
amount of time that has elapsed since the last check.
You can use the Status bar to get a quick summary of current performance,
beyond simply knowing if the monitor is `up` or `down`.
[float]
=== Monitor charts
[role="screenshot"]
image::uptime/images/monitor-charts.png[Monitor charts]
The Monitor charts visualize information over the time specified in the
date range. These charts can help you gain insight into how quickly requests are being resolved
by the targeted endpoint, and give you a sense of how frequently a host or endpoint
was down in your selected timespan.
The first chart displays request duration information for your monitor.
The area surrounding the line is the range of request time for the corresponding
bucket. The line is the average time.
Next, is a graphical representation of the check statuses over time. Hover over
the charts to display crosshairs with more specific numeric data.
[role="screenshot"]
image::uptime/images/crosshair-example.png[Chart crosshair]
[float]
=== Check history
[role="screenshot"]
image::uptime/images/check-history.png[Check history view]
The Check history displays the total count of this monitor's checks for the selected
date range. You can additionally filter the checks by `status` to help find recent problems
on a per-check basis. This table can help you gain some insight into more granular details
about recent individual data points Heartbeat is logging about your host or endpoint.

View file

@ -0,0 +1,61 @@
[role="xpack"]
[[uptime-overview]]
== Overview
The Uptime overview is intended to help you quickly identify and diagnose outages and
other connectivity issues within your network or environment. There is a date range
selection that is global to the Uptime UI; you can use this selection to highlight
an absolute date range, or a relative one, similar to other areas of Kibana.
[float]
=== Filter bar
[role="screenshot"]
image::uptime/images/filter-bar.png[Filter bar]
The filter bar is designed to let you quickly view specific groups of monitors, or even
an individual monitor, if you have defined many.
This control allows you to use automated filter options, as well as input custom filter
text to select specific monitors by field, URL, ID, and other attributes.
[float]
=== Snapshot view
[role="screenshot"]
image::uptime/images/snapshot-view.png[Snapshot view]
This view is intended to quickly give you a sense of the overall
status of the environment you're monitoring, or a subset of those monitors.
Here, you can see the total number of detected monitors within the selected
Uptime date range. In addition to the total, the counts for the number of monitors
in an `up` or `down` state are displayed, based on the last check reported by Heartbeat
for each monitor.
Next to the counts, there is a histogram displaying the change over time throughout the
selected date range.
[float]
=== Monitor list
[role="screenshot"]
image::uptime/images/monitor-list.png[Monitor list]
The Monitor list displays information at the level of individual monitors.
The data shown here will flesh out your individual monitors, and provide a quick
way to navigate to a more in-depth visualization for interesting hosts or endpoints.
This table includes information like the most recent status, when the monitor was last checked, its
ID and URL, its IP address, and a dedicated sparkline showing its check status over time.
[float]
=== Error list
[role="screenshot"]
image::uptime/images/error-list.png[Error list]
The Error list displays aggregations of errors that Heartbeat has logged. Errors are
displayed by Error type, monitor ID, and message. Clicking a monitor's ID will take you
to the corresponding Monitor view, which can provide you richer information about the individual
data points that are resulting in the displayed errors.

View file

@ -0,0 +1,73 @@
[role="xpack"]
[[uptime-security]]
== Use with Elasticsearch Security
If you use Elasticsearch security, you'll need to enable certain privileges for users
that would like to access the Uptime app. Below is an example of creating
a user and support role to implement those privileges.
[float]
=== Create a role
You'll need a role that lets you access the Heartbeat indices, which by default are `heartbeat-*`.
You can create this with the following request:
["source","sh",subs="attributes,callouts"]
---------------------------------------------------------------
PUT /_security/role/uptime
{ "indices" : [
{
"names" : [
"heartbeat-*"
],
"privileges" : [
"read",
"view_index_metadata"
],
"field_security" : {
"grant" : [
"*"
]
},
"allow_restricted_indices" : false
}
],
"applications" : [
{
"application" : "kibana-.kibana",
"privileges" : [
"all"
],
"resources" : [
"*"
]
}
],
"transient_metadata" : {
"enabled" : true
}
}
---------------------------------------------------------------
// CONSOLE
[float]
=== Assign the role to a user
Next, you'll need to create a user with both the `kibana_user`, and `uptime` roles.
You can do this with the following request:
["source","sh",subs="attributes,callouts"]
---------------------------------------------------------------
PUT /_security/user/jacknich
{
"password" : "j@rV1s",
"roles" : [ "uptime", "kibana_user" ],
"full_name" : "Jack Nicholson",
"email" : "jacknich@example.com",
"metadata" : {
"intelligence" : 7
}
}
---------------------------------------------------------------
// CONSOLE