Skip to content

Commit

Permalink
Merge branch 'master' into reporting/migrate-usage-collector
Browse files Browse the repository at this point in the history
  • Loading branch information
elasticmachine authored May 26, 2020
2 parents f8c85de + d0178a3 commit 8f5107b
Show file tree
Hide file tree
Showing 62 changed files with 2,544 additions and 1,292 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@
/config/kibana.yml @elastic/kibana-platform
/x-pack/plugins/features/ @elastic/kibana-platform
/x-pack/plugins/licensing/ @elastic/kibana-platform
/x-pack/plugins/cloud/ @elastic/kibana-platform
/packages/kbn-config-schema/ @elastic/kibana-platform
/src/legacy/server/config/ @elastic/kibana-platform
/src/legacy/server/http/ @elastic/kibana-platform
Expand Down
30 changes: 30 additions & 0 deletions docs/uptime/alerting.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[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 <<management, Kibana Management>>.

[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::uptime/images/monitor-status-alert-flyout.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::uptime/images/tls-alert-flyout.png[Create TLS alert flyout]
15 changes: 15 additions & 0 deletions docs/uptime/certificates.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[role="xpack"]
[[uptime-certificates]]

== Certificates

[role="screenshot"]
image::uptime/images/certificates-page.png[Certificates]

The certificates page allows 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, you can
create a TLS alert using the `Alerts` dropdown at the top of the page.
Binary file removed docs/uptime/images/alert-flyout.png
Binary file not shown.
Binary file added docs/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 modified 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 modified 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 modified 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 modified 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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/uptime/images/observability_integrations.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 modified docs/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 modified 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 modified 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.
Binary file added docs/uptime/images/tls-alert-flyout.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions docs/uptime/index.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,13 @@ To get started with Elastic Uptime, refer to {uptime-guide}/install-uptime.html[
* <<uptime-overview>>
* <<uptime-monitor>>
* <<uptime-settings>>
* <<uptime-certificates>>
* <<uptime-alerting>>

--

include::overview.asciidoc[]
include::monitor.asciidoc[]
include::settings.asciidoc[]
include::certificates.asciidoc[]
include::alerting.asciidoc[]
11 changes: 0 additions & 11 deletions docs/uptime/overview.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -49,17 +49,6 @@ way to navigate to a more in-depth visualization for interesting hosts or endpoi
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]
=== Creating and managing alerts

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

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.

[float]
=== Observability integrations

Expand Down
23 changes: 22 additions & 1 deletion docs/uptime/settings.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
== Settings

[role="screenshot"]
image::uptime/images/settings.png[Filter bar]
image::uptime/images/settings.png[Settings page]

=== Indices

The Uptime settings page lets you change which Heartbeat indices are displayed
by the uptime app. Users must have the 'all' permission to modify items on this page.
Expand All @@ -25,3 +27,22 @@ to manually query Elasticsearch for data outside this pattern!
See the <<uptime-security,Uptime Elasticsearch Security>>
and {heartbeat-ref}/securing-heartbeat.html[Heartbeat security]
docs for more information.

=== Certificate thresholds

You can modify settings in this section to control how Uptime will visualize your TLS values in the Certificates page.
These settings also determine which certificates will be selected by any TLS alert you define.

There are two fields, `age` and `expiration`. Use the `age` threshold to specify when Uptime should warn
you about certificates that have been valid for too long. Use the `expiration` threshold to make Uptime warn you
about certificates that have approaching expiration dates.

For example, a common security requirement is to make sure that none of your organization's TLS certificates have been
valid for longer than one year. Modifying the `Age limit` field's value to 365 days will help you keep track of which
certificates you may want to refresh.

Likewise, to see which of your TLS certificates are close to expiring ahead of time, specify
an `Expiration threshold` on this page. When the count of a certificate's remaining valid days falls
below this threshold, Uptime will consider it in a warning state. If you have defined a TLS alert, you will
receive a notification from Uptime about the certificate.

6 changes: 3 additions & 3 deletions renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@
'Team:Operations',
'renovate',
'v8.0.0',
'v7.7.0',
'v7.9.0',
],
major: {
labels: [
'release_note:skip',
'Team:Operations',
'renovate',
'v8.0.0',
'v7.7.0',
'v7.9.0',
'renovate:major',
],
},
Expand Down Expand Up @@ -246,7 +246,7 @@
'Team:Operations',
'renovate',
'v8.0.0',
'v7.7.0',
'v7.9.0',
':ml',
],
},
Expand Down
2 changes: 1 addition & 1 deletion src/dev/renovate/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import { RENOVATE_PACKAGE_GROUPS } from './package_groups';
import { PACKAGE_GLOBS } from './package_globs';
import { wordRegExp, maybeFlatMap, maybeMap, getTypePackageName } from './utils';

