Skeleton API docs

This commit is contained in:
Rashid Khan
2013-12-02 12:43:39 -07:00
parent e95503fef3
commit aec9a42ee1
31 changed files with 1253 additions and 274 deletions

View File

@@ -1,13 +1,10 @@
= Kibana =
== Configuration ==
config.js is where you will find the core Kibana configuration. This file contains parameter that
must be set before kibana is run for the first time.
// src/config.js:1
=== Parameters ===
// src/config.js:13
// src/config.js:10
==== elasticsearch ====
@@ -16,17 +13,17 @@ want +http://localhost:9200+ here. Even if Kibana and Elasticsearch are on
the same host. By default this will attempt to reach ES at the same host you have
elasticsearch installed on. You probably want to set it to the FQDN of your
elasticsearch host
// src/config.js:18
// src/config.js:15
==== kibana-int ====
The default ES index to use for storing Kibana specific object
such as stored dashboards
// src/config.js:29
// src/config.js:26
==== panel_name ====
An array of panel modules available. Panels will only be loaded when they are defined in the
dashboard, but this list is used in the "add panel" interface.
// src/config.js:37
// src/config.js:34

View File

@@ -0,0 +1,18 @@
= Kibana
// Why can't I have a preamble here?
== Introduction
Kibana is an open source (Apache Licensed), browser based analytics and search dashboard for
ElasticSearch. Kibana is a snap to setup and start using. Written entirely in HTML and Javascript
it requires only a plain webserver, Kibana requires no fancy server side components.
Kibana strives to be easy to get started with, while also being flexible and powerful, just like
Elasticsearch.
include::configuration/config.js.asciidoc[]
include::panels.asciidoc[]
// src/app/controllers/dash.js:1

View File

@@ -0,0 +1,64 @@
[[panels]]
= Panels
[partintro]
--
*Kibana* dashboards are made up of blocks called +panels+. Panels are organized into rows
and can serve many purposes, though most are designed to provide the results of a query or
multiple queries as a visualization. Other panels may show collections of documents or
allow you to insert instructions for your users.
Panels can be configured easily via the Kibana web interface. For more advanced usage, such
as templated or scripted dashboards, documentation of panel properties is available in this
section. You may find settings here which are not exposed via the web interface.
Each panel type has its own properties, hover there are several that are shared.
// src/app/controllers/row.js:61
span:: A number, 1-12, that describes the width of the panel.
// src/app/controllers/row.js:87
editable:: Enable or disable the edit button the the panel
// src/app/controllers/row.js:91
type:: The type of panel this object contains. Each panel type will require additional
properties. See the panel types list to the right.
// src/app/controllers/row.js:95
--
// src/app/controllers/row.js:103
include::panels/bettermap.asciidoc[]
// src/app/panels/bettermap/module.js:1
include::panels/column.asciidoc[]
// src/app/panels/column/module.js:1
include::panels/histogram.asciidoc[]
// src/app/panels/histogram/module.js:1
include::panels/hits.asciidoc[]
// src/app/panels/hits/module.js:1
include::panels/map.asciidoc[]
// src/app/panels/map/module.js:1
include::panels/pie.asciidoc[]
// src/app/panels/pie/module.js:1
include::panels/sparklines.asciidoc[]
// src/app/panels/sparklines/module.js:1
include::panels/table.asciidoc[]
// src/app/panels/table/module.js:1
include::panels/terms.asciidoc[]
// src/app/panels/terms/module.js:1
include::panels/text.asciidoc[]
// src/app/panels/text/module.js:1
include::panels/trends.asciidoc[]
// src/app/panels/trends/module.js:1

View File

