Entity Groups Expression Functions
Reference
collection
hasProperty
list
likeAll
likeAny
matches
startsWithAny
collection_contains
collection_intersects
upper
lower
property
properties
property_values
hasMetric
memberOf
memberOfAll
entity_tags
contains
size
isEmpty
IN
collection
collection(string s) [string]
Returns an array of strings which have been loaded with the specified string s
.
The named collections are listed on the Data > Named Collections page.
To check the size of the collection, use the .size()
method.
To access the n-th element in the collection, use square brackets as in [index]
or the get(index)
method (starting with 0 for the first element).
label = collection('hosts')[0]
tags.request_ip = collection('ip_white_list').get(1)
list
list(string s[, string p]) [string]
Splits string s
using separator p
(default is comma ',') into a collection of string values. The function discards duplicate items by preserving only the first occurrence of each element.
To access the n-th element in the collection, use square brackets as in [index]
or the get(index)
method (starting with 0 for the first element).
Examples:
name = list('atsd,nurswgvml007').get(0)
likeAll
likeAll(object s, [string] c) boolean
Returns true
, if the first argument s
matches every element in the collection of patterns c
. The collection c
can be specified inline as an array of strings or reference a named collection.
Examples:
likeAll(tags.request_ip, ['192.0.*', '192.0.2.?'])
likeAny
likeAny(object s, [string] c) boolean
Returns true
, if the first argument s
matches at least one element in the collection of patterns c
. The collection c
can be specified inline as an array of strings or reference a named collection.
Examples:
likeAny(tags.os, ['Ubuntu*', 'CentOS*'])
likeAny(tags.request_ip, collection('ip_white_list'))
matches
matches(string p, [string] c) boolean
Returns true
if one of the collection c
elements matches (satisfies) the specified pattern p
.
The pattern supports ?
and *
wildcards.
Example:
matches('*atsd*', property_values('docker.container::image'))
startsWithAny
startsWithAny(object s, [string] c) boolean
Returns true
, if the first argument s
starts with any of strings from collection c
. The collection c
can be specified inline as an array of strings or reference a named collection.
Examples:
startsWithAny(name, ['a', 'nur'])
collection_contains
collection_contains(object v, [] c) boolean
Returns true
, if collection c
contains object v
. The collection c
can be specified inline as an array of strings or reference a named collection.
Examples:
NOT collection_contains(tags, [entity_tags('nurswgvml007')])
collection_intersects
collection_intersects([] f, [] s) boolean
Returns true
, if collection f
has elements in common with collection s
. The collections can be specified inline as an arrays of strings or reference a named collections.
Examples:
collection_intersects(tags.values(), collection('ip_white_list'))
upper
upper(string s) string
Converts s
to uppercase letters.
lower
lower(string s) string
Converts s
to lowercase letters.
property
property([string e, ]string s) string
Returns the first value in the list of strings returned by the property_values(string s)
function for the specified property search expression s
and entity e
.
The function returns an empty string if no matching property records are found.
Examples:
property('docker.container::image') = 'axibase/collector:latest'
// OR
property(name, 'docker.container::image') = 'axibase/collector:latest'
name = property('nurswgvml007', 'docker.container::image')
property('nurswgvml007','cpu::cpu.idle%') < property('cpu::cpu.idle%')
properties
properties(string t) map
Returnstag=value
map for property type t
. Tag value can be accessed via the dot notation.
Examples:
properties('docker.container').image LIKE 'axibase/*'
NOT properties('docker.container').isEmpty()
property_values
property_values([string e, ]string s) [string]
Returns a list of property tag values for the given entity for the specified property search expression s
.
The function returns an empty list if the entity, property or tag is not found.
Examples:
name IN property_values('nurswgvml007', 'docker.container::image')
property_values('linux.disk:fstype=ext4:mount_point').contains('/')
hasProperty
hasProperty(string t) boolean
Returns true
if the checked entity has property type t
. Returns the same result as properties(t).size() > 0
.
Examples:
hasProperty('docker.container')
hasMetric
hasMetric(string m[, integer n]) boolean
Returns true
if the entity collects the specified metric m
, regardless of tags.
If the optional hours n
argument is specified, only rows inserted for the last n
hours are evaluated.
Examples:
hasMetric('mpstat.cpu_busy')
hasMetric('mpstat.cpu_busy', 24*7)
memberOf
memberOf(string|[string] g) boolean
Returns true
if an entity belongs to at least one of the specified entity groups.
Examples:
memberOf('all-linux-servers')
memberOf(['aws-ec2', 'aws-ebs'])
memberOf(collection('groups'))
memberOfAll
memberOfAll([string] g) boolean
Returns true
if an entity belongs to every of the specified entity groups.
Examples:
memberOfAll(['aws-ec2', 'aws-ebs'])
memberOfAll(collection('groups'))
entity_tags
entity_tags(string e) map
Returns entity tags for entity e
as a map.
If the entity is not found, an empty map is returned.
Examples:
entity_tags(name).file_system='ext4'
contains
[string].contains(string s) boolean
Returns true
if s
is contained in the collection.
Example:
collection('ip_white_list').contains(tags.request_ip)
size
[].size() integer
Returns the number of elements in the collection.
TIP
This function can be applied to collections of any type (string, number) as well as to maps.
Examples:
collection('ip_white_list').size()
isEmpty
[].isEmpty() boolean
Returns true
if the number of elements in the collection is zero.
TIP
This function can be applied to collections of any type (string, number) as well as to maps.
Example:
collection('ip_white_list').isEmpty()
IN
string s IN (string a[, string b[...]]) boolean
Returns true
if s
is contained in the collection of strings enclosed in round brackets.
Examples:
name IN ('nurswgvml007', 'nurswgvml008')
tags.location IN ('NUR', 'SVL')