Skip to content
This repository has been archived by the owner on Mar 31, 2024. It is now read-only.

Commit

Permalink
Merge branch 'master' into issues/1362
Browse files Browse the repository at this point in the history
  • Loading branch information
lukasolson committed Dec 3, 2015
2 parents bbcdb5d + 9797b36 commit 566af1a
Show file tree
Hide file tree
Showing 74 changed files with 1,077 additions and 290 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@ config/kibana.dev.yml
coverage
selenium
.babelcache.json
*.swp
*.swo
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Kibana 4.3.0-snapshot
# Kibana 5.0.0-snapshot

[![Build Status](https://travis-ci.org/elastic/kibana.svg?branch=master)](https://travis-ci.org/elastic/kibana?branch=master)

Kibana is an open source ([Apache Licensed](https://github.com/elastic/kibana/blob/master/LICENSE.md)), browser based analytics and search dashboard for Elasticsearch. Kibana is a snap to setup and start using. Kibana strives to be easy to get started with, while also being flexible and powerful, just like Elasticsearch.

## Requirements

- Elasticsearch version 2.0.0 or later
- Elasticsearch version 2.1.0 or later
- Kibana binary package

## Installation
Expand All @@ -21,8 +21,6 @@ You're up and running! Fantastic! Kibana is now running on port 5601, so point y

The first screen you arrive at will ask you to configure an **index pattern**. An index pattern describes to Kibana how to access your data. We make the guess that you're working with log data, and we hope (because it's awesome) that you're working with Logstash. By default, we fill in `logstash-*` as your index pattern, thus the only thing you need to do is select which field contains the timestamp you'd like to use. Kibana reads your Elasticsearch mapping to find your time fields - select one from the list and hit *Create*.

**Tip:** there's an optimization in the way of the *Use event times to create index names* option. Since Logstash creates an index every day, Kibana uses that fact to only search indices that could possibly contain data in your selected time range.

Congratulations, you have an index pattern! You should now be looking at a paginated list of the fields in your index or indices, as well as some informative data about them. Kibana has automatically set this new index pattern as your default index pattern. If you'd like to know more about index patterns, pop into to the [Settings](#settings) section of the documentation.

**Did you know:** Both *indices* and *indexes* are acceptable plural forms of the word *index*. Knowledge is power.
Expand All @@ -39,7 +37,7 @@ For the daring, snapshot builds are available. These builds are created after ea

| platform | | |
| --- | --- | --- |
| OSX | [tar](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.3.0-snapshot-darwin-x64.tar.gz) | [zip](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.3.0-snapshot-darwin-x64.zip) |
| Linux x64 | [tar](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.3.0-snapshot-linux-x64.tar.gz) | [zip](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.3.0-snapshot-linux-x64.zip) |
| Linux x86 | [tar](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.3.0-snapshot-linux-x86.tar.gz) | [zip](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.3.0-snapshot-linux-x86.zip) |
| Windows | [tar](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.3.0-snapshot-windows.tar.gz) | [zip](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.3.0-snapshot-windows.zip) |
| OSX | [tar](http://download.elastic.co/kibana/kibana-snapshot/kibana-5.0.0-snapshot-darwin-x64.tar.gz) | [zip](http://download.elastic.co/kibana/kibana-snapshot/kibana-5.0.0-snapshot-darwin-x64.zip) |
| Linux x64 | [tar](http://download.elastic.co/kibana/kibana-snapshot/kibana-5.0.0-snapshot-linux-x64.tar.gz) | [zip](http://download.elastic.co/kibana/kibana-snapshot/kibana-5.0.0-snapshot-linux-x64.zip) |
| Linux x86 | [tar](http://download.elastic.co/kibana/kibana-snapshot/kibana-5.0.0-snapshot-linux-x86.tar.gz) | [zip](http://download.elastic.co/kibana/kibana-snapshot/kibana-5.0.0-snapshot-linux-x86.zip) |
| Windows | [tar](http://download.elastic.co/kibana/kibana-snapshot/kibana-5.0.0-snapshot-windows.tar.gz) | [zip](http://download.elastic.co/kibana/kibana-snapshot/kibana-5.0.0-snapshot-windows.zip) |
75 changes: 51 additions & 24 deletions STYLEGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -773,41 +773,36 @@ When creating a utility function, attach it as a lodash mixin.

Several already exist, and can be found in `src/kibana/utils/_mixins.js`

## Modules

Kibana uses AMD modules to organize code, and require.js to load those modules.

Even Angular code is loaded this way.

### Module paths
## Filenames

Paths to modules should not be relative (ie. no dot notation). Instead, they should be loaded from one of the defined paths in the require config.
All filenames should use `snake_case` and *can* start with an underscore if the module is not intended to be used outside of it's containing module.

*Right:*

```js
require('some/base/path/my_module');
require('another/path/another_module');
```
- `src/kibana/index_patterns/index_pattern.js`
- `src/kibana/index_patterns/_field.js`

*Wrong:*
- `src/kibana/IndexPatterns/IndexPattern.js`
- `src/kibana/IndexPatterns/Field.js`

```js
require('../my_module');
require('./path/another_module');
```
## Modules

Kibana uses WebPack, which supports many types of module definitions.

### CommonJS Syntax

Module dependencies should be loaded via the CommonJS syntax:
Module dependencies should be written using CommonJS or ES2015 syntax:

*Right:*

```js
define(function (require) {
var _ = require('lodash');
...
});
const _ = require('lodash');
module.exports = ...;
```

```js
import _ from 'lodash';
export default ...;
```

*Wrong:*
Expand All @@ -824,7 +819,7 @@ Kibana is written in Angular, and uses several utility methods to make using Ang

### Defining modules

Angular modules are defined using a custom require module named `module`. It is used as follows:
Angular modules are defined using a custom require module named `ui/modules`. It is used as follows:

```js
var app = require('ui/modules').get('app/namespace');
Expand Down Expand Up @@ -872,7 +867,7 @@ require('ui/routes')

# Html Style Guide

### Multiple attribute values
## Multiple attribute values

When a node has multiple attributes that would cause it to exceed the line character limit, each attribute including the first should be on its own line with a single indent. Also, when a node that is styled in this way has child nodes, there should be a blank line between the openening parent tag and the first child tag.

Expand All @@ -888,6 +883,38 @@ When a node has multiple attributes that would cause it to exceed the line chara
</ul>
```

# Api Style Guide

## Paths

API routes must start with the `/api/` path segment, and should be followed by the plugin id if applicable:

*Right:* `/api/marvel/v1/nodes`
*Wrong:* `/marvel/api/v1/nodes`

## Versions

Kibana won't be supporting multiple API versions, so API's should not define a version.

*Right:* `/api/kibana/index_patterns`
*Wrong:* `/api/kibana/v1/index_patterns`

## snake_case

Kibana uses `snake_case` for the entire API, just like Elasticsearch. All urls, paths, query string parameters, values, and bodies should be `snake_case` formatted.

*Right:*
```
POST /api/kibana/index_patterns
{
"id": "...",
"time_field_name": "...",
"fields": [
...
]
}
```

# Attribution

This JavaScript guide forked from the [node style guide](https://github.com/felixge/node-style-guide) created by [Felix Geisendörfer](http://felixge.de/) and is
Expand Down
37 changes: 37 additions & 0 deletions docs/advanced-settings.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[[kibana-settings-reference]]

WARNING: Modifying the following settings can signficantly affect Kibana's performance and cause problems that are difficult to diagnose. Setting a property's value to a blank field will revert to the default behavior, which may not be compatible with other configuration settings. Deleting a custom setting removes it from Kibana permanently.

.Kibana Settings Reference
[horizontal]
`query:queryString:options`:: Options for the Lucene query string parser.
`sort:options`:: Options for the Elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html[sort] parameter.
`dateFormat`:: The format to use for displaying pretty-formatted dates.
`dateFormat:tz`:: The timezone that Kibana uses. The default value of `Browser` uses the timezone detected by the browser.
`dateFormat:scaled`:: These values define the format used to render ordered time-based data. Formatted timestamps must adapt to the interval between measurements. Keys are http://en.wikipedia.org/wiki/ISO_8601#Time_intervals[ISO8601 intervals].
`defaultIndex`:: Default is `null`. This property specifies the default index.
`metaFields`:: An array of fields outside of `_source`. Kibana merges these fields into the document when displaying the document.
`discover:sampleSize`:: The number of rows to show in the Discover table.
`doc_table:highlight`:: Highlight results in Discover and Saved Searches Dashboard. Highlighing makes request slow when working on big documents. Set this property to `false` to disable highlighting.
`courier:maxSegmentCount`:: Kibana splits requests in the Discover app into segments to limit the size of requests sent to the Elasticsearch cluster. This setting constrains the length of the segment list. Long segment lists can significantly increase request processing time.
`fields:popularLimit`:: This setting governs how many of the top most popular fields are shown.
`histogram:barTarget`:: When date histograms use the `auto` interval, Kibana attempts to generate this number of bars.
`histogram:maxBars`:: Date histograms are not generated with more bars than the value of this property, scaling values when necessary.
`visualization:tileMap:maxPrecision`:: The maximum geoHash precision displayed on tile maps: 7 is high, 10 is very high, 12 is the maximum. http://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-geohashgrid-aggregation.html#_cell_dimensions_at_the_equator[Explanation of cell dimensions].
`visualization:tileMap:WMSdefaults`:: Default properties for the WMS map server support in the tile map.
`visualization:colorMapping`:: Maps values to specified colors within visualizations.
`visualization:loadingDelay`:: Time to wait before dimming visualizations during query.
`csv:separator`:: A string that serves as the separator for exported values.
`csv:quoteValues`:: Set this property to `true` to quote exported values.
`history:limit`:: In fields that have history, such as query inputs, the value of this property limits how many recent values are shown.
`shortDots:enable`:: Set this property to `true` to shorten long field names in visualizations. For example, instead of `foo.bar.baz`, show `f.b.baz`.
`truncate:maxHeight`:: This property specifies the maximum height that a cell occupies in a table. A value of 0 disables truncation.
`indexPattern:fieldMapping:lookBack`:: The value of this property sets the number of recent matching patterns to query the field mapping for index patterns with names that contain timestamps.
`format:defaultTypeMap`:: A map of the default format name for each field type. Field types that are not explicitly mentioned use "_default_".
`format:number:defaultPattern`:: Default numeral format for the "number" format.
`format:bytes:defaultPattern`:: Default numeral format for the "bytes" format.
`format:percent:defaultPattern`:: Default numeral format for the "percent" format.
`format:currency:defaultPattern`:: Default numeral format for the "currency" format.
`timepicker:timeDefaults`:: The default time filter selection.
`timepicker:refreshIntervalDefaults`:: The time filter's default refresh interval.
`dashboard:defaultDarkTheme`:: Set this property to `true` to make new dashboards use the dark theme by default.
6 changes: 6 additions & 0 deletions docs/area.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,9 @@ values.
this box to change both upper and lower bounds to match the values returned in the data.
*Show Tooltip*:: Check this box to enable the display of tooltips.
*Show Legend*:: Check this box to enable the display of a legend next to the chart.

[float]
[[area-viewing-detailed-information]]
==== Viewing Detailed Information

include::visualization-raw-data.asciidoc[]
5 changes: 2 additions & 3 deletions docs/autorefresh.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,14 @@ When a refresh interval is set, it is displayed to the left of the Time Filter i

To set the refresh interval:

. Click the *Time Filter* image:images/TimeFilter.jpg[Time
Filter] in the upper right corner of the menu bar.
. Click the *Time Filter* image:images/TimeFilter.jpg[Time Filter] in the upper right corner of the menu bar.
. Click the *Refresh Interval* tab.
. Choose a refresh interval from the list.

To automatically refresh the data, click the image:images/autorefresh.png[] *Auto-refresh* button and select an
autorefresh interval:

image::images/autorefresh-intervals.png
image::images/autorefresh-intervals.png[]

When auto-refresh is enabled, Kibana's top bar displays a pause button and the auto-refresh interval:
image:images/autorefresh-pause.png[]. Click the *Pause* button to pause auto-refresh.
7 changes: 7 additions & 0 deletions docs/color-formatter.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
The `Color` field formatter enables you to specify colors with specific ranges of values for a numeric field.

When you select the `Color` field formatter, Kibana displays the *Range*, *Font Color*, *Background Color*, and *Example* fields.

Click the *Add Color* button to add a range of values to associate with a particular color. You can click in the *Font Color* and *Background Color* fields to display a color picker. You can also enter a specific hex code value in the field. The effect of your current color choices are displayed in the *Example* field.

image::images/colorformatter.png[]
6 changes: 4 additions & 2 deletions docs/dashboard.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,6 @@ Move the cursor to the bottom right corner of the container until the cursor cha
cursor changes, click and drag the corner of the container to change the container's size. Release the mouse button to
confirm the new container size.

// enhancement request: a way to specify specific dimensions for a container in pixels, or at least display that info?

[float]
[[removing-containers]]
==== Removing Containers
Expand Down Expand Up @@ -137,6 +135,10 @@ grid includes the query duration, the request duration, the total number of reco
index pattern used to make the query.
image:images/NYCTA-Statistics.jpg[]

To export the raw data behind the visualization as a comma-separated-values (CSV) file, click on either the
*Raw* or *Formatted* links at the bottom of any of the detailed information tabs. A raw export contains the data as it
is stored in Elasticsearch. A formatted export contains the results of any applicable Kibana [field formatters].

[float]
[[changing-the-visualization]]
=== Changing the Visualization
Expand Down
6 changes: 6 additions & 0 deletions docs/datatable.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,9 @@ Checkboxes are available to enable and disable the following behaviors:
*Show partial rows*:: Check this box to display a row even when there is no result.

NOTE: Enabling these behaviors may have a substantial effect on performance.

[float]
[[datatable-viewing-detailed-information]]
=== Viewing Detailed Information

include::visualization-raw-data.asciidoc[]
72 changes: 72 additions & 0 deletions docs/filter-pinning.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,78 @@ Toggle Filter image:images/filter-toggle.png[]:: Click this icon to _toggle_ a f
filters, and display in green. Only elements that match the filter are displayed. To change this to an exclusion
filters, displaying only elements that _don't_ match, toggle the filter. Exclusion filters display in red.
Remove Filter image:images/filter-delete.png[]:: Click this icon to remove a filter entirely.
Custom Filter image:images/filter-custom.png[]:: Click this icon to display a text field where you can customize the JSON
representation of the filter and specify an alias to use for the filter name:
+
image::images/filter-custom-json.png[]
+
You can use JSON filter representation to implement predicate logic, with `should` for OR, `must` for AND, and `must_not`
for NOT:
+
.OR Example
==========
[source,json]
{
"bool": {
"should": [
{
"term": {
"geoip.country_name.raw": "Canada"
}
},
{
"term": {
"geoip.country_name.raw": "China"
}
}
]
}
}
==========
+
.AND Example
==========
[source,json]
{
"bool": {
"must": [
{
"term": {
"geoip.country_name.raw": "United States"
}
},
{
"term": {
"geoip.city_name.raw": "New York"
}
}
]
}
}
==========
+
.NOT Example
==========
[source,json]
{
"bool": {
"must_not": [
{
"term": {
"geoip.country_name.raw": "United States"
}
},
{
"term": {
"geoip.country_name.raw": "Canada"
}
}
]
}
}
==========
Click the *Done* button to update the filter with your changes.

To apply any of the filter actions to all the filters currently in place, click the image:images/filter-actions.png[]
*Global Filter Actions* button and select an action.
Loading

0 comments on commit 566af1a

Please sign in to comment.