@@ -0,0 +1,36 @@
== Bettermap
Status: *Experimental*
Bettermap is called bettermap for lack of a better name. Bettermap uses geographic coordinates to
create clusters of markers on map and shade them orange, yellow and green depending on the
density of the cluster.
To drill down, click on a cluster. The map will be zoomed and the cluster broken into smaller cluster.
When it no longer makes visual sense to cluster, individual markers will be displayed. Hover over
a marker to see the tooltip value/
IMPORTANT: bettermap requires an internet connection to download its map panels.
// src/app/panels/bettermap/module.js:5
=== Parameters
field:: The field that contains the coordinates, in geojson format. GeoJSON is
+[longitude,latitude]+ in an array. This is different from most implementations, which use
latitude, longitude.
// src/app/panels/bettermap/module.js:62
size:: The number of documents to use when drawing the map
// src/app/panels/bettermap/module.js:70
spyable:: Should the `inspect` icon be shown?
// src/app/panels/bettermap/module.js:74
tooltip:: Which field to use for the tooltip when hovering over a marker
// src/app/panels/bettermap/module.js:78
==== Queries
queries object:: This object describes the queries to use on this panel.
queries.mode::: Of the queries available, which to use. Options: +all, pinned, unpinned, selected+
queries.ids::: In +selected+ mode, which query ids are selected.
// src/app/panels/bettermap/module.js:82

View File

@@ -0,0 +1,14 @@
== Column
Status: *Stable*
A pseudo panel that lets you add other panels to be arranged in a column with defined heights.
While the column panel is stable, it does have many limitations, including the inability to drag
and drop panels within its borders. It may be removed in a future release.
// src/app/panels/column/module.js:5
=== Parameters
panel:: An array of panel objects
// src/app/panels/column/module.js:36

View File

