Your window into the Elastic Stack
Find a file
Andrew Goldstein 730ba21ed4
[SIEM] Endgame Row Renderers: DNS, File (FIM), Network, Security (Authentication), Process (#48277)
## [SIEM] Endgame Row Renderers: DNS, File (FIM), Network, Security (Authentication), Process

This PR renders Endgame events via _row renderers_ in the Timeline, per the following screenshot:

![endgame-row-renderers](https://user-images.githubusercontent.com/4459398/66854649-fa6d7900-ef3e-11e9-97cc-5b229041f186.png)

The following Endgame event types / subtypes will be rendered via row renderers in the Timeline:

* DNS (`dns_event`)
  - [X] `request_event`
* File (FIM) (`file_event`)
  - [X] `file_create_event`
  - [X] `file_delete_event`
* Network (`network_event`)
  - [X] `ipv4_connection_accept_event`
  - [X] `ipv6_connection_accept_event`
  - [X] `ipv4_disconnect_received_event`
  - [X] `ipv6_disconnect_received_event`
* Security (Authentication) (`security_event`)
  - [X] `user_logon`
  - [X] `admin_logon`
  - [X] `explicit_user_logon`
  - [X] `user_logoff`
* Process (`process_event`)
  - [X] `creation_event`
  - [X] `termination_event`

This PR also adds row rendering support for some non-Endgame events that conform to the [Elastic Common Schema](https://www.elastic.co/guide/en/ecs/current/index.html) (ECS):
* DNS requests
* FIM file creation events
* FIM file deletion events

RELEASE NOTE: To view Endgame events in existing SIEM deployments, you must manually add `endgame-*` to the SIEM index pattern in `Kibana Management > Advanced Settings > SIEM > Elasticsearch indices`.

## DNS Request events

Endgame DNS events with the following event type and subtype will be rendered in the Timeline via row renderers:

```
endgame.event_type_full: dns_event and endgame.event_subtype_full: request_event
```

_To view these Endgame DNS events in a timeline, add `endgame-*` to the `SIEM` > `Elasticsearch indices` setting in Kibana `Advanced Settings`, then paste the query above into a timeline to view events._

### Runtime matching criteria

All DNS events, including Endgame and non-Endgame DNS events matching the following criteria will be rendered:

```
dns.question.type: * and dns.question.name: *
```

_The query above can be executed in a timeline to view all data that will be rendered via the (new) DNS event row renderer._

### Sample rendered DNS event

![endgame-dns-event](https://user-images.githubusercontent.com/4459398/66856414-643b5200-ef42-11e9-8d50-894b7f7abf3d.png)

Each field with `this formatting` will be draggable (to pivot a search) in the row-rendered event:

`Arun` \ `Anvi-Acer` @ `HD-obe-8bf77f54` asked for `clients4.google.com` with question type `A`, which resolved to `10.58.197.78` (response code: `NOERROR`) via `chrome.exe` `(11620)` [![windows-logo](https://user-images.githubusercontent.com/4459398/66249835-e3d15180-e6f6-11e9-89c3-5517c5ed1596.png) `3008`]

### Fields in a DNS event

The following fields will be used to render a DNS event:

`user.name` \ `user.domain`  @ `host.name` asked for `dns.question.name` with question type `dns.question.type`, which resolved to `dns.resolved_ip` (resp code: `dns.response_code`) via `process.name` `(process.pid)` [![windows-logo](https://user-images.githubusercontent.com/4459398/66249835-e3d15180-e6f6-11e9-89c3-5517c5ed1596.png) `event.code | winlog.event_id`]

Note: At the time of this writing, Endgame DNS events do not populate `dns.response_code`. Row renderers are designed to still render partial results when fields are missing. In this case the following text:

> (resp code: `dns.response_code`)

will NOT be rendered, but the other (populated) fields in the DNS event will be rendered.

### Additional Rendering of DNS events by the Netflow row renderer

In addition to being rendered by the new DNS renderer described above, DNS events will also be rendered by the Netflow row renderer.

The Neflow row renderer shows the directionality, protocol, and flow of data between a source and destination

### Non-Endgame DNS events

The following screenshot shows a DNS event from `packetbeat` rendered by the new DNS row renderer:

![non-endgame-dns-event](https://user-images.githubusercontent.com/4459398/66857061-b7fa6b00-ef43-11e9-894a-d717539db96c.png)

_A non-Endgame DNS event that conforms to ECS_

## File (FIM) Creation events

Endgame File (FIM) Creation events with the following event type and subtype will be rendered in the Timeline via row renderers:

```
endgame.event_type_full: file_event and endgame.event_subtype_full: file_create_event
```

### Runtime matching criteria

All file creation events, including Endgame and non-Endgame events matching the following criteria will be rendered:

```
(event.category: file and event.action: file_create_event) or (event.dataset: file and event.action: created)
```

### Sample rendered File (FIM) Creation event

![file-create-event](https://user-images.githubusercontent.com/4459398/66857794-3f94a980-ef45-11e9-9030-fff35403e8f4.png)

`Arun` \ `Anvi-Acer` @ `HD-obe-8bf77f54` created file `the-real-index~RFa99cd75.TMP` in `C:\Users\Arun\AppData\Local\Google\Chrome\User Data\Default\Service Worker\CacheStorage\579544fd7d0441717f082c9eb123588966aa57ac\d81a98b1-59b9-43b2-a228-b3daf7da56df\index-dir\the-real-index~RFa99cd75.TMP` via `chrome.exe` `(11620)`

### Fields in a File (FIM) Creation event

`user.name` \ `user.domain` @ `host.name` created file `file.name | endgame.file_name` in `file.path | endgame.file_path` via `process.name | endgame.process_name` `(process.pid | endgame.pid)`

## File (FIM) Deletion events

Endgame File (FIM) Deletion events with the following event type and subtype will be rendered in the Timeline via row renderers:

```
endgame.event_type_full: file_event and endgame.event_subtype_full: file_delete_event
```

### Runtime matching criteria

All file deletion events, including Endgame and non-Endgame events matching the following criteria will be rendered:

```
(event.category: file and event.action: file_delete_event) or (event.dataset: file and event.action: deleted)
```

### Sample rendered File (FIM) Deletion event

![file-delete-event](https://user-images.githubusercontent.com/4459398/66857970-9a2e0580-ef45-11e9-97bb-219c8673a2f2.png)

`SYSTEM` \ `NT AUTHORITY` @ `HD-v1s-d2118419` deleted file `tmp0000031a` in `C:\Windows\TEMP\tmp00000404\tmp0000031a` via `AmSvc.exe` `(1084)`

### Fields in a File (FIM) Deletion event

`user.name` \ `user.domain` @ `host.name` deleted file `file.name | endgame.file_name` in `file.path | endgame.file_path` via `process.name | endgame.process_name` `(process.pid | endgame.pid)`

## Network Connection Accepted events

Endgame Network Connection Accepted events with the following event type and subtype will be rendered in the Timeline via row renderers:

```
(endgame.event_type_full: network_event and endgame.event_subtype_full: ipv4_connection_accept_event) or (endgame.event_type_full: network_event and endgame.event_subtype_full: ipv6_connection_accept_event)
````

### Runtime matching criteria

All Endgame Connection Accepted events, and existing "socket opened" events matching the following criteria will be rendered:

```
event.action: ipv4_connection_accept_event or event.action: ipv6_connection_accept_event or event.action: socket_opened
```

### Sample rendered Network Connection Accepted event

![ipv4-connection-accept-event](https://user-images.githubusercontent.com/4459398/66858241-16c0e400-ef46-11e9-9fa8-f8b852490bd8.png)

`SYSTEM` \ `NT AUTHORITY` @ `HD-gqf-0af7b4fe` accepted a connection via `AmSvc.exe` `(1084)`

Network Connection Accepted events are also be rendered with the Netflow row renderer, like the `event.action: socket_opened` events are rendered today. The Network Connection Accepted row renderer displays information about the principal actors in the event (i.e. `user.name`, `host.name`, `process.name`), and the Netflow row renderer displays information about the directionality, source / destination, protocol, etc.

### Fields in a Network Connection Accepted event

`user.name` \ `user.domain` @ `host.name` accepted a connection via `process.name` `(process.pid)`

## Network Disconnect Received events

Endgame Network Disconnect Received events with the following event type and subtype will be rendered in the Timeline via row renderers:

```
(endgame.event_type_full: network_event and endgame.event_subtype_full: ipv4_disconnect_received_event) or (endgame.event_type_full: network_event and endgame.event_subtype_full: ipv6_disconnect_received_event)
````
### Runtime matching criteria

All Endgame Network Disconnect Received events, and existing "socket closed" events matching the following criteria will be rendered:

```
event.action: ipv4_disconnect_received_event or event.action: ipv6_disconnect_received_event or event.action: socket_closed
```

### Sample rendered Network Disconnect Received event

![ipv4-disconnect-received-event](https://user-images.githubusercontent.com/4459398/66859155-fa25ab80-ef47-11e9-995c-7628fc0885bf.png)

`SYSTEM` \ `NT AUTHORITY` @ `HD-gqf-0af7b4fe` disconnected via `AmSvc.exe` `(1084)`

The existing row renderer for `event.action: socket_closed` will be enhanced to display additional fields:
- `user.domain`
- `process.pid`

Network Disconnect Received events will also be rendered with the Netflow row renderer, like the `event.action: socket_closed` events are rendered today. The Network Connection Accepted row renderer displays information about the principal actors in the event (i.e. `user.name`, `host.name`, `process.name`), and the Netflow row renderer displays information about the directionality, source / destination, protocol, etc.

### Fields in a Network Disconnect Received event

`user.name` \ `user.domain` @ `host.name` disconnected via `process.name` `(process.pid)`

## Security (Authentication) User Logon events

Endgame Security (Authentication) User Logon events with the following event type and subtype will be rendered in the Timeline via row renderers:

```
endgame.event_type_full: security_event and endgame.event_subtype_full: user_logon
```

### Runtime matching criteria

Security (Authentication) User Logon events matching the following criteria will be rendered:

```
event.category: authentication and event.action: user_logon
```

### Sample rendered Security (Authentication) User Logon event

![user-logon](https://user-images.githubusercontent.com/4459398/66859339-525cad80-ef48-11e9-851c-c08c302df0fc.png)

`SYSTEM` \ `NT AUTHORITY` @ `HD-v1s-d2118419` successfully logged in using logon type `5 - Service` (target logon ID `0x3e7`) via `C:\Windows\System32\services.exe` (`432`) as requested by subject `WIN-Q3DOP1UKA81$` \ `WORKGROUP` (source logon ID `0x3e7`) [![windows-logo](https://user-images.githubusercontent.com/4459398/66249835-e3d15180-e6f6-11e9-89c3-5517c5ed1596.png) `4624`]

### Fields in an Security (Authentication) User Logon event

`user.name` \ `user.domain` @ `host.name` successfully logged in using logon type `endgame.logon_type` (target logon ID `endgame.target_logon_id`) via `process.name | process.executable` (`process.pid`) as requested by subject `endgame.subject_user_name` \ `endgame.subject_domain_name` (subject logon ID `endgame.subject_logon_id`) [![windows-logo](https://user-images.githubusercontent.com/4459398/66249835-e3d15180-e6f6-11e9-89c3-5517c5ed1596.png) `event.code | winlog.event_id`]

### Reference: LogonType Enumerations

The following enumerated values will humanize the numeric `endgame.logon_type` field:

```
2 - Interactive
3 - Network
4 - Batch
5 - Service
7 - Unlock
8 - Network Cleartext
9 - New Credentials
10 - Remote Interactive
11 - Cached Interactive
```

## Security (Authentication) Admin Logon events

Endgame Security (Authentication) Admin Logon events with the following event type and subtype will be rendered in the Timeline via row renderers:

```
endgame.event_type_full: security_event and endgame.event_subtype_full: admin_logon
```

### Runtime matching criteria

Security (Authentication) Admin Logon events matching the following criteria will be rendered:

```
event.category: authentication and event.action: admin_logon
```

### Sample rendered Security (Authentication) Admin Logon event

![admin-logon](https://user-images.githubusercontent.com/4459398/66860598-bc765200-ef4a-11e9-9e58-a96c2b97f4e1.png)

With special privileges, `SYSTEM` \ `NT AUTHORITY` @ `HD-v1s-d2118419` successfully logged in via `C:\Windows\System32\services.exe` (`964`) as requested by subject `SYSTEM` \ `NT AUTHORITY` (subject logon ID `0x3e7`) [![windows-logo](https://user-images.githubusercontent.com/4459398/66249835-e3d15180-e6f6-11e9-89c3-5517c5ed1596.png) `4672`]

### Fields in a Security (Authentication) Admin Logon event

With special privileges, `user.name` \ `user.domain` @ `host.name` successfully logged in via `process.name | process.executable` (`process.pid`) as requested by subject `endgame.subject_user_name` \ `endgame.subject_domain_name` (subject logon ID `endgame.subject_logon_id`) [![windows-logo](https://user-images.githubusercontent.com/4459398/66249835-e3d15180-e6f6-11e9-89c3-5517c5ed1596.png) `event.code | winlog.event_id`]

## Security (Authentication) Explicit User Logon events

Endgame Security (Authentication) Explicit User Logon events with the following event type and subtype will be rendered in the Timeline via row renderers:

```
endgame.event_type_full: security_event and endgame.event_subtype_full: explicit_user_logon
```

### Runtime matching criteria

Security (Authentication) Explicit User Logon events matching the following criteria will be rendered:

```
event.category: authentication and event.action: explicit_user_logon
```

### Sample rendered Security (Authentication) Explicit User Logon event

![explicit-user-logon](https://user-images.githubusercontent.com/4459398/66860797-170fae00-ef4b-11e9-88c5-befd3dcab070.png)

A login was attempted using explicit credentials `Arun` \ `Anvi-Acer` to `HD-v1s-d2118419` via `C:\Windows\System32\services.exe` (`1736`) as requested by subject `ANVI-ACER$` \ `WORKGROUP` (subject logon ID `0x3e7`) [![windows-logo](https://user-images.githubusercontent.com/4459398/66249835-e3d15180-e6f6-11e9-89c3-5517c5ed1596.png) `4648`]

### Fields in an Security (Authentication) Explicit User Logon event

A login was attempted using explicit credentials `endgame.target_user_name` \ `endgame.target_domain_name` to `host.name` via `process.name | process.executable` (`process.pid`) as requested by subject `endgame.subject_user_name` \ `endgame.subject_domain_name` (subject logon ID `endgame.subject_logon_id`) [![windows-logo](https://user-images.githubusercontent.com/4459398/66249835-e3d15180-e6f6-11e9-89c3-5517c5ed1596.png) `event.code | winlog.event_id`]

## Security (Authentication) User Logoff events

Endgame Security (Authentication) User Logoff events with the following event type and subtype will be rendered in the Timeline via row renderers:

```
endgame.event_type_full: security_event and endgame.event_subtype_full: user_logoff
```

### Runtime matching criteria

Security (Authentication) User Logoff events matching the following criteria will be rendered:

```
event.category: authentication and event.action: user_logoff
```

### Sample rendered Security (Authentication) User Logoff event

![user-logoff](https://user-images.githubusercontent.com/4459398/66861089-9a310400-ef4b-11e9-9f71-b148409c75a7.png)

`Arun` \ `Anvi-Acer` @ `HD-55b-3ec87f66` logged off using logon type `2 - Interactive` (target logon ID `0x16db41e`) via `C:\Windows\System32\services.exe` (`964`) [![windows-logo](https://user-images.githubusercontent.com/4459398/66249835-e3d15180-e6f6-11e9-89c3-5517c5ed1596.png) `4634` ]

### Fields in Security (Authentication) User Logoff event

`endgame.target_user_name` \ `endgame.target_domain_name` @ `host.name` logged off using logon type `endgame.logon_type` (target logon ID `endgame.target_logon_id`) via `process.name | process.executable` (`process.pid`) [![windows-logo](https://user-images.githubusercontent.com/4459398/66249835-e3d15180-e6f6-11e9-89c3-5517c5ed1596.png) `event.code | winlog.event_id`]

## Process Creation events

Endgame Process Creation events with the following event type and subtype will be rendered in the Timeline via row renderers:

```
endgame.event_type_full: process_event and endgame.event_subtype_full: creation_event
```

### Runtime matching criteria

Process Creation events matching the following criteria will be rendered:

```
event.category: process and event.action: creation_event
```

### Sample rendered Process Creation event

![creation-event](https://user-images.githubusercontent.com/4459398/66861295-fbf16e00-ef4b-11e9-9455-8a1f13463974.png)

`Arun` \ `Anvi-Acer` @ `HD-obe-8bf77f54` started process `Microsoft.Photos.exe` (`441684`) `-ServerName:App.AppXzst44mncqdg84v7sv6p7yznqwssy6f7f.mca` via parent process `svchost.exe` (`8`)

`sha256 d4c97ed46046893141652e2ec0056a698f6445109949d7fcabbce331146889ee`

`sha1 12563599116157778a22600d2a163d8112aed845`

`md5 62d06d7235b37895b68de56687895743`

### Fields in a Process Creation event

The following fields will be used to render a Process Creation event:

`user.name` \ `user.domain` @ `host.name` started process `process.name` (`process.pid`) `process.args` via parent process `endgame.parent_process_name` (`process.ppid`)

`process.hash.sha256`

`process.hash.sha1`

`process.hash.md5`

## Process Termination events

Endgame Process Termination events with the following event type and subtype will be rendered in the Timeline via row renderers:

```
endgame.event_type_full: process_event and endgame.event_subtype_full: termination_event
```

### Runtime matching criteria

Process Termination events matching the following criteria will be rendered:

```
event.category: process and event.action: termination_event
```

### Sample rendered Process Termination event

![termination-event](https://user-images.githubusercontent.com/4459398/66861495-57bbf700-ef4c-11e9-8e6e-923e9c6bab3e.png)

`Arun` \ `Anvi-Acer` @ `HD-obe-8bf77f54` terminated process `RuntimeBroker.exe` (`442384`) with exit code `0`

`sha256 87976f3430cc99bc939e0694247c0759961a49832b87218f4313d6fc0bc3a776`

`sha1 797255e72d5ed5c058d4785950eba7abaa057653`

`md5 bd4401441a21bf1abce6404f4231db4d`

### Fields in a Process Termination event

The following fields will be used to render a Process Termination event:

`user.name` \ `user.domain` @ `host.name` terminated process `process.name` (`process.pid`) with exit code `endgame.exit_code`

`process.hash.sha256`

`process.hash.sha1`

`process.hash.md5`

## Testing

Desk tested in:
* Dark / light mode
* Chrome `77.0.3865.90`
* Firefox `69.0.3`
* Safari `13.0.1`
* NOT tested in IE11 (due to current blocker)

https://github.com/elastic/ecs-dev/issues/178
2019-10-16 02:30:06 -06:00
.ci Revert "Add pipeline for flaky test runner job (#46740)" 2019-10-04 16:55:20 -04:00
.github Update Logs & Metrics UI team name (#47942) 2019-10-16 10:10:42 +02:00
bin Update node options Initialization on our scripts (#40302) 2019-08-15 16:09:22 +01:00
common/graphql [Uptime] Implement EuiSuperDatePicker (#28217) 2019-01-18 13:44:58 -05:00
config Support space-specific default routes (#44678) 2019-10-02 12:05:02 -04:00
data [folder structure] plugins/.data -> data 2016-07-05 14:06:16 -05:00
docs [Telemetry] Move to OSS (#45769) 2019-10-16 10:24:20 +03:00
licenses Migrate x-pack-kibana source to kibana 2018-04-24 13:48:10 -07:00
packages Convert ui/agg_types/buckets to TypeScript / Jest (#47730) 2019-10-15 21:18:34 +03:00
rfcs [RFC] Kibana Management Section Service (#43631) 2019-10-03 10:27:00 -05:00
scripts refactor failed_tests_reporter to use TS, no octokit (#46993) 2019-10-08 13:56:07 -07:00
src Remove unused console app file (#48001) 2019-10-16 10:23:58 +02:00
style_guides Style guide cleanup (#46464) 2019-09-25 11:19:16 +02:00
tasks Move KibanaMigrator into Server SavedObjectsService (#43433) 2019-10-01 09:11:33 +02:00
test [Telemetry] Move to OSS (#45769) 2019-10-16 10:24:20 +03:00
typings [Telemetry] Move to OSS (#45769) 2019-10-16 10:24:20 +03:00
utilities [mkdirp] remove in favor of recursive fs.mkdir (#47251) 2019-10-04 08:15:06 -07:00
webpackShims [Code] Add localization for Code 2019-07-30 18:16:26 +08:00
x-pack [SIEM] Endgame Row Renderers: DNS, File (FIM), Network, Security (Authentication), Process (#48277) 2019-10-16 02:30:06 -06:00
.backportrc.json [backport-config] Adds 7.4 branch (#44402) 2019-08-29 10:08:19 -07:00
.browserslistrc [autoprefixer] upgrade to 9.6.1, unify browserslist handling (#41038) 2019-07-15 09:33:33 -07:00
.editorconfig [editorconfig] disable insert_final_newline for package.json 2019-04-18 09:44:17 -07:00
.eslintignore [easy][chore] Exclude Canvas Shareable Runtime from eslint (#48187) 2019-10-15 16:09:10 -05:00
.eslintrc.js Expose package info to NP plugins (#48101) 2019-10-15 14:19:11 +02:00
.gitattributes [canvas] Color fixes + Storybook 5 (#34075) 2019-04-02 11:21:51 -05:00
.gitignore gitignore legacy optimize directory (#44314) 2019-08-28 15:01:24 -04:00
.i18nrc.json [Telemetry] Move to OSS (#45769) 2019-10-16 10:24:20 +03:00
.node-version Bump node to 10.15.2 (#32200) 2019-02-28 10:48:42 -06:00
.nvmrc Bump node to 10.15.2 (#32200) 2019-02-28 10:48:42 -06:00
.prettierrc Increase prettier line width to 100 (#20535) 2018-07-09 22:50:37 +02:00
.sass-lint.yml [feature][Canvas] Share Workpads in other Websites (#46278) 2019-10-11 12:15:41 -05:00
.yarnrc [kbn-pm] Use yarn workspaces for dependencies (#24095) 2018-11-12 12:38:11 -06:00
CONTRIBUTING.md Adding "setting up prettier" in CONTRIBUTING.md (#46310) 2019-10-14 11:02:06 -07:00
FAQ.md propose language changes (#10709) 2017-03-05 12:10:32 -05:00
github_checks_reporter.json implementing github checks - second attempt (#35757) 2019-05-01 16:02:33 -05:00
Gruntfile.js Apache 2.0 license headers (#19383) 2018-05-28 20:06:30 -07:00
Jenkinsfile refactor failed_tests_reporter to use TS, no octokit (#46993) 2019-10-08 13:56:07 -07:00
kibana.d.ts Move KibanaMigrator into Server SavedObjectsService (#43433) 2019-10-01 09:11:33 +02:00
LICENSE.txt Migrate x-pack-kibana source to kibana 2018-04-24 13:48:10 -07:00
NOTICE.txt [Maps] Load Maki icons from spritesheet (#42499) 2019-08-06 13:32:04 -07:00
package.json [Maps] bump ems-client to 1.0.5 to avoid IE11 crashes (#48292) 2019-10-15 17:57:54 -07:00
preinstall_check.js Apache 2.0 license headers (#19383) 2018-05-28 20:06:30 -07:00
README.md Update paths to ui, server, deprecation, plugin_discovery in src/legacy 2019-02-11 10:41:37 -05:00
renovate.json5 [feature][Canvas] Share Workpads in other Websites (#46278) 2019-10-11 12:15:41 -05:00
STYLEGUIDE.md Add TypeScript rules to STYLEGUIDE [skip ci] (#47125) 2019-10-03 10:15:31 +02:00
tsconfig.browser.json [typescript] continue to use the default config in development (#21966) 2018-08-14 15:27:07 -07:00
tsconfig.json Es ui shared updates (#46570) 2019-09-26 17:06:33 +02:00
tsconfig.types.json [Core] Move Saved objects files to core (#38771) 2019-06-18 13:10:23 +02:00
TYPESCRIPT.md Fix path references into and out of x-pack/legacy 2019-06-20 13:34:48 -04:00
yarn.lock [Maps] bump ems-client to 1.0.5 to avoid IE11 crashes (#48292) 2019-10-15 17:57:54 -07:00

Kibana

Kibana is your window into the Elastic Stack. Specifically, it's a browser-based analytics and search dashboard for Elasticsearch.

Getting Started

If you just want to try Kibana out, check out the Elastic Stack Getting Started Page to give it a whirl.

If you're interested in diving a bit deeper and getting a taste of Kibana's capabilities, head over to the Kibana Getting Started Page.

Using a Kibana Release

If you want to use a Kibana release in production, give it a test run, or just play around:

Building and Running Kibana, and/or Contributing Code

You might want to build Kibana locally to contribute some code, test out the latest features, or try out an open PR:

Documentation

Visit Elastic.co for the full Kibana documentation.

For information about building the documentation, see the README in elastic/docs.

Version Compatibility with Elasticsearch

Ideally, you should be running Elasticsearch and Kibana with matching version numbers. If your Elasticsearch has an older version number or a newer major number than Kibana, then Kibana will fail to run. If Elasticsearch has a newer minor or patch number than Kibana, then the Kibana Server will log a warning.

Note: The version numbers below are only examples, meant to illustrate the relationships between different types of version numbers.

Situation Example Kibana version Example ES version Outcome
Versions are the same. 5.1.2 5.1.2 💚 OK
ES patch number is newer. 5.1.2 5.1.5 ⚠️ Logged warning
ES minor number is newer. 5.1.2 5.5.0 ⚠️ Logged warning
ES major number is newer. 5.1.2 6.0.0 🚫 Fatal error
ES patch number is older. 5.1.2 5.1.0 ⚠️ Logged warning
ES minor number is older. 5.1.2 5.0.0 🚫 Fatal error
ES major number is older. 5.1.2 4.0.0 🚫 Fatal error

Questions? Problems? Suggestions?

  • If you've found a bug or want to request a feature, please create a GitHub Issue. Please check to make sure someone else hasn't already created an issue for the same topic.
  • Need help using Kibana? Ask away on our Kibana Discuss Forum and a fellow community member or Elastic engineer will be glad to help you out.