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

Add 7.8 uptime guide from Kibana docs #30

Merged
merged 1 commit into from
Jul 8, 2020
Merged
Show file tree
Hide file tree
Changes from all 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
33 changes: 33 additions & 0 deletions docs/en/uptime/alerting.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[role="xpack"]
[[uptime-alerting]]

=== Uptime alerting

The Uptime app integrates with Kibana's {kibana-ref}/alerting-getting-started.html[alerting and actions]
feature. It provides a set of built-in actions and Uptime specific threshold alerts for you to use
and enables central management of all alerts from {kibana-ref}/management.html[Kibana Management].

[role="screenshot"]
image::images/create-alert.png[Create alert]

[float]
==== Monitor status alerts

To receive alerts when a monitor goes down, use the alerting menu at the top of the
overview page. Use a query in the alert flyout to determine which monitors to check
with your alert. If you already have a query in the overview page search bar it will
be carried over into this box.

[role="screenshot"]
image::images/monitor-status-alert.png[Create monitor status alert flyout]

[float]
==== TLS alerts

Uptime also provides the ability to create an alert that will notify you when one or
more of your monitors have a TLS certificate that will expire within some threshold,
or when its age exceeds a limit. The values for these thresholds are configurable on
the <<uptime-settings, Settings page>>.

[role="screenshot"]
image::images/tls-alert.png[Create TLS alert flyout]
70 changes: 70 additions & 0 deletions docs/en/uptime/app-overview.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
[role="xpack"]
[[uptime-app]]
== Uptime app

The Uptime app in {kib} enables you to monitor the status of network endpoints via HTTP/S, TCP, and ICMP.
You can explore endpoint status over time, drill down into specific monitors,
and view a high-level snapshot of your environment at any point in time.

[role="screenshot"]
image::images/uptime-overview.png[Uptime app overview]

[role="xpack"]
[[uptime-app-overview]]
=== Overview

The Uptime overview helps you quickly identify and diagnose outages and
other connectivity issues within your network or environment. You can use the date range
selection that is global to the Uptime app, to highlight
an absolute date range, or a relative one, similar to other areas of {kib}.

[float]
=== Filter bar

The Filter bar enables you to 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.

[role="screenshot"]
image::images/filter-bar.png[Filter bar]

[float]
=== Snapshot panel

The Snapshot panel displays the overall
status of the environment you're monitoring or a subset of those monitors.
You can see the total number of detected monitors within the selected
Uptime date range, along with the number of monitors
in an `up` or `down` state, which is 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.

[role="screenshot"]
image::images/snapshot-view.png[Snapshot view]

[float]
=== Monitor list

Information about individual monitors is displayed in the monitor list and provides a quick
way to navigate to a more in-depth visualization for interesting hosts or endpoints.

The information displayed includes the recent status of a host or endpoint, when the monitor was last checked, its
ID and URL, and its IP address. There is also sparkline showing its check status over time.

[role="screenshot"]
image::images/monitor-list.png[Monitor list]

[float]
=== Observability integrations

The Monitor list also contains a menu of available integrations. When Uptime detects Kubernetes or
Docker related host information, it provides links to open the Metrics app or Logs app pre-filtered
for this host. Additionally, to help you quickly determine if these solutions contain data relevant to you,
this feature contains links to filter the other views on the host's IP address.

[role="screenshot"]
image::images/observability_integrations.png[Observability integrations]
15 changes: 15 additions & 0 deletions docs/en/uptime/certificates.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[role="xpack"]
[[uptime-certificates]]

=== Certificates

The certificates page enables you to visualize TLS certificate data in your indices. In addition to the
common name, associated monitors, issuer information, and SHA fingerprints, Uptime also assigns a status
derived from the threshold values in the <<uptime-settings, Settings page>>.

Several of the columns on this page are sortable. You can use the search bar at the top of the view
to find values in most of the TLS-related fields in your Uptime indices. Additionally, using the `Alerts`
dropdown at the top of the page you can create a TLS alert.

[role="screenshot"]
image::images/certificates-page.png[Certificates]
27 changes: 27 additions & 0 deletions docs/en/uptime/deployment-arch.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[role="xpack"]
[[uptime-deployment-arch]]
== Deployment Architecture

There are multiple ways to deploy Uptime and Heartbeat.
Use the information in this section to determine the best deployment for you.
A guiding principle is that when an outage takes down the service being monitored it should not also take down Heartbeat.
You want Heartbeat to be functioning even when your service is not, so the guidelines here help you maximize this possibility.

Heartbeat is commonly run as a centralized service within a data center.
While it is possible to run it as a separate "sidecar" process paired with each process/container, we recommend against it.
Running Heartbeat centrally ensures you will still be able to see monitoring data in the event of an overloaded, disconnected, or otherwise malfunctioning server.