@@ -0,0 +1,129 @@
== Histogram
Status: *Stable*
The histogram panel allow for the display of time charts. It includes several modes and tranformations
to display event counts, mean, min, max and total of numeric fields, and derivatives of counter
fields.
// src/app/panels/histogram/module.js:5
=== Parameters
==== Axis options
mode:: Value to use for the y-axis. For all modes other than count, +value_field+ must be
defined. Possible values: count, mean, max, min, total.
// src/app/panels/histogram/module.js:65
time_field:: x-axis field. This must be defined as a date type in Elasticsearch.
// src/app/panels/histogram/module.js:72
value_field:: y-axis field if +mode+ is set to mean, max, min or total. Must be numeric.
// src/app/panels/histogram/module.js:76
x-axis:: Show the x-axis
// src/app/panels/histogram/module.js:80
y-axis:: Show the y-axis
// src/app/panels/histogram/module.js:84
scale:: Scale the y-axis by this factor
// src/app/panels/histogram/module.js:88
y_as_bytes:: Show the y-axis scale as bytes, automatically round to KB, MB, GB, etc.
// src/app/panels/histogram/module.js:92
==== Annotations
annotate object:: A query can be specified, the results of which will be displayed as markers on
the chart. For example, for noting code deploys.
annotate.enable::: Should annotations, aka markers, be shown?
annotate.query::: Lucene query_string syntax query to use for markers.
annotate.size::: Max number of markers to show
annotate.field::: Field from documents to show
annotate.sort::: Sort array in format [field,order], For example [`@timestamp',`desc']
// src/app/panels/histogram/module.js:115
==== Interval options
auto_int:: Automatically scale intervals?
// src/app/panels/histogram/module.js:132
resolution:: If auto_int is true, shoot for this many bars.
// src/app/panels/histogram/module.js:137
interval:: If auto_int is set to false, use this as the interval.
// src/app/panels/histogram/module.js:141
interval:: Array of possible intervals in the *View* selector. Example [`auto',`1s',`5m',`3h']
// src/app/panels/histogram/module.js:145
==== Drawing options
lines:: Show line chart
// src/app/panels/histogram/module.js:149
fill:: Area fill factor for line charts, 1-10
// src/app/panels/histogram/module.js:154
linewidth:: Weight of lines in pixels
// src/app/panels/histogram/module.js:158
points:: Show points on chart
// src/app/panels/histogram/module.js:162
pointradius:: Size of points in pixels
// src/app/panels/histogram/module.js:166
bars:: Show bars on chart
// src/app/panels/histogram/module.js:170
stack:: Stack multiple series
// src/app/panels/histogram/module.js:174
spyable:: Show inspect icon
// src/app/panels/histogram/module.js:178
zoomlinks:: Show `Zoom Out' link
// src/app/panels/histogram/module.js:182
options:: Show quick view options section
// src/app/panels/histogram/module.js:186
legend:: Display the legond
// src/app/panels/histogram/module.js:190
show_query:: If no alias is set, should the query be displayed?
// src/app/panels/histogram/module.js:194
interactive:: Enable click-and-drag to zoom functionality
// src/app/panels/histogram/module.js:198
legend_counts:: Show counts in legend
// src/app/panels/histogram/module.js:202
==== Transformations
timezone:: Correct for browser timezone?. Valid values: browser, utc
// src/app/panels/histogram/module.js:206
percentage:: Show the y-axis as a percentage of the axis total. Only makes sense for multiple
queries
// src/app/panels/histogram/module.js:211
zerofill:: Improves the accuracy of line charts at a small performance cost.
// src/app/panels/histogram/module.js:216
derivative:: Show each point on the x-axis as the change from the previous point
// src/app/panels/histogram/module.js:220
tooltip object::
tooltip.value_type::: Individual or cumulative controls how tooltips are display on stacked charts
tooltip.query_as_alias::: If no alias is set, should the query be displayed?
// src/app/panels/histogram/module.js:224
grid object:: Min and max y-axis values
grid.min::: Minimum y-axis value
grid.max::: Maximum y-axis value
// src/app/panels/histogram/module.js:96
==== Queries
queries object:: This object describes the queries to use on this panel.
queries.mode::: Of the queries available, which to use. Options: +all, pinned, unpinned, selected+
queries.ids::: In +selected+ mode, which query ids are selected.
// src/app/panels/histogram/module.js:105

View File

@@ -0,0 +1,37 @@
== Hits
Status: *Stable*
The hits panel displays the number of hits for each of the queries on the dashboard in a
configurable format specified by the `chart' property.
// src/app/panels/hits/module.js:5
=== Parameters
arrangement:: The arrangement of the legend. horizontal or vertical
// src/app/panels/hits/module.js:49
chart:: bar, pie or none
// src/app/panels/hits/module.js:55
counter_pos:: The position of the legend, above or below
// src/app/panels/hits/module.js:59
donut:: If the chart is set to pie, setting donut to true will draw a hole in the midle of it
// src/app/panels/hits/module.js:63
tilt:: If the chart is set to pie, setting tilt to true will tilt it back into an oval
// src/app/panels/hits/module.js:67
labels:: If the chart is set to pie, setting labels to true will draw labels in the slices
// src/app/panels/hits/module.js:71
spyable:: Setting spyable to false disables the inspect icon.
// src/app/panels/hits/module.js:75
==== Queries
queries object:: This object describes the queries to use on this panel.
queries.mode::: Of the queries available, which to use. Options: +all, pinned, unpinned, selected+
queries.ids::: In +selected+ mode, which query ids are selected.
// src/app/panels/hits/module.js:79

View File

@@ -0,0 +1,32 @@
== Map
Status: *Stable*
The map panel translates 2 letter country or state codes into shaded regions on a map. Currently
available maps are world, usa and europe.
// src/app/panels/map/module.js:5
=== Parameters
map:: Map to display. world, usa, europe
// src/app/panels/map/module.js:48
colors:: An array of colors to use to shade the map. If 2 colors are specified, shades
between them will be used. For example [`#A0E2E2', `#265656']
// src/app/panels/map/module.js:54
size:: Max number of regions to shade
// src/app/panels/map/module.js:59
exclude:: exclude this array of regions. For example [`US',`BR',`IN']
// src/app/panels/map/module.js:63
spyable:: Setting spyable to false disables the inspect icon.
// src/app/panels/map/module.js:67
==== Queries
queries object:: This object describes the queries to use on this panel.
queries.mode::: Of the queries available, which to use. Options: +all, pinned, unpinned, selected+
queries.ids::: In +selected+ mode, which query ids are selected.
// src/app/panels/map/module.js:71

View File

@@ -0,0 +1,50 @@
== Pie
Status: *Deprecated*
The pie panel has been largely replaced by the +terms+ panel. It exists for backwards compatibility
for now, but will be removed in a future release
// src/app/panels/pie/module.js:5
=== Parameters
mode:: terms or goal. Terms mode finds the top N most popular terms, Goal mode display
progress towards a fix goal in terms of documents matched
// src/app/panels/pie/module.js:48
size:: The max number of results to display in +terms+ mode.
// src/app/panels/pie/module.js:55
exclude:: Exclude these terms in terms mode
// src/app/panels/pie/module.js:59
donut:: Draw a hole in the middle of the pie, creating a tasty donut.
// src/app/panels/pie/module.js:63
tilt:: Tilt the pie back into an oval shape
// src/app/panels/pie/module.js:67
legend:: The location of the legend, above, below or none
// src/app/panels/pie/module.js:71
labels:: Set to false to disable drawing labels inside the pie slices
// src/app/panels/pie/module.js:75
spyable:: Set to false to disable the inspect function.
// src/app/panels/pie/module.js:79
==== Query
query object:: This confusingly named object has properties to set the terms mode field,
and the fixed goal for the goal mode
query.field::: the field to facet on in terms mode
query.goal::: the fixed goal for goal mode
// src/app/panels/pie/module.js:83
==== Queries
queries object:: This object describes the queries to use on this panel.
queries.mode::: Of the queries available, which to use. Options: +all, pinned, unpinned, selected+
queries.ids::: In +selected+ mode, which query ids are selected.
// src/app/panels/pie/module.js:92

View File

@@ -0,0 +1,32 @@
== Sparklines
Status: *Experimental*
The sparklines panel shows tiny time charts. The purpose of these is not to give an exact value,
but rather to show the shape of the time series in a compact manner
// src/app/panels/sparklines/module.js:5
=== Parameters
mode:: Value to use for the y-axis. For all modes other than count, +value_field+ must be
defined. Possible values: count, mean, max, min, total.
// src/app/panels/sparklines/module.js:56
time_field:: x-axis field. This must be defined as a date type in Elasticsearch.
// src/app/panels/sparklines/module.js:62
value_field:: y-axis field if +mode+ is set to mean, max, min or total. Must be numeric.
// src/app/panels/sparklines/module.js:66
interval:: Sparkline intervals are computed automatically as long as there is a time filter
present. In the absence of a time filter, use this interval.
// src/app/panels/sparklines/module.js:70
spyable:: Show inspect icon
// src/app/panels/sparklines/module.js:75
==== Queries
queries object:: This object describes the queries to use on this panel.
queries.mode::: Of the queries available, which to use. Options: +all, pinned, unpinned, selected+
queries.ids::: In +selected+ mode, which query ids are selected.
// src/app/panels/sparklines/module.js:79

View File

@@ -0,0 +1,63 @@
== table
Status: *Stable*
The table panel contains a sortable, pagable view of documents that. It can be arranged into
defined columns and offers several interactions, such as performing adhoc terms aggregations.
// src/app/panels/table/module.js:5
=== Parameters
size:: The number of hits to show per page
// src/app/panels/table/module.js:53
pages:: The number of pages available
// src/app/panels/table/module.js:59
offset:: The current page
// src/app/panels/table/module.js:63
sort:: An array describing the sort order of the table. For example [`@timestamp',`desc']
// src/app/panels/table/module.js:67
overflow:: The css overflow property. `min-height' (expand) or `auto' (scroll)
// src/app/panels/table/module.js:71
fields:: the fields used a columns of the table, in an array.
// src/app/panels/table/module.js:75
highlight:: The fields on which to highlight, in an array
// src/app/panels/table/module.js:79
sortable:: Set sortable to false to disable sorting
// src/app/panels/table/module.js:83
header:: Set to false to hide the table column names
// src/app/panels/table/module.js:87
paging:: Set to false to hide the paging controls of the table
// src/app/panels/table/module.js:91
field_list:: Set to false to hide the list of fields. The user will be able to expand it,
but it will be hidden by default
// src/app/panels/table/module.js:95
all_fields:: Set to true to show all fields in the mapping, not just the current fields in
the table.
// src/app/panels/table/module.js:100
trimFactor:: The trim factor is the length at which to truncate fields takinging into
consideration the number of columns in the table. For example, a trimFactor of 100, with 5
columns in the table, would trim each column at 20 character. The entirety of the field is
still available in the expanded view of the event.
// src/app/panels/table/module.js:105
spyable:: Set to false to disable the inspect icon
// src/app/panels/table/module.js:112
==== Queries
queries object:: This object describes the queries to use on this panel.
queries.mode::: Of the queries available, which to use. Options: +all, pinned, unpinned, selected+
queries.ids::: In +selected+ mode, which query ids are selected.
// src/app/panels/table/module.js:116

View File

@@ -0,0 +1,56 @@
== terms
Status: *Stable*
A table, bar chart or pie chart based on the results of an Elasticsearch terms facet.
// src/app/panels/terms/module.js:5
=== Parameters
field:: The field on which to computer the facet
// src/app/panels/terms/module.js:45
exclude:: terms to exclude from the results
// src/app/panels/terms/module.js:51
missing:: Set to false to disable the display of a counter showing how much results are
missing the field
// src/app/panels/terms/module.js:55
other:: Set to false to disable the display of a counter representing the aggregate of all
values outside of the scope of your +size+ property
// src/app/panels/terms/module.js:60
size:: Show this many terms
// src/app/panels/terms/module.js:65
order:: count, term, reverse_count or reverse_term
// src/app/panels/terms/module.js:69
donut:: In pie chart mode, draw a hole in the middle of the pie to make a tasty donut.
// src/app/panels/terms/module.js:74
tilt:: In pie chart mode, tilt the chart back to appear as more of an oval shape
// src/app/panels/terms/module.js:78
lables:: In pie chart mode, draw labels in the pie slices
// src/app/panels/terms/module.js:82
arrangement:: In bar or pie mode, arrangement of the legend. horizontal or vertical
// src/app/panels/terms/module.js:86
chart:: table, bar or pie
// src/app/panels/terms/module.js:90
counter_pos:: The location of the legend in respect to the chart, above or below.
// src/app/panels/terms/module.js:94
spyable:: Set spyable to false to disable the inspect button
// src/app/panels/terms/module.js:98
==== Queries
queries object:: This object describes the queries to use on this panel.
queries.mode::: Of the queries available, which to use. Options: +all, pinned, unpinned, selected+
queries.ids::: In +selected+ mode, which query ids are selected.
// src/app/panels/terms/module.js:102

View File

@@ -0,0 +1,16 @@
== text
Status: *Stable*
The text panel is used for displaying static text formated as markdown, sanitized html or as plain
text.
// src/app/panels/text/module.js:5
=== Parameters
mode:: `html', `markdown' or `text'
// src/app/panels/text/module.js:33
content:: The content of your panel, written in the mark up specified in +mode+
// src/app/panels/text/module.js:39

View File

@@ -0,0 +1,27 @@
== trends
Status: *Beta*
A stock-ticker style representation of how queries are moving over time. For example, if the
time is 1:10pm, your time picker was set to "Last 10m", and the "Time Ago" parameter was set to
"1h", the panel would show how much the query results have changed since 12:00-12:10pm
// src/app/panels/trends/module.js:5
=== Parameters
ago:: A date math formatted string describing the relative time period to compare the
queries to.
// src/app/panels/trends/module.js:49
arrangement:: `horizontal' or `vertical'
// src/app/panels/trends/module.js:56
spyable:: Set to false to disable the inspect icon
// src/app/panels/trends/module.js:60
==== Queries
queries object:: This object describes the queries to use on this panel.
queries.mode::: Of the queries available, which to use. Options: +all, pinned, unpinned, selected+
queries.ids::: In +selected+ mode, which query ids are selected.
// src/app/panels/trends/module.js:64