mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
parent
d06af4d93c
commit
4624f96921
22 changed files with 204 additions and 210 deletions
|
@ -5,7 +5,7 @@ When querying in the APM app, you're simply searching and selecting data from fi
|
|||
Queries entered into the query bar are also added as parameters to the URL,
|
||||
so it's easy to share a specific query or view with others.
|
||||
|
||||
In the screenshot below, you can begin to see some of the transaction fields available for filtering on:
|
||||
You can begin to see some of the transaction fields available for filtering:
|
||||
|
||||
[role="screenshot"]
|
||||
image::apm/images/apm-query-bar.png[Example of the Kibana Query bar in APM app in Kibana]
|
||||
|
|
|
@ -12,12 +12,12 @@ This makes it useful for visualizing where the selected transaction spent most o
|
|||
image::apm/images/apm-transaction-sample.png[Example of distributed trace colors in the APM app in Kibana]
|
||||
|
||||
View a span in detail by clicking on it in the timeline waterfall.
|
||||
For example, in the below screenshot we've clicked on an SQL Select database query.
|
||||
The information displayed includes the actual SQL that was executed, how long it took,
|
||||
When you click on an SQL Select database query,
|
||||
the information displayed includes the actual SQL that was executed, how long it took,
|
||||
and the percentage of the trace's total time.
|
||||
You also get a stack trace, which shows the SQL query in your code.
|
||||
Finally, APM knows which files are your code and which are just modules or libraries that you've installed.
|
||||
These library frames will be minimized by default in order to show you the most relevant stack trace.
|
||||
These library frames will be minimized by default in order to show you the most relevant stack trace.
|
||||
|
||||
[role="screenshot"]
|
||||
image::apm/images/apm-span-detail.png[Example view of a span detail in the APM app in Kibana]
|
||||
|
|
|
@ -50,7 +50,7 @@ If there's a particular endpoint you're worried about, you can click on it to vi
|
|||
[IMPORTANT]
|
||||
====
|
||||
If you only see one route in the Transactions table, or if you have transactions named "unknown route",
|
||||
it could be a symptom that the agent either wasn't installed correctly or doesn't support your framework.
|
||||
it could be a symptom that the agent either wasn't installed correctly or doesn't support your framework.
|
||||
|
||||
For further details, including troubleshooting and custom implementation instructions,
|
||||
refer to the documentation for each {apm-agents-ref}[APM Agent] you've implemented.
|
||||
|
@ -103,9 +103,7 @@ The number of requests per bucket is displayed when hovering over the graph, and
|
|||
[role="screenshot"]
|
||||
image::apm/images/apm-transaction-duration-dist.png[Example view of transactions duration distribution graph]
|
||||
|
||||
Let's look at an example.
|
||||
In the screenshot below,
|
||||
you'll notice most of the requests fall into buckets on the left side of the graph,
|
||||
Most of the requests fall into buckets on the left side of the graph,
|
||||
with a long tail of smaller buckets to the right.
|
||||
This is a typical distribution, and indicates most of our requests were served quickly - awesome!
|
||||
It's the requests on the right, the ones taking longer than average, that we probably want to focus on.
|
||||
|
@ -133,4 +131,4 @@ For a particular transaction sample, we can get even more information in the *me
|
|||
* Custom - You can configure your agent to add custom contextual information on transactions.
|
||||
|
||||
TIP: All of this data is stored in documents in Elasticsearch.
|
||||
This means you can select "Actions - View sample document" to see the actual Elasticsearch document under the discover tab.
|
||||
This means you can select "Actions - View sample document" to see the actual Elasticsearch document under the discover tab.
|
||||
|
|
|
@ -3,21 +3,21 @@
|
|||
=== TinyMath functions
|
||||
|
||||
TinyMath provides a set of functions that can be used with the Canvas expression
|
||||
language to perform complex math calculations. Read on for detailed information about
|
||||
the functions available in TinyMath, including what parameters each function accepts,
|
||||
language to perform complex math calculations. Read on for detailed information about
|
||||
the functions available in TinyMath, including what parameters each function accepts,
|
||||
the return value of that function, and examples of how each function behaves.
|
||||
|
||||
Most of the functions below accept arrays and apply JavaScript Math methods to
|
||||
each element of that array. For the functions that accept multiple arrays as
|
||||
parameters, the function generally does the calculation index by index.
|
||||
Most of the functions accept arrays and apply JavaScript Math methods to
|
||||
each element of that array. For the functions that accept multiple arrays as
|
||||
parameters, the function generally does the calculation index by index.
|
||||
|
||||
Any function below can be wrapped by another function as long as the return type
|
||||
Any function can be wrapped by another function as long as the return type
|
||||
of the inner function matches the acceptable parameter type of the outer function.
|
||||
|
||||
[float]
|
||||
=== abs( a )
|
||||
|
||||
Calculates the absolute value of a number. For arrays, the function will be
|
||||
Calculates the absolute value of a number. For arrays, the function will be
|
||||
applied index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -29,7 +29,7 @@ applied index-wise to each element.
|
|||
|a number or an array of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The absolute value of `a`. Returns
|
||||
*Returns*: `number` | `Array.<number>`. The absolute value of `a`. Returns
|
||||
an array with the absolute values of each element if `a` is an array.
|
||||
|
||||
*Example*
|
||||
|
@ -43,7 +43,7 @@ abs([-1 , -2, 3, -4]) // returns [1, 2, 3, 4]
|
|||
[float]
|
||||
=== add( ...args )
|
||||
|
||||
Calculates the sum of one or more numbers/arrays passed into the function. If at
|
||||
Calculates the sum of one or more numbers/arrays passed into the function. If at
|
||||
least one array of numbers is passed into the function, the function will calculate the sum by index.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -55,9 +55,9 @@ least one array of numbers is passed into the function, the function will calcul
|
|||
|one or more numbers or arrays of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The sum of all numbers in `args` if `args`
|
||||
contains only numbers. Returns an array of sums of the elements at each index,
|
||||
including all scalar numbers in `args` in the calculation at each index if `args`
|
||||
*Returns*: `number` | `Array.<number>`. The sum of all numbers in `args` if `args`
|
||||
contains only numbers. Returns an array of sums of the elements at each index,
|
||||
including all scalar numbers in `args` in the calculation at each index if `args`
|
||||
contains at least one array.
|
||||
|
||||
*Throws*: `'Array length mismatch'` if `args` contains arrays of different lengths
|
||||
|
@ -73,7 +73,7 @@ add([1, 2], 3, [4, 5], 6) // returns [(1 + 3 + 4 + 6), (2 + 3 + 5 + 6)] = [14, 1
|
|||
[float]
|
||||
=== cbrt( a )
|
||||
|
||||
Calculates the cube root of a number. For arrays, the function will be applied
|
||||
Calculates the cube root of a number. For arrays, the function will be applied
|
||||
index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -85,7 +85,7 @@ index-wise to each element.
|
|||
|a number or an array of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The cube root of `a`. Returns an array with
|
||||
*Returns*: `number` | `Array.<number>`. The cube root of `a`. Returns an array with
|
||||
the cube roots of each element if `a` is an array.
|
||||
|
||||
*Example*
|
||||
|
@ -99,7 +99,7 @@ cbrt([27, 64, 125]) // returns [3, 4, 5]
|
|||
[float]
|
||||
=== ceil( a )
|
||||
|
||||
Calculates the ceiling of a number, i.e., rounds a number towards positive infinity.
|
||||
Calculates the ceiling of a number, i.e., rounds a number towards positive infinity.
|
||||
For arrays, the function will be applied index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -111,7 +111,7 @@ For arrays, the function will be applied index-wise to each element.
|
|||
|a number or an array of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The ceiling of `a`. Returns an array with
|
||||
*Returns*: `number` | `Array.<number>`. The ceiling of `a`. Returns an array with
|
||||
the ceilings of each element if `a` is an array.
|
||||
|
||||
*Example*
|
||||
|
@ -125,7 +125,7 @@ ceil([1.1, 2.2, 3.3]) // returns [2, 3, 4]
|
|||
[float]
|
||||
=== clamp( ...a, min, max )
|
||||
|
||||
Restricts value to a given range and returns closed available value. If only `min`
|
||||
Restricts value to a given range and returns closed available value. If only `min`
|
||||
is provided, values are restricted to only a lower bound.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -145,11 +145,11 @@ is provided, values are restricted to only a lower bound.
|
|||
|(optional) The maximum value this function will return.
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The closest value between `min` (inclusive)
|
||||
and `max` (inclusive). Returns an array with values greater than or equal to `min`
|
||||
*Returns*: `number` | `Array.<number>`. The closest value between `min` (inclusive)
|
||||
and `max` (inclusive). Returns an array with values greater than or equal to `min`
|
||||
and less than or equal to `max` (if provided) at each index.
|
||||
|
||||
*Throws*:
|
||||
*Throws*:
|
||||
|
||||
- `'Array length mismatch'` if a `min` and/or `max` are arrays of different lengths
|
||||
|
||||
|
@ -194,7 +194,7 @@ count(100) // returns 1
|
|||
[float]
|
||||
=== cube( a )
|
||||
|
||||
Calculates the cube of a number. For arrays, the function will be applied
|
||||
Calculates the cube of a number. For arrays, the function will be applied
|
||||
index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -206,7 +206,7 @@ index-wise to each element.
|
|||
|a number or an array of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The cube of `a`. Returns an array
|
||||
*Returns*: `number` | `Array.<number>`. The cube of `a`. Returns an array
|
||||
with the cubes of each element if `a` is an array.
|
||||
|
||||
*Example*
|
||||
|
@ -219,7 +219,7 @@ cube([3, 4, 5]) // returns [27, 64, 125]
|
|||
[float]
|
||||
=== divide( a, b )
|
||||
|
||||
Divides two numbers. If at least one array of numbers is passed into the function,
|
||||
Divides two numbers. If at least one array of numbers is passed into the function,
|
||||
the function will be applied index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -235,8 +235,8 @@ the function will be applied index-wise to each element.
|
|||
|divisor, a number or an array of numbers, b != 0
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. Returns the quotient of `a` and `b`
|
||||
if both are numbers. Returns an array with the quotients applied index-wise to
|
||||
*Returns*: `number` | `Array.<number>`. Returns the quotient of `a` and `b`
|
||||
if both are numbers. Returns an array with the quotients applied index-wise to
|
||||
each element if `a` or `b` is an array.
|
||||
|
||||
*Throws*:
|
||||
|
@ -257,7 +257,7 @@ divide([14, 42, 65, 108], [2, 7, 5, 12]) // returns [7, 6, 13, 9]
|
|||
[float]
|
||||
=== exp( a )
|
||||
|
||||
Calculates _e^x_ where _e_ is Euler's number. For arrays, the function will be applied
|
||||
Calculates _e^x_ where _e_ is Euler's number. For arrays, the function will be applied
|
||||
index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -269,7 +269,7 @@ index-wise to each element.
|
|||
|a number or an array of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. Returns an array with the values of
|
||||
*Returns*: `number` | `Array.<number>`. Returns an array with the values of
|
||||
`e^x` evaluated where `x` is each element of `a` if `a` is an array.
|
||||
|
||||
*Example*
|
||||
|
@ -282,7 +282,7 @@ exp([1, 2, 3]) // returns [e^1, e^2, e^3] = [2.718281828459045, 7.38905609893064
|
|||
[float]
|
||||
=== first( a )
|
||||
|
||||
Returns the first element of an array. If anything other than an array is passed
|
||||
Returns the first element of an array. If anything other than an array is passed
|
||||
in, the input is returned.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -306,7 +306,7 @@ first([1, 2, 3]) // returns 1
|
|||
[float]
|
||||
=== fix( a )
|
||||
|
||||
Calculates the fix of a number, i.e., rounds a number towards 0. For arrays, the
|
||||
Calculates the fix of a number, i.e., rounds a number towards 0. For arrays, the
|
||||
function will be applied index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -318,7 +318,7 @@ function will be applied index-wise to each element.
|
|||
|a number or an array of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The fix of `a`. Returns an array with
|
||||
*Returns*: `number` | `Array.<number>`. The fix of `a`. Returns an array with
|
||||
the fixes for each element if `a` is an array.
|
||||
|
||||
*Example*
|
||||
|
@ -332,7 +332,7 @@ fix([1.8, 2.9, -3.7, -4.6]) // returns [1, 2, -3, -4]
|
|||
[float]
|
||||
=== floor( a )
|
||||
|
||||
Calculates the floor of a number, i.e., rounds a number towards negative infinity.
|
||||
Calculates the floor of a number, i.e., rounds a number towards negative infinity.
|
||||
For arrays, the function will be applied index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -344,7 +344,7 @@ For arrays, the function will be applied index-wise to each element.
|
|||
|a number or an array of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The floor of `a`. Returns an array
|
||||
*Returns*: `number` | `Array.<number>`. The floor of `a`. Returns an array
|
||||
with the floor of each element if `a` is an array.
|
||||
|
||||
*Example*
|
||||
|
@ -358,7 +358,7 @@ floor([1.7, 2.8, 3.9]) // returns [1, 2, 3]
|
|||
[float]
|
||||
=== last( a )
|
||||
|
||||
Returns the last element of an array. If anything other than an array is passed
|
||||
Returns the last element of an array. If anything other than an array is passed
|
||||
in, the input is returned.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -382,7 +382,7 @@ last([1, 2, 3]) // returns 3
|
|||
[float]
|
||||
=== log( a, b )
|
||||
|
||||
Calculates the logarithm of a number. For arrays, the function will be applied
|
||||
Calculates the logarithm of a number. For arrays, the function will be applied
|
||||
index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -398,7 +398,7 @@ index-wise to each element.
|
|||
|(optional) base for the logarithm. If not provided a value, the default base is e, and the natural log is calculated.
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The logarithm of `a`. Returns an array
|
||||
*Returns*: `number` | `Array.<number>`. The logarithm of `a`. Returns an array
|
||||
with the the logarithms of each element if `a` is an array.
|
||||
|
||||
*Throws*:
|
||||
|
@ -419,7 +419,7 @@ log([2, 4, 8, 16, 32], 2) // returns [1, 2, 3, 4, 5]
|
|||
[float]
|
||||
=== log10( a )
|
||||
|
||||
Calculates the logarithm base 10 of a number. For arrays, the function will be
|
||||
Calculates the logarithm base 10 of a number. For arrays, the function will be
|
||||
applied index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -431,7 +431,7 @@ applied index-wise to each element.
|
|||
|a number or an array of numbers, `a` must be greater than 0
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The logarithm of `a`. Returns an array
|
||||
*Returns*: `number` | `Array.<number>`. The logarithm of `a`. Returns an array
|
||||
with the the logarithms base 10 of each element if `a` is an array.
|
||||
|
||||
*Throws*: `'Must be greater than 0'` if `a` < 0
|
||||
|
@ -448,8 +448,8 @@ log([10, 100, 1000, 10000, 100000]) // returns [1, 2, 3, 4, 5]
|
|||
[float]
|
||||
=== max( ...args )
|
||||
|
||||
Finds the maximum value of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
Finds the maximum value of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
find the maximum by index.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -461,9 +461,9 @@ find the maximum by index.
|
|||
|one or more numbers or arrays of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The maximum value of all numbers if
|
||||
`args` contains only numbers. Returns an array with the the maximum values at each
|
||||
index, including all scalar numbers in `args` in the calculation at each index if
|
||||
*Returns*: `number` | `Array.<number>`. The maximum value of all numbers if
|
||||
`args` contains only numbers. Returns an array with the the maximum values at each
|
||||
index, including all scalar numbers in `args` in the calculation at each index if
|
||||
`args` contains at least one array.
|
||||
|
||||
*Throws*: `'Array length mismatch'` if `args` contains arrays of different lengths
|
||||
|
@ -479,8 +479,8 @@ max([1, 9], 4, [3, 5]) // returns [max([1, 4, 3]), max([9, 4, 5])] = [4, 9]
|
|||
[float]
|
||||
=== mean( ...args )
|
||||
|
||||
Finds the mean value of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
Finds the mean value of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
find the mean by index.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -492,9 +492,9 @@ find the mean by index.
|
|||
|one or more numbers or arrays of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The maximum value of all numbers if
|
||||
`args` contains only numbers. Returns an array with the the maximum values at each
|
||||
index, including all scalar numbers in `args` in the calculation at each index if
|
||||
*Returns*: `number` | `Array.<number>`. The maximum value of all numbers if
|
||||
`args` contains only numbers. Returns an array with the the maximum values at each
|
||||
index, including all scalar numbers in `args` in the calculation at each index if
|
||||
`args` contains at least one array.
|
||||
|
||||
*Throws*: `'Array length mismatch'` if `args` contains arrays of different lengths
|
||||
|
@ -510,8 +510,8 @@ max([1, 9], 4, [3, 5]) // returns [max([1, 4, 3]), max([9, 4, 5])] = [4, 9]
|
|||
[float]
|
||||
=== mean( ...args )
|
||||
|
||||
Finds the mean value of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
Finds the mean value of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
find the mean by index.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -523,9 +523,9 @@ find the mean by index.
|
|||
|one or more numbers or arrays of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The mean value of all numbers if `args`
|
||||
contains only numbers. Returns an array with the the mean values of each index,
|
||||
including all scalar numbers in `args` in the calculation at each index if `args`
|
||||
*Returns*: `number` | `Array.<number>`. The mean value of all numbers if `args`
|
||||
contains only numbers. Returns an array with the the mean values of each index,
|
||||
including all scalar numbers in `args` in the calculation at each index if `args`
|
||||
contains at least one array.
|
||||
|
||||
*Example*
|
||||
|
@ -539,8 +539,8 @@ mean([1, 9], 5, [3, 4]) // returns [mean([1, 5, 3]), mean([9, 5, 4])] = [3, 6]
|
|||
[float]
|
||||
=== median( ...args )
|
||||
|
||||
Finds the median value(s) of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
Finds the median value(s) of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
find the median by index.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -552,9 +552,9 @@ find the median by index.
|
|||
|one or more numbers or arrays of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The median value of all numbers if `args`
|
||||
contains only numbers. Returns an array with the the median values of each index,
|
||||
including all scalar numbers in `args` in the calculation at each index if `args`
|
||||
*Returns*: `number` | `Array.<number>`. The median value of all numbers if `args`
|
||||
contains only numbers. Returns an array with the the median values of each index,
|
||||
including all scalar numbers in `args` in the calculation at each index if `args`
|
||||
contains at least one array.
|
||||
|
||||
*Example*
|
||||
|
@ -569,8 +569,8 @@ median([1, 9], 2, 4, [3, 5]) // returns [median([1, 2, 4, 3]), median([9, 2, 4,
|
|||
[float]
|
||||
=== min( ...args )
|
||||
|
||||
Finds the minimum value of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
Finds the minimum value of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
find the minimum by index.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -582,9 +582,9 @@ find the minimum by index.
|
|||
|one or more numbers or arrays of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The minimum value of all numbers if
|
||||
`args` contains only numbers. Returns an array with the the minimum values of each
|
||||
index, including all scalar numbers in `args` in the calculation at each index if `a`
|
||||
*Returns*: `number` | `Array.<number>`. The minimum value of all numbers if
|
||||
`args` contains only numbers. Returns an array with the the minimum values of each
|
||||
index, including all scalar numbers in `args` in the calculation at each index if `a`
|
||||
is an array.
|
||||
|
||||
*Throws*: `'Array length mismatch'` if `args` contains arrays of different lengths.
|
||||
|
@ -600,7 +600,7 @@ min([1, 9], 4, [3, 5]) // returns [min([1, 4, 3]), min([9, 4, 5])] = [1, 4]
|
|||
[float]
|
||||
=== mod( a, b )
|
||||
|
||||
Remainder after dividing two numbers. If at least one array of numbers is passed
|
||||
Remainder after dividing two numbers. If at least one array of numbers is passed
|
||||
into the function, the function will be applied index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -616,8 +616,8 @@ into the function, the function will be applied index-wise to each element.
|
|||
|divisor, a number or an array of numbers, b != 0
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The remainder of `a` divided by `b` if
|
||||
both are numbers. Returns an array with the the remainders applied index-wise to
|
||||
*Returns*: `number` | `Array.<number>`. The remainder of `a` divided by `b` if
|
||||
both are numbers. Returns an array with the the remainders applied index-wise to
|
||||
each element if `a` or `b` is an array.
|
||||
|
||||
*Throws*:
|
||||
|
@ -638,8 +638,8 @@ mod([14, 42, 65, 108], [5, 4, 14, 2]) // returns [5, 2, 9, 0]
|
|||
[float]
|
||||
=== mode( ...args )
|
||||
|
||||
Finds the mode value(s) of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
Finds the mode value(s) of one of more numbers/arrays of numbers passed into the function.
|
||||
If at least one array of numbers is passed into the function, the function will
|
||||
find the mode by index.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -651,9 +651,9 @@ find the mode by index.
|
|||
|one or more numbers or arrays of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<Array.<number>>`. An array of mode value(s) of all
|
||||
numbers if `args` contains only numbers. Returns an array of arrays with mode value(s)
|
||||
of each index, including all scalar numbers in `args` in the calculation at each index
|
||||
*Returns*: `number` | `Array.<Array.<number>>`. An array of mode value(s) of all
|
||||
numbers if `args` contains only numbers. Returns an array of arrays with mode value(s)
|
||||
of each index, including all scalar numbers in `args` in the calculation at each index
|
||||
if `args` contains at least one array.
|
||||
|
||||
*Example*
|
||||
|
@ -668,7 +668,7 @@ mode([1, 9], 1, 4, [3, 5]) // returns [mode([1, 1, 4, 3]), mode([9, 1, 4, 5])] =
|
|||
[float]
|
||||
=== multiply( a, b )
|
||||
|
||||
Multiplies two numbers. If at least one array of numbers is passed into the function,
|
||||
Multiplies two numbers. If at least one array of numbers is passed into the function,
|
||||
the function will be applied index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -684,11 +684,11 @@ the function will be applied index-wise to each element.
|
|||
|a number or an array of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The product of `a` and `b` if both are
|
||||
numbers. Returns an array with the the products applied index-wise to each element
|
||||
*Returns*: `number` | `Array.<number>`. The product of `a` and `b` if both are
|
||||
numbers. Returns an array with the the products applied index-wise to each element
|
||||
if `a` or `b` is an array.
|
||||
|
||||
*Throws*: `'Array length mismatch'` if `a` and `b` are arrays with different lengths
|
||||
*Throws*: `'Array length mismatch'` if `a` and `b` are arrays with different lengths
|
||||
|
||||
*Example*
|
||||
[source, js]
|
||||
|
@ -702,7 +702,7 @@ multiply([1, 2, 3, 4], [2, 7, 5, 12]) // returns [2, 14, 15, 48]
|
|||
[float]
|
||||
=== pow( a, b )
|
||||
|
||||
Calculates the cube root of a number. For arrays, the function will be applied
|
||||
Calculates the cube root of a number. For arrays, the function will be applied
|
||||
index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -718,7 +718,7 @@ index-wise to each element.
|
|||
|the power that `a` is raised to
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. `a` raised to the power of `b`. Returns
|
||||
*Returns*: `number` | `Array.<number>`. `a` raised to the power of `b`. Returns
|
||||
an array with the each element raised to the power of `b` if `a` is an array.
|
||||
|
||||
*Throws*: `'Missing exponent'` if `b` is not provided
|
||||
|
@ -733,8 +733,8 @@ pow([1, 2, 3], 4) // returns [1, 16, 81]
|
|||
[float]
|
||||
=== random( a, b )
|
||||
|
||||
Generates a random number within the given range where the lower bound is inclusive
|
||||
and the upper bound is exclusive. If no numbers are passed in, it will return a
|
||||
Generates a random number within the given range where the lower bound is inclusive
|
||||
and the upper bound is exclusive. If no numbers are passed in, it will return a
|
||||
number between 0 and 1. If only one number is passed in, it will return a number
|
||||
between 0 and the number passed in.
|
||||
|
||||
|
@ -751,11 +751,11 @@ between 0 and the number passed in.
|
|||
|(optional) must be greater than `a`
|
||||
|===
|
||||
|
||||
*Returns*: `number`. A random number between 0 and 1 if no numbers are passed in.
|
||||
Returns a random number between 0 and `a` if only one number is passed in. Returns
|
||||
*Returns*: `number`. A random number between 0 and 1 if no numbers are passed in.
|
||||
Returns a random number between 0 and `a` if only one number is passed in. Returns
|
||||
a random number between `a` and `b` if two numbers are passed in.
|
||||
|
||||
*Throws*: `'Min must be greater than max'` if `a` < 0 when only `a` is passed in
|
||||
*Throws*: `'Min must be greater than max'` if `a` < 0 when only `a` is passed in
|
||||
or if `a` > `b` when both `a` and `b` are passed in
|
||||
|
||||
*Example*
|
||||
|
@ -769,8 +769,8 @@ random(-10,10) // returns a random number between -10 (inclusive) and 10 (exclus
|
|||
[float]
|
||||
=== range( ...args )
|
||||
|
||||
Finds the range of one of more numbers/arrays of numbers passed into the function. If at
|
||||
least one array of numbers is passed into the function, the function will find
|
||||
Finds the range of one of more numbers/arrays of numbers passed into the function. If at
|
||||
least one array of numbers is passed into the function, the function will find
|
||||
the range by index.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -782,9 +782,9 @@ the range by index.
|
|||
|one or more numbers or arrays of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The range value of all numbers if `args`
|
||||
contains only numbers. Returns an array with the range values at each index,
|
||||
including all scalar numbers in `args` in the calculation at each index if `args`
|
||||
*Returns*: `number` | `Array.<number>`. The range value of all numbers if `args`
|
||||
contains only numbers. Returns an array with the range values at each index,
|
||||
including all scalar numbers in `args` in the calculation at each index if `args`
|
||||
contains at least one array.
|
||||
|
||||
*Example*
|
||||
|
@ -798,8 +798,8 @@ range([1, 9], 4, [3, 5]) // returns [range([1, 4, 3]), range([9, 4, 5])] = [3, 5
|
|||
[float]
|
||||
=== range( ...args )
|
||||
|
||||
Finds the range of one of more numbers/arrays of numbers into the function. If at
|
||||
least one array of numbers is passed into the function, the function will find
|
||||
Finds the range of one of more numbers/arrays of numbers into the function. If at
|
||||
least one array of numbers is passed into the function, the function will find
|
||||
the range by index.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -811,9 +811,9 @@ the range by index.
|
|||
|one or more numbers or arrays of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The range value of all numbers if `args`
|
||||
contains only numbers. Returns an array with the the range values at each index,
|
||||
including all scalar numbers in `args` in the calculation at each index if `args`
|
||||
*Returns*: `number` | `Array.<number>`. The range value of all numbers if `args`
|
||||
contains only numbers. Returns an array with the the range values at each index,
|
||||
including all scalar numbers in `args` in the calculation at each index if `args`
|
||||
contains at least one array.
|
||||
|
||||
*Example*
|
||||
|
@ -827,7 +827,7 @@ range([1, 9], 4, [3, 5]) // returns [range([1, 4, 3]), range([9, 4, 5])] = [3, 5
|
|||
[float]
|
||||
=== round( a, b )
|
||||
|
||||
Rounds a number towards the nearest integer by default, or decimal place (if passed in as `b`).
|
||||
Rounds a number towards the nearest integer by default, or decimal place (if passed in as `b`).
|
||||
For arrays, the function will be applied index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -843,7 +843,7 @@ For arrays, the function will be applied index-wise to each element.
|
|||
|(optional) number of decimal places, default value: 0
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The rounded value of `a`. Returns an
|
||||
*Returns*: `number` | `Array.<number>`. The rounded value of `a`. Returns an
|
||||
array with the the rounded values of each element if `a` is an array.
|
||||
|
||||
*Example*
|
||||
|
@ -885,7 +885,7 @@ size(100) // returns 1
|
|||
[float]
|
||||
=== sqrt( a )
|
||||
|
||||
Calculates the square root of a number. For arrays, the function will be applied
|
||||
Calculates the square root of a number. For arrays, the function will be applied
|
||||
index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -897,7 +897,7 @@ index-wise to each element.
|
|||
|a number or an array of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The square root of `a`. Returns an array
|
||||
*Returns*: `number` | `Array.<number>`. The square root of `a`. Returns an array
|
||||
with the the square roots of each element if `a` is an array.
|
||||
|
||||
*Throws*: `'Unable find the square root of a negative number'` if `a` < 0
|
||||
|
@ -913,7 +913,7 @@ sqrt([9, 16, 25]) // returns [3, 4, 5]
|
|||
[float]
|
||||
=== square( a )
|
||||
|
||||
Calculates the square of a number. For arrays, the function will be applied
|
||||
Calculates the square of a number. For arrays, the function will be applied
|
||||
index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -925,7 +925,7 @@ index-wise to each element.
|
|||
|a number or an array of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The square of `a`. Returns an array
|
||||
*Returns*: `number` | `Array.<number>`. The square of `a`. Returns an array
|
||||
with the the squares of each element if `a` is an array.
|
||||
|
||||
*Example*
|
||||
|
@ -938,7 +938,7 @@ square([3, 4, 5]) // returns [9, 16, 25]
|
|||
[float]
|
||||
=== subtract( a, b )
|
||||
|
||||
Subtracts two numbers. If at least one array of numbers is passed into the function,
|
||||
Subtracts two numbers. If at least one array of numbers is passed into the function,
|
||||
the function will be applied index-wise to each element.
|
||||
|
||||
[cols="3*^<"]
|
||||
|
@ -954,7 +954,7 @@ the function will be applied index-wise to each element.
|
|||
|a number or an array of numbers
|
||||
|===
|
||||
|
||||
*Returns*: `number` | `Array.<number>`. The difference of `a` and `b` if both are
|
||||
*Returns*: `number` | `Array.<number>`. The difference of `a` and `b` if both are
|
||||
numbers, or an array of differences applied index-wise to each element.
|
||||
|
||||
*Throws*: `'Array length mismatch'` if `a` and `b` are arrays with different lengths
|
||||
|
@ -971,11 +971,11 @@ subtract([14, 42, 65, 108], [2, 7, 5, 12]) // returns [12, 35, 52, 96]
|
|||
[float]
|
||||
=== sum( ...args )
|
||||
|
||||
Calculates the sum of one or more numbers/arrays passed into the function. If at
|
||||
least one array is passed, the function will sum up one or more numbers/arrays of
|
||||
Calculates the sum of one or more numbers/arrays passed into the function. If at
|
||||
least one array is passed, the function will sum up one or more numbers/arrays of
|
||||
numbers and distinct values of an array. Sum accepts arrays of different lengths.
|
||||
|
||||
*Returns*: `number`. The sum of one or more numbers/arrays of numbers including
|
||||
*Returns*: `number`. The sum of one or more numbers/arrays of numbers including
|
||||
distinct values in arrays
|
||||
|
||||
*Example*
|
||||
|
@ -992,7 +992,7 @@ sum([10, 20, 30, 40], 10, [1, 2, 3], 22) // returns sum(10, 20, 30, 40, 10, 1, 2
|
|||
|
||||
Counts the number of unique values in an array.
|
||||
|
||||
*Returns*: `number`. The number of unique values in the array. Returns 1 if `a`
|
||||
*Returns*: `number`. The number of unique values in the array. Returns 1 if `a`
|
||||
is not an array.
|
||||
|
||||
*Example*
|
||||
|
@ -1003,4 +1003,3 @@ unique([]) // returns 0
|
|||
unique([1, 2, 3, 4]) // returns 4
|
||||
unique([1, 2, 3, 4, 2, 2, 2, 3, 4, 2, 4, 5, 2, 1, 4, 2]) // returns 5
|
||||
------------
|
||||
|
||||
|
|
|
@ -25,11 +25,11 @@ POST test/_bulk
|
|||
// CONSOLE
|
||||
--
|
||||
|
||||
. From the {searchprofiler}, enter "test" in the *Index* field to restrict profiled
|
||||
. From the {searchprofiler}, enter "test" in the *Index* field to restrict profiled
|
||||
queries to the `test` index.
|
||||
|
||||
. Replace the default `match_all` query in the query editor with a query that has two sub-query
|
||||
components and includes a simple aggregation, like the example below.
|
||||
components and includes a simple aggregation:
|
||||
+
|
||||
--
|
||||
[source,js]
|
||||
|
|
|
@ -69,7 +69,7 @@ node scripts/functional_tests_server.js
|
|||
node ../scripts/functional_test_runner.js
|
||||
----------
|
||||
|
||||
** Selenium tests are run in headless mode on CI. Locally the same tests will be executed in a real browser. You can activate headless mode by setting the environment variable below:
|
||||
** Selenium tests are run in headless mode on CI. Locally the same tests will be executed in a real browser. You can activate headless mode by setting the environment variable:
|
||||
+
|
||||
["source", "shell"]
|
||||
----------
|
||||
|
@ -180,7 +180,7 @@ node scripts/functional_test_runner --config test/functional/config.firefox.js
|
|||
[float]
|
||||
===== Anatomy of a test file
|
||||
|
||||
The annotated example file below shows the basic structure every test suite uses. It starts by importing https://github.com/elastic/kibana/tree/master/packages/kbn-expect[`@kbn/expect`] and defining its default export: an anonymous Test Provider. The test provider then destructures the Provider API for the `getService()` and `getPageObjects()` functions. It uses these functions to collect the dependencies of this suite. The rest of the test file will look pretty normal to mocha.js users. `describe()`, `it()`, `before()` and the lot are used to define suites that happen to automate a browser via services and objects of type `PageObject`.
|
||||
This annotated example file shows the basic structure every test suite uses. It starts by importing https://github.com/elastic/kibana/tree/master/packages/kbn-expect[`@kbn/expect`] and defining its default export: an anonymous Test Provider. The test provider then destructures the Provider API for the `getService()` and `getPageObjects()` functions. It uses these functions to collect the dependencies of this suite. The rest of the test file will look pretty normal to mocha.js users. `describe()`, `it()`, `before()` and the lot are used to define suites that happen to automate a browser via services and objects of type `PageObject`.
|
||||
|
||||
["source","js"]
|
||||
----
|
||||
|
|
|
@ -46,7 +46,7 @@ Registering a feature consists of the following fields. For more information, co
|
|||
|
||||
|`privileges` (required)
|
||||
|{repo}blob/{branch}/x-pack/plugins/features/server/feature.ts[`FeatureWithAllOrReadPrivileges`].
|
||||
|see examples below
|
||||
|See <<example-1-canvas,Example 1>> and <<example-2-dev-tools,Example 2>>
|
||||
|The set of privileges this feature requires to function.
|
||||
|
||||
|`icon`
|
||||
|
@ -80,6 +80,7 @@ if (canUserSave) {
|
|||
}
|
||||
-----------
|
||||
|
||||
[[example-1-canvas]]
|
||||
==== Example 1: Canvas Application
|
||||
["source","javascript"]
|
||||
-----------
|
||||
|
@ -134,6 +135,7 @@ if (canUserSave) {
|
|||
|
||||
Because the `read` privilege does not define the `save` capability, users with read-only access will have their `uiCapabilities.canvas.save` flag set to `false`.
|
||||
|
||||
[[example-2-dev-tools]]
|
||||
==== Example 2: Dev Tools
|
||||
|
||||
["source","javascript"]
|
||||
|
|
|
@ -161,7 +161,7 @@ Full details are {repo}tree/master/packages/kbn-i18n#angularjs[here].
|
|||
|
||||
To learn more about i18n tooling, see {blob}src/dev/i18n/README.md[i18n dev tooling].
|
||||
|
||||
To learn more about implementing i18n in the UI, follow the links below:
|
||||
To learn more about implementing i18n in the UI, use the following links:
|
||||
|
||||
* {blob}packages/kbn-i18n/README.md[i18n plugin]
|
||||
* {blob}packages/kbn-i18n/GUIDELINE.md[i18n guidelines]
|
||||
|
|
|
@ -7,8 +7,8 @@ simplified, easier to use syntax. If you have a Basic license or above, autocomp
|
|||
|
||||
==== Language Syntax
|
||||
|
||||
If you're familiar with Kibana's old lucene query syntax, you should feel right at home with the new syntax. The basics
|
||||
stay the same, we've simply refined things to make the query language easier to use. Read about the changes below.
|
||||
If you're familiar with Kibana's old Lucene query syntax, you should feel right at home with the new syntax. The basics
|
||||
stay the same, we've simply refined things to make the query language easier to use.
|
||||
|
||||
`response:200` will match documents where the response field matches the value 200.
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ query language you can also submit queries using the {ref}/query-dsl.html[Elasti
|
|||
|
||||
[[save-open-search]]
|
||||
=== Saving searches
|
||||
A saved search persists your current view of Discover for later retrieval and reuse. You can reload a saved search into Discover, add it to a dashboard, and use it as the basis for a <<visualize, visualization>>.
|
||||
A saved search persists your current view of Discover for later retrieval and reuse. You can reload a saved search into Discover, add it to a dashboard, and use it as the basis for a <<visualize, visualization>>.
|
||||
|
||||
A saved search includes the query text, filters, and optionally, the time filter. A saved search also includes the selected columns in the document table, the sort order, and the current index pattern.
|
||||
|
||||
|
@ -164,12 +164,9 @@ You can import, export, and delete saved queries from <<managing-saved-objects,
|
|||
[[select-pattern]]
|
||||
=== Change the indices you're searching
|
||||
When you submit a search request, the indices that match the currently-selected
|
||||
index pattern are searched. The current index pattern is shown below the toolbar.
|
||||
To change which indices you are searching, click the index pattern and select a
|
||||
different index pattern.
|
||||
|
||||
For more information about index patterns, see <<settings-create-pattern,
|
||||
Creating an Index Pattern>>.
|
||||
index pattern are searched.
|
||||
To change the indices you are searching, click the index pattern and select a
|
||||
different <<settings-create-pattern, index pattern>>.
|
||||
|
||||
[[autorefresh]]
|
||||
=== Refresh the search results
|
||||
|
@ -180,7 +177,7 @@ retrieve the latest results.
|
|||
|
||||
. Click image:images/time-filter-calendar.png[].
|
||||
|
||||
. In the *Refresh every* field, enter the refresh rate, then select the interval
|
||||
. In the *Refresh every* field, enter the refresh rate, then select the interval
|
||||
from the dropdown.
|
||||
|
||||
. Click *Start*.
|
||||
|
@ -189,5 +186,5 @@ image::images/autorefresh-intervals.png[]
|
|||
|
||||
To disable auto refresh, click *Stop*.
|
||||
|
||||
If auto refresh is not enabled, click *Refresh* to manually refresh the search
|
||||
If auto refresh is not enabled, click *Refresh* to manually refresh the search
|
||||
results.
|
||||
|
|
|
@ -70,11 +70,7 @@ This allows for more granular queries, such as 2h and 12h.
|
|||
[float]
|
||||
==== Create the rollup job
|
||||
|
||||
As you walk through the *Create rollup job* UI, enter the data shown in
|
||||
the table below. The terms, histogram, and metrics fields reflect
|
||||
the key information to retain in the rolled up data: where visitors are from (geo.src),
|
||||
what operating system they are using (machine.os.keyword),
|
||||
and how much data is being sent (bytes).
|
||||
As you walk through the *Create rollup job* UI, enter the data:
|
||||
|
||||
|===
|
||||
|*Field* |*Value*
|
||||
|
@ -118,6 +114,10 @@ and how much data is being sent (bytes).
|
|||
|bytes (average)
|
||||
|===
|
||||
|
||||
The terms, histogram, and metrics fields reflect
|
||||
the key information to retain in the rolled up data: where visitors are from (geo.src),
|
||||
what operating system they are using (machine.os.keyword),
|
||||
and how much data is being sent (bytes).
|
||||
|
||||
You can now use the rolled up data for analysis at a fraction of the storage cost
|
||||
of the original index. The original data can live side by side with the new
|
||||
|
|
|
@ -14,7 +14,7 @@ GeoJSON is the most commonly used and flexible option.
|
|||
[float]
|
||||
|
||||
=== Upload a GeoJSON file
|
||||
Follow the instructions below to upload a GeoJSON data file, or try the
|
||||
Follow these instructions to upload a GeoJSON data file, or try the
|
||||
<<indexing-geojson-data-tutorial, end-to-end integrated example>>.
|
||||
|
||||
. Open *Elastic Maps*, and then click *Add layer*.
|
||||
|
|
|
@ -46,7 +46,7 @@ image::maps/images/fu_gs_new_england_map.png[]
|
|||
=== Upload and index GeoJSON files
|
||||
For each GeoJSON file you downloaded, complete the following steps:
|
||||
|
||||
. Below the map legend, click *Add layer*.
|
||||
. Click *Add layer*.
|
||||
. From the list of layer types, click *Uploaded GeoJSON*.
|
||||
. Using the File Picker, upload the GeoJSON file.
|
||||
+
|
||||
|
@ -86,7 +86,7 @@ hot spots are. An advantage of having indexed
|
|||
{ref}/geo-point.html[geo_point] data for the
|
||||
lightning strikes is that you can perform aggregations on the data.
|
||||
|
||||
. Below the map legend, click *Add layer*.
|
||||
. Click *Add layer*.
|
||||
. From the list of layer types, click *Grid aggregation*.
|
||||
+
|
||||
Because you indexed `lightning_detected.geojson` using the index name and
|
||||
|
|
|
@ -12,7 +12,7 @@ For each property, you can specify whether to use a constant or data driven valu
|
|||
|
||||
Use static styling to specificy a constant value for a style property.
|
||||
|
||||
The image below shows an example of static styling using the <<add-sample-data, Kibana sample web logs>> data set.
|
||||
This image shows an example of static styling using the <<add-sample-data, Kibana sample web logs>> data set.
|
||||
The *kibana_sample_data_logs* layer uses static styling for all properties.
|
||||
|
||||
[role="screenshot"]
|
||||
|
@ -26,7 +26,7 @@ image::maps/images/vector_style_static.png[]
|
|||
Use data driven styling to symbolize features by property values.
|
||||
To enable data driven styling for a style property, change the selected value from *Fixed* or *Solid* to *By value*.
|
||||
|
||||
The image below shows an example of data driven styling using the <<add-sample-data, Kibana sample web logs>> data set.
|
||||
This image shows an example of data driven styling using the <<add-sample-data, Kibana sample web logs>> data set.
|
||||
The *kibana_sample_data_logs* layer uses data driven styling for fill color and symbol size style properties.
|
||||
|
||||
* The `hour_of_day` property determines the fill color for each feature based on where the value fits on a linear scale.
|
||||
|
@ -87,7 +87,7 @@ Qualitative data driven styling is available for the following styling propertie
|
|||
|
||||
Qualitative data driven styling uses a {ref}/search-aggregations-bucket-terms-aggregation.html[terms aggregation] to retrieve the top nine categories for the property. Feature values within the top categories are assigned a unique color. Feature values outside of the top categories are grouped into the *Other* category. A feature is assigned the *Other* category when the property value is undefined.
|
||||
|
||||
The image below shows an example of quantitative data driven styling using the <<add-sample-data, Kibana sample web logs>> data set.
|
||||
This image shows an example of quantitative data driven styling using the <<add-sample-data, Kibana sample web logs>> data set.
|
||||
The `machine.os.keyword` property determines the color of each symbol based on category.
|
||||
|
||||
[role="screenshot"]
|
||||
|
@ -101,7 +101,7 @@ image::maps/images/quantitative_data_driven_styling.png[]
|
|||
Class styling symbolizes features by class and requires multiple layers.
|
||||
Use <<maps-layer-based-filtering, layer filtering>> to define the class for each layer, and <<maps-vector-style-static, static styling>> to symbolize each class.
|
||||
|
||||
The image below shows an example of class styling using the <<add-sample-data, Kibana sample web logs>> data set.
|
||||
This image shows an example of class styling using the <<add-sample-data, Kibana sample web logs>> data set.
|
||||
|
||||
* The *Mac OS requests* layer applies the filter `machine.os : osx` so the layer only contains Mac OS requests.
|
||||
The fill color is a static value of green.
|
||||
|
|
|
@ -32,7 +32,7 @@ image::settings/images/apm-settings.png[APM app settings in Kibana]
|
|||
// tag::general-apm-settings[]
|
||||
|
||||
If you'd like to change any of the default values,
|
||||
copy and paste the relevant settings below into your `kibana.yml` configuration file.
|
||||
copy and paste the relevant settings into your `kibana.yml` configuration file.
|
||||
|
||||
xpack.apm.enabled:: Set to `false` to disabled the APM plugin {kib}. Defaults to
|
||||
`true`.
|
||||
|
|
|
@ -44,7 +44,7 @@ Java Cryptography Architecture documentation]. Defaults to the value of
|
|||
|
||||
The following settings are used to specify a private key, certificate, and the
|
||||
trusted certificates that should be used when communicating over an SSL/TLS connection.
|
||||
If none of the settings below are specified, the default values are used.
|
||||
If none of the settings are specified, the default values are used.
|
||||
See {ref}/security-settings.html[Default TLS/SSL settings].
|
||||
|
||||
ifdef::server[]
|
||||
|
@ -54,8 +54,8 @@ ifndef::server[]
|
|||
A private key and certificate are optional and would be used if the server requires client authentication for PKI
|
||||
authentication.
|
||||
endif::server[]
|
||||
If none of the settings below are specified, the defaults values are used.
|
||||
See {ref}/security-settings.html[Default TLS/SSL settings].
|
||||
If none of the settings bare specified, the defaults values are used.
|
||||
See {ref}/security-settings.html[Default TLS/SSL settings].
|
||||
|
||||
[float]
|
||||
===== PEM encoded files
|
||||
|
|
|
@ -20,7 +20,7 @@ then jump straight to <<install-heartbeat>>.
|
|||
=== 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. Then, follow the steps below.
|
||||
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>>
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
[[uptime-security]]
|
||||
== Elasticsearch Security
|
||||
|
||||
If you use Elasticsearch security, you'll need to enable certain privileges for users
|
||||
that would like to access the Uptime app. Below is an example of creating
|
||||
a user and support role to implement those privileges.
|
||||
If you use Elasticsearch security, you'll need to enable certain privileges for users
|
||||
that would like to access the Uptime app. For example, create user and support roles to implement the privileges:
|
||||
|
||||
[float]
|
||||
=== Create a role
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
[[graph-getting-started]]
|
||||
== Using Graph
|
||||
|
||||
You must index data into {es} before you can create a graph.
|
||||
You must index data into {es} before you can create a graph.
|
||||
<<index-patterns, Learn how>> or get started with a <<add-sample-data, sample data set>>.
|
||||
|
||||
[float]
|
||||
|
@ -11,24 +11,24 @@ You must index data into {es} before you can create a graph.
|
|||
|
||||
. From the side navigation, open *Graph*.
|
||||
+
|
||||
If this is your first graph, follow the prompts to create it.
|
||||
If this is your first graph, follow the prompts to create it.
|
||||
For subsequent graphs, click *New*.
|
||||
|
||||
. Select a data source to explore.
|
||||
|
||||
. Add one or more multi-value fields that contain the terms you want to
|
||||
graph.
|
||||
graph.
|
||||
+
|
||||
The vertices in the graph are selected from these terms.
|
||||
|
||||
. Enter a search query to discover relationships between terms in the selected
|
||||
fields.
|
||||
fields.
|
||||
+
|
||||
For example, if you are using the {kib} sample web logs data set, and you want
|
||||
For example, if you are using the {kib} sample web logs data set, and you want
|
||||
to generate a graph of the successful requests to
|
||||
particular pages from different locations, you could search for the 200
|
||||
response code. The weight of the connection between two vertices indicates how strongly they
|
||||
are related.
|
||||
are related.
|
||||
+
|
||||
[role="screenshot"]
|
||||
image::user/graph/images/graph-url-connections.png["URL connections"]
|
||||
|
@ -45,11 +45,11 @@ additional connections:
|
|||
image:user/graph/images/graph-expand-button.png[Expand Selection].
|
||||
* To display additional
|
||||
connections between the displayed vertices, click the link icon
|
||||
image:user/graph/images/graph-link-button.png[Add links to existing terms].
|
||||
image:user/graph/images/graph-link-button.png[Add links to existing terms].
|
||||
* To explore a particular area of the
|
||||
graph, select the vertices you are interested in, and then click expand or link.
|
||||
* To step back through your changes to the graph, click undo
|
||||
image:user/graph/images/graph-undo-button.png[Undo] and redo
|
||||
image:user/graph/images/graph-undo-button.png[Undo] and redo
|
||||
image:user/graph/images/graph-redo-button.png[Redo].
|
||||
|
||||
. To see more relationships in your data, submit additional queries.
|
||||
|
@ -63,61 +63,61 @@ image::user/graph/images/graph-add-query.png["Adding networks"]
|
|||
[[style-vertex-properties]]
|
||||
=== Style vertex properties
|
||||
|
||||
Each vertex has a color, icon, and label. To change
|
||||
the color or icon of all vertices
|
||||
of a certain field, click the field badge below the search bar, and then
|
||||
Each vertex has a color, icon, and label. To change
|
||||
the color or icon of all vertices
|
||||
of a certain field, click it's badge, and then
|
||||
select *Edit settings*.
|
||||
|
||||
To change the color and label of selected vertices,
|
||||
To change the color and label of selected vertices,
|
||||
click the style icon image:user/graph/images/graph-style-button.png[Style]
|
||||
in the control bar on the right.
|
||||
in the control bar on the right.
|
||||
|
||||
|
||||
[float]
|
||||
[[edit-graph-settings]]
|
||||
=== Edit graph settings
|
||||
|
||||
By default, *Graph* is configured to tune out noise in your data.
|
||||
By default, *Graph* is configured to tune out noise in your data.
|
||||
If this isn't a good fit for your data, use *Settings > Advanced settings*
|
||||
to adjust the way *Graph* queries your data. You can tune the graph to show
|
||||
only the results relevant to you and to improve performance.
|
||||
For more information, see <<graph-troubleshooting, Graph troubleshooting>>.
|
||||
to adjust the way *Graph* queries your data. You can tune the graph to show
|
||||
only the results relevant to you and to improve performance.
|
||||
For more information, see <<graph-troubleshooting, Graph troubleshooting>>.
|
||||
|
||||
You can configure the number of vertices that a search or
|
||||
You can configure the number of vertices that a search or
|
||||
expand operation adds to the graph.
|
||||
By default, only the five most relevant terms for any given field are added
|
||||
at a time. This keeps the graph from overflowing. To increase this number, click
|
||||
a field below the search bar, select *Edit Settings*, and change *Terms per hop*.
|
||||
By default, only the five most relevant terms for any given field are added
|
||||
at a time. This keeps the graph from overflowing. To increase this number, click
|
||||
a field, select *Edit Settings*, and change *Terms per hop*.
|
||||
|
||||
[float]
|
||||
[[graph-block-terms]]
|
||||
=== Block terms from the graph
|
||||
Documents that match a blocked term are not allowed in the graph.
|
||||
To block a term, select its vertex and click
|
||||
Documents that match a blocked term are not allowed in the graph.
|
||||
To block a term, select its vertex and click
|
||||
the block icon
|
||||
image:user/graph/images/graph-block-button.png[Block selection]
|
||||
in the control panel.
|
||||
in the control panel.
|
||||
For a list of blocked terms, go to *Settings > Blocked terms*.
|
||||
|
||||
[float]
|
||||
[[graph-drill-down]]
|
||||
=== Drill down into raw documents
|
||||
With drilldowns, you can display additional information about a
|
||||
selected vertex in a new browser window. For example, you might
|
||||
configure a drilldown URL to perform a web search for the selected vertex term.
|
||||
With drilldowns, you can display additional information about a
|
||||
selected vertex in a new browser window. For example, you might
|
||||
configure a drilldown URL to perform a web search for the selected vertex term.
|
||||
|
||||
Use the drilldown icon image:user/graph/images/graph-info-icon.png[Drilldown selection]
|
||||
Use the drilldown icon image:user/graph/images/graph-info-icon.png[Drilldown selection]
|
||||
in the control panel to show the drilldown buttons for the selected vertices.
|
||||
To configure drilldowns, go to *Settings > Drilldowns*. See also
|
||||
To configure drilldowns, go to *Settings > Drilldowns*. See also
|
||||
<<disable-drill-down, Disabling drilldown configuration>>.
|
||||
|
||||
[float]
|
||||
[[graph-run-layout]]
|
||||
=== Run and pause layout
|
||||
Graph uses a "force layout", where vertices behave like magnets,
|
||||
pushing off of one another. By default, when you add a new vertex to
|
||||
the graph, all vertices begin moving. In some cases, the movement might
|
||||
go on for some time. To freeze the current vertex position,
|
||||
Graph uses a "force layout", where vertices behave like magnets,
|
||||
pushing off of one another. By default, when you add a new vertex to
|
||||
the graph, all vertices begin moving. In some cases, the movement might
|
||||
go on for some time. To freeze the current vertex position,
|
||||
click the pause icon
|
||||
image:user/graph/images/graph-pause-button.png[Block selection]
|
||||
in the control panel.
|
||||
in the control panel.
|
||||
|
|
|
@ -13,7 +13,7 @@ image::user/monitoring/images/monitoring-beats.jpg["Monitoring Beats",link="imag
|
|||
|
||||
To view an overview of the Beats data in the cluster, click *Overview*. The
|
||||
overview page has a section for activity in the last day, which is a real-time
|
||||
sample of data. Below that, a summary bar and charts follow the typical paradigm
|
||||
sample of data. The summary bar and charts follow the typical paradigm
|
||||
of data in the Monitoring UI, which is bound to the span of the time filter in
|
||||
the top right corner of the page. This overview page can therefore show
|
||||
up-to-date or historical information.
|
||||
|
|
|
@ -10,10 +10,10 @@ Kibana spaces.
|
|||
==== Scenario
|
||||
|
||||
Our user is a web developer working on a bank's
|
||||
online mortgage service. The web developer has these
|
||||
online mortgage service. The web developer has these
|
||||
three requirements:
|
||||
|
||||
* Have access to the data for that service
|
||||
* Have access to the data for that service
|
||||
* Build visualizations and dashboards
|
||||
* Monitor the performance of the system
|
||||
|
||||
|
@ -24,28 +24,28 @@ You'll provide the web developer with the access and privileges to get the job d
|
|||
|
||||
To complete this tutorial, you'll need the following:
|
||||
|
||||
* **Administrative privileges**: You must have a role that grants privileges to create a space, role, and user. This is any role which grants the `manage_security` cluster privilege. By default, the `superuser` role provides this access. See the {ref}/built-in-roles.html[built-in] roles.
|
||||
* **A space**: In this tutorial, use `Dev Mortgage` as the space
|
||||
* **Administrative privileges**: You must have a role that grants privileges to create a space, role, and user. This is any role which grants the `manage_security` cluster privilege. By default, the `superuser` role provides this access. See the {ref}/built-in-roles.html[built-in] roles.
|
||||
* **A space**: In this tutorial, use `Dev Mortgage` as the space
|
||||
name. See <<spaces-managing, spaces management>> for
|
||||
details on creating a space.
|
||||
* **Data**: You can use <<tutorial-sample-data, sample data>> or
|
||||
live data. In the steps below, Filebeat and Metricbeat data are used.
|
||||
* **Data**: You can use <<tutorial-sample-data, sample data>> or
|
||||
live data. In the following steps, Filebeat and Metricbeat data are used.
|
||||
|
||||
[float]
|
||||
==== Steps
|
||||
|
||||
With the requirements in mind, here are the steps that you will work
|
||||
With the requirements in mind, here are the steps that you will work
|
||||
through in this tutorial:
|
||||
|
||||
* Create a role named `mortgage-developer`
|
||||
* Give the role permission to access the data in the relevant indices
|
||||
* Give the role permission to create visualizations and dashboards
|
||||
* Give the role permission to create visualizations and dashboards
|
||||
* Create the web developer's user account with the proper roles
|
||||
|
||||
[float]
|
||||
==== Create a role
|
||||
|
||||
Go to **Management > Roles**
|
||||
Go to **Management > Roles**
|
||||
for an overview of your roles. This view provides actions
|
||||
for you to create, edit, and delete roles.
|
||||
|
||||
|
@ -53,21 +53,21 @@ for you to create, edit, and delete roles.
|
|||
image::security/images/role-management.png["Role management"]
|
||||
|
||||
|
||||
You can create as many roles as you like. Click *Create role* and
|
||||
provide a name. Use `dev-mortgage` because this role is for a developer
|
||||
You can create as many roles as you like. Click *Create role* and
|
||||
provide a name. Use `dev-mortgage` because this role is for a developer
|
||||
working on the bank's mortgage application.
|
||||
|
||||
|
||||
[float]
|
||||
==== Give the role permission to access the data
|
||||
|
||||
Access to data in indices is an index-level privilege, so in
|
||||
*Index privileges*, add lines for the indices that contain the
|
||||
data for this role. Two privileges are required: `read` and
|
||||
`view_index_metadata`. All privileges are detailed in the
|
||||
Access to data in indices is an index-level privilege, so in
|
||||
*Index privileges*, add lines for the indices that contain the
|
||||
data for this role. Two privileges are required: `read` and
|
||||
`view_index_metadata`. All privileges are detailed in the
|
||||
https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html[security privileges] documentation.
|
||||
|
||||
In the screenshots, Filebeat and Metricbeat data is used, but you
|
||||
In the screenshots, Filebeat and Metricbeat data is used, but you
|
||||
should use the index patterns for your indices.
|
||||
|
||||
[role="screenshot"]
|
||||
|
@ -76,12 +76,12 @@ image::security/images/role-index-privilege.png["Index privilege"]
|
|||
[float]
|
||||
==== Give the role permission to create visualizations and dashboards
|
||||
|
||||
By default, roles do not give Kibana privileges. Click **Add space
|
||||
By default, roles do not give Kibana privileges. Click **Add space
|
||||
privilege** and associate this role with the `Dev Mortgage` space.
|
||||
|
||||
To enable users with the `dev-mortgage` role to create visualizations
|
||||
and dashboards, click *All* for *Visualize* and *Dashboard*. Also
|
||||
assign *All* for *Discover* because it is common for developers
|
||||
To enable users with the `dev-mortgage` role to create visualizations
|
||||
and dashboards, click *All* for *Visualize* and *Dashboard*. Also
|
||||
assign *All* for *Discover* because it is common for developers
|
||||
to create saved searches while designing visualizations.
|
||||
|
||||
[role="screenshot"]
|
||||
|
@ -90,15 +90,14 @@ image::security/images/role-space-visualization.png["Associate space"]
|
|||
[float]
|
||||
==== Create the developer's user account with the proper roles
|
||||
|
||||
Go to **Management > Users** and click on **Create user** to create a
|
||||
user. Give the user the `dev-mortgage` role
|
||||
Go to **Management > Users** and click on **Create user** to create a
|
||||
user. Give the user the `dev-mortgage` role
|
||||
and the `monitoring-user` role, which is required for users of **Stack Monitoring**.
|
||||
|
||||
[role="screenshot"]
|
||||
image::security/images/role-new-user.png["Developer user"]
|
||||
|
||||
Finally, have the developer log in and access the Dev Mortgage space
|
||||
Finally, have the developer log in and access the Dev Mortgage space
|
||||
and create a new visualization.
|
||||
|
||||
NOTE: If the user is assigned to only one space, they will automatically enter that space on login.
|
||||
|
||||
|
|
|
@ -324,7 +324,7 @@ replace `"url": "data/world-110m.json"` with
|
|||
`"url": "https://vega.github.io/editor/data/world-110m.json"`. Also,
|
||||
regular Vega examples use `"autosize": "pad"` layout model, whereas
|
||||
Kibana uses `fit`. Remove all `autosize`, `width`, and `height`
|
||||
values. See link:#sizing-and-positioning[sizing and positioning] below.
|
||||
values. See link:#sizing-and-positioning[sizing and positioning].
|
||||
|
||||
[[vega-additional-configuration-options]]
|
||||
==== Additional configuration options
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue