45 lines
1.4 KiB
Plaintext
45 lines
1.4 KiB
Plaintext
|
{
|
||
|
/**
|
||
|
* Returns a new condition of alert of graph panel.
|
||
|
* Currently the only condition type that exists is a Query condition
|
||
|
* that allows to specify a query letter, time range and an aggregation function.
|
||
|
*
|
||
|
* @param evaluatorParams Value of threshold
|
||
|
* @param evaluatorType Type of threshold
|
||
|
* @param operatorType Operator between conditions
|
||
|
* @param queryRefId The letter defines what query to execute from the Metrics tab
|
||
|
* @param queryTimeStart Begging of time range
|
||
|
* @param queryTimeEnd End of time range
|
||
|
* @param reducerParams Params of an aggregation function
|
||
|
* @param reducerType Name of an aggregation function
|
||
|
* @return A json that represents a condition of alert
|
||
|
*/
|
||
|
new(
|
||
|
evaluatorParams=[],
|
||
|
evaluatorType='gt',
|
||
|
operatorType='and',
|
||
|
queryRefId='A',
|
||
|
queryTimeEnd='now',
|
||
|
queryTimeStart='5m',
|
||
|
reducerParams=[],
|
||
|
reducerType='avg',
|
||
|
)::
|
||
|
{
|
||
|
evaluator: {
|
||
|
params: if std.type(evaluatorParams) == 'array' then evaluatorParams else [evaluatorParams],
|
||
|
type: evaluatorType,
|
||
|
},
|
||
|
operator: {
|
||
|
type: operatorType,
|
||
|
},
|
||
|
query: {
|
||
|
params: [queryRefId, queryTimeStart, queryTimeEnd],
|
||
|
},
|
||
|
reducer: {
|
||
|
params: if std.type(reducerParams) == 'array' then reducerParams else [reducerParams],
|
||
|
type: reducerType,
|
||
|
},
|
||
|
type: 'query',
|
||
|
},
|
||
|
}
|