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

[Uptime] Add first draft of uptime docs #31814

Merged
merged 14 commits into from
Mar 22, 2019
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/index.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ include::logs/index.asciidoc[]

include::apm/index.asciidoc[]

include::uptime/index.asciidoc[]

include::graph/index.asciidoc[]

include::dev-tools.asciidoc[]
Expand Down
Binary file added docs/uptime/images/check-history.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/uptime/images/crosshair-example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/uptime/images/error-list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/uptime/images/filter-bar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/uptime/images/monitor-charts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/uptime/images/monitor-list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/uptime/images/snapshot-view.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/uptime/images/status-bar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 28 additions & 0 deletions docs/uptime/index.asciidoc
Original file line number Diff line number Diff line change
@@ -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
bmorelli25 marked this conversation as resolved.
Show resolved Hide resolved
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[]
54 changes: 54 additions & 0 deletions docs/uptime/monitor.asciidoc
Original file line number Diff line number Diff line change
@@ -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.
61 changes: 61 additions & 0 deletions docs/uptime/overview.asciidoc
Original file line number Diff line number Diff line change
@@ -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.
73 changes: 73 additions & 0 deletions docs/uptime/security.asciidoc
Original file line number Diff line number Diff line change
@@ -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" : "[email protected]",
"metadata" : {
"intelligence" : 7
}
}
---------------------------------------------------------------
// CONSOLE