For further redundancy, you may want to deploy multiple Heartbeats across geographic and network boundaries to provide more data.
To do so, specify Heartbeat's observer {heartbeat-ref}/configuration-observer-options.html[geo options].

Some examples might be:

* **A site served from a content delivery network (CDN) with points of presence (POPs) around the globe:**
To check if your site is reachable via CDN POPS, you may want to have multiple Heartbeat instances at different data centers around the world.
* **A service within a single data center that is accessed across multiple VPNs:**
Set up one Heartbeat instance within the VPN the service operates from, and another within an additional VPN that users access the service from.
Having both instances helps pinpoint network errors in the event of an outage.
* **A single service running primarily in a US east coast data center, with a hot failover located in a US west coast data center:**
In each data center, run a Heartbeat instance that checks both the local copy of the service and its counterpart across the country.
Set up two monitors in each region, one for the local service and one for the remote service.
In the event of a data center failure it will be immediately apparent if the service had a connectivity issue to the outside world or if the failure was only internal.
Binary file added docs/en/uptime/images/cert-exp.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/en/uptime/images/certificates-page.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/en/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/en/uptime/images/create-alert.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/en/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/en/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/en/uptime/images/indices.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/en/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/en/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/en/uptime/images/monitor-status-alert.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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/en/uptime/images/settings.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/en/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/en/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.
Binary file added docs/en/uptime/images/tls-alert.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/en/uptime/images/uptime-multi-deployment.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/en/uptime/images/uptime-overview.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/en/uptime/images/uptime-setup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions docs/en/uptime/index.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

include::{asciidoc-dir}/../../shared/versions/stack/{source_branch}.asciidoc[]
include::{asciidoc-dir}/../../shared/attributes.asciidoc[]

= Uptime monitoring guide

include::overview.asciidoc[]

include::install.asciidoc[]

include::deployment-arch.asciidoc[]

include::app-overview.asciidoc[]

include::monitor.asciidoc[]

include::settings.asciidoc[]

include::certificates.asciidoc[]

include::alerting.asciidoc[]

74 changes: 74 additions & 0 deletions docs/en/uptime/install.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
[[install-uptime]]
== Install Uptime

The easiest way to get started with Elastic Uptime is by using our hosted {es} Service on Elastic Cloud.
The {es} Service is available on both AWS and GCP,
and automatically configures {es} and {kib}.

[float]
=== Hosted Elasticsearch Service

Skip managing your own {es} and {kib} instance by using our
https://www.elastic.co/cloud/elasticsearch-service[hosted {es} Service] on
Elastic Cloud.

{ess-trial}[Try out the {es} Service for free],
then jump straight to <<install-heartbeat>>.

[float]
[[before-installation]]
=== Install the stack yourself

If you'd rather install the stack yourself,
first see the https://www.elastic.co/support/matrix[Elastic Support Matrix] for information about supported operating systems and product compatibility.

* <<install-elasticsearch>>
* <<install-kibana>>
* <<install-heartbeat>>

[[install-elasticsearch]]
=== Step 1: Install Elasticsearch

Install an {es} cluster, start it up, and make sure it's running.

. Verify that your system meets the
https://www.elastic.co/support/matrix#matrix_jvm[minimum JVM requirements] for {es}.
. {stack-gs}/get-started-elastic-stack.html#install-elasticsearch[Install Elasticsearch].
. {stack-gs}/get-started-elastic-stack.html#_make_sure_elasticsearch_is_up_and_running[Make sure elasticsearch is up and running].

[[install-kibana]]
=== Step 2: Install Kibana

Install {kib}, start it up, and open up the web interface:

. {stack-gs}/get-started-elastic-stack.html#install-kibana[Install Kibana].
. {stack-gs}/get-started-elastic-stack.html#_launch_the_kibana_web_interface[Launch the Kibana Web Interface].

[[install-heartbeat]]
=== Step 3: Install and configure Heartbeat

Uptime requires the setup of monitors in Heartbeat.
These monitors provide the data you'll be visualizing in the {kibana-ref}/xpack-uptime.html[Uptime app].

For instructions on installing and configuring Heartbeat, see the *Setup Instructions* in {kib}.
Additional information is available in {heartbeat-ref}/heartbeat-configuration.html[Configure Heartbeat].

[role="screenshot"]
image::images/uptime-setup.png[Installation instructions on the Uptime page in Kibana]

[[setup-security]]
=== Step 4: Set up Security

Secure your installation by following the {heartbeat-ref}/securing-heartbeat.html[Secure Heartbeat] documentation.

[float]
==== Important considerations

* Make sure you're using the same major versions of Heartbeat and {kib}.