const DEFAULT_LABELS = ['release_note:skip', 'Team:Operations', 'renovate', 'v8.0.0', 'v7.7.0'];
const DEFAULT_LABELS = ['release_note:skip', 'Team:Operations', 'renovate', 'v8.0.0', 'v7.9.0'];

export const RENOVATE_CONFIG = {
extends: ['config:base'],
Expand Down
3 changes: 2 additions & 1 deletion test/accessibility/apps/discover.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
['geo.src', 'IN'],
];

describe('Discover', () => {
// FLAKY: https://github.com/elastic/kibana/issues/62497
describe.skip('Discover', () => {
before(async () => {
await esArchiver.load('discover');
await esArchiver.loadIfNeeded('logstash_functional');
Expand Down
23 changes: 23 additions & 0 deletions x-pack/plugins/cross_cluster_replication/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Cross-Cluster Replication

## Quick steps for testing cross-cluster replication

You can run a local cluster and simulate a remote cluster within a single Kibana directory.

1. Run `yarn es snapshot --license=trial` and kill the process once the snapshot has been installed.
2. Duplicate the ES installation by running `cp -aR .es/8.0.0 .es/8.0.0-2`.
3. Start your "local" cluster by running `.es/8.0.0/bin/elasticsearch` and starting Kibana.
4. Start your "remote" cluster by running `.es/8.0.0-2/bin/elasticsearch -E cluster.name=europe -E transport.port=9400`.
5. Index a document into your remote cluster by running `curl -X PUT http://elastic:changeme@localhost:9201/my-leader-index --data '{"settings":{"number_of_shards":1,"soft_deletes.enabled":true}}' --header "Content-Type: application/json"`.
Note that these settings are required for testing auto-follow pattern conflicts errors (see below).

Now you can create follower indices and auto-follow patterns to replicate the `my-leader-index`
index on the remote cluster that's available at `127.0.0.1:9400`.

### Auto-follow pattern conflict errors

You can view conflict errors by creating two auto-follow patterns with overlapping patterns (e.g. `my*` and `my-*`) that will both capture the `my-leader-index` index on your remote cluster. Run the curl command to create `my-leader-index2` on your remote cluster, since auto-follow patterns don't replicate existing indices.

Now, when you open the details flyout of one of the auto-follow patterns you will see a list of recent errors.

![image](https://user-images.githubusercontent.com/1238659/79623769-e879b800-80d2-11ea-906d-0b2d6637c3a3.png)
95 changes: 95 additions & 0 deletions x-pack/plugins/index_lifecycle_management/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Index Lifecycle Management

## Quick steps for testing ILM in Index Management

You can test that the `Frozen` badge, phase filtering, and lifecycle information is surfaced in
Index Management by running this series of requests in Console:

```
PUT /_ilm/policy/full
{
"policy": {
"phases" : {
"hot" : {
"min_age" : "0ms",
"actions" : {
"rollover" : {
"max_docs" : 1
}
}
},
"warm" : {
"min_age" : "15s",
"actions" : {
"forcemerge" : {
"max_num_segments" : 1
},
"shrink" : {
"number_of_shards" : 1
}
}
},
"cold" : {
"min_age" : "30s",
"actions" : {
"freeze": {}
}
},
"delete" : {
"min_age" : "1d",
"actions" : {
"delete" : { }
}
}
}
}
}
PUT _template/test
{
"index_patterns": ["test-*"],
"settings": {
"number_of_shards": 3,
"number_of_replicas": 0,
"index.lifecycle.name": "full",
"index.lifecycle.rollover_alias": "test-alias"
}
}
PUT /test-000001
{
"aliases": {
"test-alias": {
"is_write_index": true
}
}
}
PUT test-alias/_doc/1
{
"a": "a"
}
PUT /_cluster/settings
{
"transient": {
"logger.org.elasticsearch.xpack.core.indexlifecycle": "TRACE",
"logger.org.elasticsearch.xpack.indexlifecycle": "TRACE",
"logger.org.elasticsearch.xpack.core.ilm": "TRACE",
"logger.org.elasticsearch.xpack.ilm": "TRACE",
"indices.lifecycle.poll_interval": "10s"
}
}
```

Then go into Index Management and, after about 1 minute, you'll see a frozen index and
you'll be able to filter by the various lifecycle phases and statuses.

![image](https://user-images.githubusercontent.com/1238659/78087831-29ee3180-7377-11ea-8e24-14cdc4035bb2.png)

Next, add the Kibana sample data and attach the `full` policy to the index that gets created.
After about a minute, there should be an error on this index. When you click the index you'll see
ILM information in the detail panel as well as an error. You can dismiss the error by clicking
`Manage > Retry lifecycle step`.

![image](https://user-images.githubusercontent.com/1238659/78087984-a6811000-7377-11ea-880e-1a7b182c14f1.png)
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ jest.mock('@elastic/eui', () => ({
),
}));

describe('<PipelinesClone />', () => {
// FLAKY: https://github.com/elastic/kibana/issues/66856
describe.skip('<PipelinesClone />', () => {
let testBed: PipelinesCloneTestBed;

const { server, httpRequestsMockHelpers } = setupEnvironment();
Expand Down
19 changes: 18 additions & 1 deletion x-pack/plugins/rollup/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Rollup

## Summary

Welcome to the Kibana rollup plugin! This plugin provides Kibana support for [Elasticsearch's rollup feature](https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-rollup.html). Please refer to the Elasticsearch documentation to understand rollup indices and how to create rollup jobs.

This plugin allows Kibana to:
Expand All @@ -10,11 +13,25 @@ This plugin allows Kibana to:

The rest of this doc dives into the implementation details of each of the above functionality.

## Quick steps for testing

The pattern for creating a rollup job and rollup index pattern is:

1. Install sample data (web logs is a good one).
2. Create a rollup job with an index pattern that captures this index (e.g. `k*`).
3. Set frequency to "minute". Clear the latency buffer field.
4. Select the time field which is the same time field selected in the installed index pattern (`timestamp` without an `@` in the case of web logs).
5. Specify a time bucket size (`10m` will do).
6. Select a few terms, histogram, and metrics fields.
7. Create and start the rollup job. Wait a minute for the job to run. You should see the numbers for documents and pages processed change in the detail panel.
8. Create a rollup index pattern in the Index Patterns app.
9. Now you can create visualizations using this index pattern.

---

## Create and manage rollup jobs

The most straight forward part of this plugin! A new app called Rollup Jobs is registered in the Management section and follows a typical CRUD UI pattern. This app allows users to create, start, stop, clone, and delete rollup jobs. There is no way to edit an existing rollup job; instead, the UI offers a cloning ability. The client-side portion of this app lives in [public/crud_app](public/crud_app) and uses endpoints registered in [(server/routes/api/jobs](server/routes/api/jobs).
The most straight forward part of this plugin! A new app called Rollup Jobs is registered in the Management section and follows a typical CRUD UI pattern. This app allows users to create, start, stop, clone, and delete rollup jobs. There is no way to edit an existing rollup job; instead, the UI offers a cloning ability. The client-side portion of this app lives in [public/crud_app](public/crud_app) and uses endpoints registered in [server/routes/api/jobs](server/routes/api/jobs).

Refer to the [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-getting-started.html) to understand rollup indices and how to create rollup jobs.

Expand Down
Loading

0 comments on commit 8f5107b

Please sign in to comment.