* Index patterns tell {kib} which {es} indices you want to explore.
The Uptime app requires a +heartbeat-{major-version-only}*+ index pattern.
If you have configured a different index pattern, you can use {ref}/indices-aliases.html[index aliases] to ensure data is recognized by the Uptime app.

After you install and configure Heartbeat,
the {kibana-ref}/xpack-uptime.html[Uptime app] is automatically populated with the Heartbeat monitors.
59 changes: 59 additions & 0 deletions docs/en/uptime/monitor.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
[role="xpack"]
[[uptime-monitor]]
=== Monitor

The Monitor page helps you gain insights into the performance
of a specific network endpoint. A detailed visualization of
the monitor's request duration over time, as well as the `up`/`down`
status over time, is displayed. By configuring Machine Learning jobs
on this page, you can also also detect anomalies in response time data.


==== Status panel

The Status panel 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.

When two Heartbeat instances are configured in different geographic locations
the map will show each location as a pinpoint on the map, along with the
amount of time elapsed since data was last received from that location.

[role="screenshot"]
image::images/status-bar.png[Status bar]


[float]
==== Monitor charts

The Monitor charts visualize information over the time specified in the
date range. These charts help you gain insights 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.

[role="screenshot"]
image::images/monitor-charts.png[Monitor charts]

The Monitor duration 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. In the upper right hand of this panel
you can enable Anomaly detection using Machine Learning. When response times change
in an unexpected way the time range in which they occurred are highlighted with a color.

The pings over time chart is a graphical representation of the check statuses over time.
Hover over the charts to display crosshairs with specific numeric data.

[role="screenshot"]
image::images/crosshair-example.png[Chart crosshair]

[float]
==== Check history

The Check history table lists the total count of this monitor's checks for the selected
date range. To help find recent problems on a per-check basis, you can filter the checks
by status and location. This table can help you gain some insight into more granular details
about recent individual data points that Heartbeat is logging about your host or endpoint.

[role="screenshot"]
image::images/check-history.png[Check history view]
57 changes: 57 additions & 0 deletions docs/en/uptime/overview.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
[role="xpack"]
[[uptime-overview]]
== Elastic Uptime overview

++++
<titleabbrev>Overview</titleabbrev>
++++

Elastic Uptime enables you to monitor the availability and response times of applications and services in real time and to detect problems before they affect users.

Elastic Uptime helps you to understand uptime and response time characteristics for your services and applications.
It can be deployed both inside and outside your organization's network, so that you can analyze problems from multiple vantage points.

Elastic Uptime uses these components: *Heartbeat*, *Elasticsearch* and *Kibana*.

[float]
=== Heartbeat

{heartbeat-ref}/index.html[Heartbeat] is an open source data shipper that performs uptime monitoring.
Elastic Uptime uses Heartbeat to collect monitoring data from your target applications and services, and ship it to Elasticsearch.

[float]
=== Elasticsearch

{ref}/index.html[Elasticsearch] is a highly scalable, open source, search and analytics engine.
Elasticsearch can store, search, and analyze large volumes of data in near real-time.
Elastic Uptime uses Elasticsearch to store monitoring data from Heartbeat in Elasticsearch documents.

[float]
=== Kibana

{kibana-ref}/index.html[Kibana] is an open source analytics and visualization platform designed to work with Elasticsearch.
You can use Kibana to search, view, and interact with data stored in Elasticsearch.
You can easily perform advanced data analysis and visualize your data in a variety of charts, tables, and maps.

The {kibana-ref}/xpack-uptime.html[Elasticsearch Uptime app] in Kibana provides a dedicated user interface for viewing uptime data and identifying problem areas.

[float]
=== Example deployments
// ++ I like the Infra/logging diagram which shows Metrics and Logging apps as separate components inside Kibana
// ++ In diagram, should be Uptime app, not Uptime UI, possibly even Elastic Uptime? Also applies to Metrics/Logging/APM.
// ++ Need more whitespace around components.

In this simple deployment, a single instance of Heartbeat is deployed at a single monitoring location to monitor a single service.
The Heartbeat instance sends the monitoring data to Elasticsearch.
Then you can use the Uptime app in Kibana to view the data from Heartbeat and determine the status of the service.

image::images/uptime-simple-deployment.png[Uptime simple deployment]

In this deployment, two instances of Heartbeat are deployed at two different monitoring locations.
Both instances monitor the same service.
The Heartbeat instances send the monitoring data to Elasticsearch.
As before, you can use the Uptime app in Kibana to view the Heartbeat data and determine the status of the service.
When a failure occurs, the multiple monitoring locations enable you to pinpoint the area in which the failure has occurred.

image::images/uptime-multi-deployment.png[Uptime multiple server deployment]

Loading