===== Notifications ====== The [[uls:testsuite:version_180:continuous_values]] send well defined values of all different value types and derived value types to the ULS-server. Threshold definitions are used to trigger notifications. Use manual analysis and reports to check the correct firing of notifications. ----- ==== Variations of Notifications ==== * all different **datatypes**: * numeric * integers * float, float (unit: %), float (unit: [E]) ((si-unit based recalculation)) * string * images and files * all different threshold **definition types** (explicit, domain-based, group-based): * limits * limits combined over different details (combi-limits) * isAlive * limits on aggregated values * notification **destinations** * UTT (ULS Ticket Tracking) * e-Mail ----- ==== Notification Parameters for Limits ==== These are the parameters (entries in the definition form) to define threshold limits on values of a detail. * average function * last, min, max, max-min, last-first, first * avg (average, arithmetic mean), sum (sum of all values), dev (standard deviation), count, grad (gradient), accel (acceleration), differ (difference) * over * number of values * time interval (minutes, hours, days) * comparison * %% < <| <= <=| > >| >= >=| = =| != !=| %% value is compared to limit (type conversion) * %% == ==| !== !==| %% value is compared to limit (no type conversion, always string comparison) * %% ~~ ~~| !~~ !~~| %% value contains limit as substring * %% ~ !~ ~| !~| %% value matches regular expression as limit * notification level * info * if the value drops below (or whatever comparison is defined) info level, the notify mode black-out is cleared * warn * error * notify mode * collect (over 10 minutes, string only), every value, 1h, 12h, 24h * message * message body with replaced static and dynamically calculated embedded placeholders and functions * placeholders: AVERAGEOVER, COMPARE, DETAIL, LIMIT, SECTION, SERVER, TESTSTEP, UNIT, VALUE * functions: AVERAGE_OF, COUNT_OF, DIFF_OF, DIFFER_OF, FIRST_OF, GRAD_OF, GRADIENT, LAST_OF, LAST-FIRST_OF, MAX_OF, MAX-MIN_OF, MIN_OF, PREDICTION, REGCOUNT, STD_OF, SUM_OF, VALUE_OF * destination * UTT, e-mail, IWF in different states * active * on/off ----- ==== General Message Body ==== NOTE: the message bodies may differ in contents for different value types (numeric, string, file)! This is the general message body for limits on numerical values: MSG xxx: limit notification for [$DOMAIN - $SERVER - $SECTION - $TESTSTEP - $DETAIL] triggered. Value [$VALUE '$UNIT'], [$TIMESTAMP]. Determined as [$FUNCTION] over [$AVERAGEOVER] values, compared by [$COMPARE] with limit [$LIMIT]. Last value: [$LASTVALUE], [$LASTDATE], timestamp when saved: [$SAVEDATE]. Previous value: [$PREVVALUE], [$PREVDATE]. average_of....: $AVERAGE_OF(detail/unit, range) count_of......: $COUNT_OF(detail/unit, range) dev_of........: $DEV_OF(detail/unit, range) differ_of.....: $DIFFER_OF(detail/unit, range) first_of......: $FIRST_OF(detail/unit, range) grad_of.......: $GRAD_OF(detail/unit, range) last_of.......: $LAST_OF(detail/unit, range) last-first_of.: $LAST-FIRST_OF(detail/unit, range) max_of........: $MAX_OF(detail/unit, range) max-min_of....: $MAX-MIN_OF(detail/unit, range) min_of........: $MIN_OF(detail/unit, range) prediction....: $PREDICTION(detail/unit, time_future [, time_past]) sum_of........: $SUM_OF(detail/unit, range) value_of......: $VALUE_OF(detail/unit) unit_of.......: '$UNIT_OF(detail/unit)' This is the general message body for limits on string values: MSG xxx: limit notification for [$DOMAIN - $SERVER - $SECTION - $TESTSTEP - $DETAIL] triggered. Value [$VALUE '$UNIT'], [$TIMESTAMP]. Determined as [$FUNCTION] over [$AVERAGEOVER] values, compared by [$COMPARE] with limit [$LIMIT]. Last value: [$LASTVALUE], [$LASTDATE], timestamp when saved: [$SAVEDATE]. Previous value: [$PREVVALUE], [$PREVDATE]. count_of......: $COUNT_OF(detail/unit, range) differ_of.....: $DIFFER_OF(detail/unit, range) first_of......: $FIRST_OF(detail/unit, range) last_of.......: $LAST_OF(detail/unit, range) max_of........: $MAX_OF(detail/unit, range) min_of........: $MIN_OF(detail/unit, range) regcount......: $REGCOUNT(detail/unit, regexp, range) value_of......: $VALUE_OF(detail/unit) unit_of.......: '$UNIT_OF(detail/unit)' This is the general message body for limits on LOB values: MSG xxx: limit notification for [$DOMAIN - $SERVER - $SECTION - $TESTSTEP - $DETAIL] triggered. Value [$VALUE '$UNIT'], [$TIMESTAMP]. Determined as [$FUNCTION] over [$AVERAGEOVER] values, compared by [$COMPARE] with limit [$LIMIT]. Last value: [$LASTVALUE], [$LASTDATE], timestamp when saved: [$SAVEDATE]. Previous value: [$PREVVALUE], [$PREVDATE]. count_of......: $COUNT_OF(detail/unit, range) dev_of........: $DEV_OF(detail/unit, range) differ_of.....: $DIFFER_OF(detail/unit, range) size_of.......: $SIZE_OF(detail/unit) Use time range (like '10m'), not numeric range (number of values). It works faster by factors. The unit for images and files is IMAGE or BLOB. This is the general message body for isAlive messages: MSG xxx: isAlive notification for [$DOMAIN - $SERVER - $SECTION - $TESTSTEP - $DETAIL] triggered. Timestamp [$TIMESTAMP] of value [$VALUE '$UNIT'] is older than [$TIMEDIFF $TIMEDIFFUNIT] compared to [$TIMELIMIT]. Last value: [$LASTVALUE], [$LASTDATE], timestamp when saved: [$SAVEDATE]. Previous value: [$PREVVALUE], [$PREVDATE]. This is the general message body for combined limits messages: MSG xxx: combined limit notification for [$DOMAIN - $SERVER - $SECTION - $TESTSTEP] triggered. Determined as [$FUNCTION]. ----- ==== Notification Scenarios ==== ----- === group auto limits, differ, every value === (These tests are: NTFY 01x) As user "AmieAction" set group-auto-limits for group "Databasics", on: * 200 Continuous Hourly Values * 210 Integer Values * Steps '[#]' * go to //administration -> limits -> group autolimits -> Databasics// {| ! detail: | Steps |- ! average | differ |- ! over | 2 |- ! compare | != |- ! info | 0 |- ! notify mode | every value |- ! message | MSG 010: limit notification for [$DOMAIN - $SERVER - $SECTION - $TESTSTEP - $DETAIL] triggered. Value [$VALUE '$UNIT'], [$TIMESTAMP]. Determined as [$FUNCTION] over [$AVERAGEOVER] values, compared by [$COMPARE] with limit [$LIMIT]. Last value: [$LASTVALUE], [$LASTDATE], timestamp when saved: [$SAVEDATE]. Previous value: [$PREVVALUE], [$PREVDATE]. average_of....: $AVERAGE_OF(Steps/[#], 1h) count_of......: $COUNT_OF(Steps/[#], 1h) dev_of........: $DEV_OF(Steps/[#], 1h) differ_of.....: $DIFFER_OF(Steps/[#], 1h) first_of......: $FIRST_OF(Steps/[#], 1h) grad_of.......: $GRAD_OF(Steps/[#], 1h) last_of.......: $LAST_OF(Steps/[#], 1h) last-first_of.: $LAST-FIRST_OF(Steps/[#], 1h) max_of........: $MAX_OF(Steps/[#], 1h) max-min_of....: $MAX-MIN_OF(Steps/[#], 1h) min_of........: $MIN_OF(Steps/[#], 1h) prediction....: $PREDICTION(Steps/[#], 1h) sum_of........: $SUM_OF(Steps/[#], 1h) value_of......: $VALUE_OF(Steps/[#], 1h) unit_of.......: '$UNIT_OF(Steps/[#], 1h)' |- ! destination | UTT:UTT Databasics |- ! active | [x] |} Verify, that the definition is properly propagated: * go to //main menu -> yesterday -> ULS -> testsrv12 -> 200 Continuous Hourly Values -> 210 Integer Values// * click on {{:uls:testsuite:version_180:limits_button.png|}} {| ! Test ! Description ! Result ! Notes |- | NTFY 010 | group-auto-limit, differ, numeric, definition and propagation of group auto limits | style="color:green" | passed | |} That limit should fire three notifications per hour (xx:04, xx:24, xx:44). Verify that e.g. the next day: * go to //main menu -> yesterday -> ULS -> testsrv12 -> @notifications -> limits// There should be a lot of entries (timestamp and uttid will obviously be different): {| ! timestamp ! URL ! destination ! level ! condition violation ! message ! uttid |- | 2014-03-02 23:44:04 | 200 Continuous Hourly Values 210 Integer Values Steps | UTT:UTT Databasics :Databasics | INFO | 1 != 0 | MSG 010: limit notification for [ULS - testsrv12 - 200 Continuous Hourly Values - 210 Integer Values - Steps] triggered. Value [1 '[#]'], [2014-03-02 23:41:00]. Determined as [differ] over [2] values, compared by [!=] with limit [0]. Last value: [1], [2014-03-02 23:44:00], timestamp when saved: [2014-03-02 23:44:02]. Previous value: [-1], [2014-03-02 23:40:00]. average_of....: -0 count_of......: 60 dev_of........: 0.812855745674985 differ_of.....: 0 first_of......: 1 grad_of.......: -1.818838566268408 last_of.......: 1 last-first_of.: 0 max_of........: 1 max-min_of....: 2 min_of........: -1 prediction....: sum_of........: -1 value_of......: 1 unit_of.......: '[#]' | 1503 |- | 2014-03-02 23:24:03 | 200 Continuous Hourly Values 210 Integer Values Steps | UTT:UTT Databasics :Databasics | INFO | 1 != 0 | MSG 010: limit notification for [ULS - testsrv12 - 200 Continuous Hourly Values - 210 Integer Values - Steps] triggered. Value [1 '[#]'], [2014-03-02 23:21:00]. Determined as [differ] over [2] values, compared by [!=] with limit [0]. Last value: [-1], [2014-03-02 23:24:00], timestamp when saved: [2014-03-02 23:24:01]. Previous value: [0], [2014-03-02 23:20:00]. average_of....: -0 count_of......: 60 dev_of........: 0.8128557456749851 differ_of.....: 0 first_of......: -1 grad_of.......: 0.5151430953042512 last_of.......: -1 last-first_of.: 0 max_of........: 1 max-min_of....: 2 min_of........: -1 prediction....: sum_of........: -1 value_of......: -1 unit_of.......: '[#]' | 1499 |- | 2014-03-02 23:04:04 | 200 Continuous Hourly Values 210 Integer Values Steps | UTT:UTT Databasics :Databasics | INFO | 1 != 0 | MSG 010: limit notification for [ULS - testsrv12 - 200 Continuous Hourly Values - 210 Integer Values - Steps] triggered. Value [1 '[#]'], [2014-03-02 23:00:00]. Determined as [differ] over [2] values, compared by [!=] with limit [0]. Last value: [0], [2014-03-02 23:04:00], timestamp when saved: [2014-03-02 23:04:02]. Previous value: [1], [2014-03-02 22:59:00]. average_of....: -0 count_of......: 60 dev_of........: 0.8128557456749851 differ_of.....: 0 first_of......: 0 grad_of.......: 1.2486801889413726 last_of.......: 0 last-first_of.: 0 max_of........: 1 max-min_of....: 2 min_of........: -1 prediction....: sum_of........: -1 value_of......: 0 unit_of.......: '[#]' | 1498 |- | ... | ... | ... | ... | ... | ... | ... |} {| ! Test ! Description ! Result ! Notes |- | NTFY 012 | group-auto-limit, differ, numeric, group auto limits notifications fired | style="color:green" | passed | |} As user "AmieAction" change the group auto limit for group "Databasics" and verify the changes: * go to //administration -> limits -> group autolimits -> Databasics// * change only the body of the message (sequence of functions) {| ! detail: | Steps |- ! average | differ |- ! over | 2 |- ! compare | != |- ! info | 0 |- ! notify mode | every value |- ! message | MSG 010: limit notification for [$DOMAIN - $SERVER - $SECTION - $TESTSTEP - $DETAIL] triggered. Value [$VALUE '$UNIT'], [$TIMESTAMP]. Determined as [$FUNCTION] over [$AVERAGEOVER] values, compared by [$COMPARE] with limit [$LIMIT]. Last value: [$LASTVALUE], [$LASTDATE], timestamp when saved: [$SAVEDATE]. Previous value: [$PREVVALUE], [$PREVDATE]. count_of......: $COUNT_OF(Steps/[#], 1h) sum_of........: $SUM_OF(Steps/[#], 1h) average_of....: $AVERAGE_OF(Steps/[#], 1h) dev_of........: $DEV_OF(Steps/[#], 1h) differ_of.....: $DIFFER_OF(Steps/[#], 1h) first_of......: $FIRST_OF(Steps/[#], 1h) grad_of.......: $GRAD_OF(Steps/[#], 1h) last_of.......: $LAST_OF(Steps/[#], 1h) last-first_of.: $LAST-FIRST_OF(Steps/[#], 1h) max_of........: $MAX_OF(Steps/[#], 1h) max-min_of....: $MAX-MIN_OF(Steps/[#], 1h) min_of........: $MIN_OF(Steps/[#], 1h) prediction....: $PREDICTION(Steps/[#], 1h) value_of......: $VALUE_OF(Steps/[#], 1h) unit_of.......: '$UNIT_OF(Steps/[#], 1h)' |- ! destination | UTT:UTT Databasics |- ! active | [x] |} Verify, that the definition is properly propagated: * go to //main menu -> today -> ULS -> testsrv12 -> 200 Continuous Hourly Values -> 210 Integer Values// * click on {{:uls:testsuite:version_180:limits_button.png|}} * verify the applied changes * go to //main menu -> today -> ULS -> testsrv12 -> @notifications -> limits// * verify the changed message body {| ! Test ! Description ! Result ! Notes |- | NTFY 014 | group-auto-limit, differ, numeric, group auto limits changed and effectively applied | style="color:green" | passed | |} Disable the group auto limit: * go to //administration -> limits -> group autolimits -> Databasics// * deactivate the definition (for detail "Steps") Verify that no more notifications are fired: * go to //main menu -> today -> ULS -> testsrv12 -> @notifications -> limits// * remember: three notifications per hour (xx:04, xx:24, xx:44) {| ! Test ! Description ! Result ! Notes |- | NTFY 016 | group-auto-limit, differ, numeric, group auto limits notifications disabled | style="color:green" | passed | |} You may now work on the generated tickets or continue with more notifications. ----- === auto limits (domain), greater equal, 12h === (These tests are: NTFY 02x) As user "SystematicGuy" set auto-limits for domain "Woodlark" on: * 300 Continuous Daily Values / 320 Float Values / Percentage '%', matches only testsrv22. Go to //administration -> limits -> set auto limits// (domain "Woodlark" is chosen automatically). {| ! server: | |- ! section: | 300* |- ! teststep: | |- ! detail: | Percentage |- ! average | avg |- ! over | 10 |- ! compare | >= |- ! warn | 95 |- ! notify mode | 12h |- ! message | MSG 020: limit notification for [$DOMAIN - $SERVER - $SECTION - $TESTSTEP - $DETAIL] triggered. Value [$VALUE '$UNIT'], [$TIMESTAMP]. Determined as [$FUNCTION] over [$AVERAGEOVER] values, compared by [$COMPARE] with limit [$LIMIT]. Last value: [$LASTVALUE], [$LASTDATE], timestamp when saved: [$SAVEDATE]. Previous value: [$PREVVALUE], [$PREVDATE]. average_of....: $AVERAGE_OF(Percentage/%, 24h) count_of......: $COUNT_OF(Percentage/%, 24h) dev_of........: $DEV_OF(Percentage/%, 24h) differ_of.....: $DIFFER_OF(Percentage/%, 24h) first_of......: $FIRST_OF(Percentage/%, 24h) grad_of.......: $GRAD_OF(Percentage/%, 24h) last_of.......: $LAST_OF(Percentage/%, 24h) last-first_of.: $LAST-FIRST_OF(Percentage/%, 24h) max_of........: $MAX_OF(Percentage/%, 24h) max-min_of....: $MAX-MIN_OF(Percentage/%, 24h) min_of........: $MIN_OF(Percentage/%, 24h) prediction....: $PREDICTION(Percentage/%, 1h, 1h) sum_of........: $SUM_OF(Percentage/%, 24h) value_of......: $VALUE_OF(Percentage/%) unit_of.......: '$UNIT_OF(Percentage/%)' |- ! destination | UTT:UTT Systemaniacs |- ! active | [x] |} Verify, that the definition is properly propagated: * go to //main menu -> today -> Woodlark -> testsrv22 -> 300 Continuous Daily Values -> 320 Float Values// * click on {{:uls:testsuite:version_180:limits_button.png|}} {| ! Test ! Description ! Result ! Notes |- | NTFY 020 | auto limits (domain), greater equal, 12h: definition and propagation | style="color:green" | passed | |} Description (the timing may differ by several minutes): * Percentage is a sine wave, 80..100..60..80. Needs a day for a complete curve. * Limit is violated at some values after 95 (avg 10), at 04:14. * At around 10:15 the values will fall below limit, * re-notification shall take place after 12h, so nothing may happen at 16:10. * Next notification at the next day at 04:14. That limit should fire one notifications each day at 04:14. Verify that e.g. the next day and the following days: * go to //main menu -> for 7 days -> Woodlark -> testsrv22 -> @notifications -> limits// {| ! timestamp ! URL ! destination ! level ! condition violation ! message ! uttid |- | 2014-03-03 04:14:04 | 300 Continuous Daily Values 320 Float Values Percentage | UTT:UTT Systemaniacs:Systemaniacs | WARN | 95.475479 >= 95 | MSG 020: limit notification for [Woodlark - testsrv22 - 300 Continuous Daily Values - 320 Float Values - Percentage] triggered. Value [95.475479 '%'], [2014-03-03 04:10:00]. Determined as [avg] over [10] values, compared by [>=] with limit [95]. Last value: [97.7402166635644], [2014-03-03 04:10:00], timestamp when saved: [2014-03-03 04:10:02]. Previous value: [97.3205080], [2014-03-03 04:00:00]. average_of....: 79.99999995 count_of......: 144 dev_of........: 14.191497507192564 differ_of.....: 1 first_of......: 98.1261557 grad_of.......: -0.7040141085748833 last_of.......: 97.7402166 last-first_of.: -0.38593910000000164 max_of........: 100 max-min_of....: 40 min_of........: 60 prediction....: 100.8945304948003 sum_of........: 11519.999993200001 value_of......: 97.7402166 unit_of.......: '%' | 3029 |} The above notification must appear each day. {| ! Test ! Description ! Result ! Notes |- | NTFY 022 | auto limits (domain), greater equal, 12h: notifications fired | style="color:green" | passed | |} Disable the domain auto limit: * go to //administration -> limits -> set auto limits// * deactivate the definition Verify, that the deactivation is properly propagated: * go to //main menu -> today -> Woodlark -> testsrv22 -> 300 Continuous Daily Values -> 320 Float Values// * click on {{:uls:testsuite:version_180:limits_button.png|}} * the effective limit definition must be active {| ! Test ! Description ! Result ! Notes |- | NTFY 024 | auto limits (domain), greater equal, 12h: deactivation properly propagated | style="color:green" | passed | |} Verify during the next days that no more notifications are fired: * go to //main menu -> for 7 days -> Woodlark -> testsrv22 -> @notifications -> limits// * no more notifications (04:14 every day) {| ! Test ! Description ! Result ! Notes |- | NTFY 026 | auto limits (domain), greater equal, 12h: notifications disabled | style="color:green" | passed | |} You may now work on the generated tickets or continue with more notifications. ----- === manual limits, substring + collect, regular expression + every value === (These tests are: NTFY 03x) As user "SystematicGuy" try to set limits for domain "ULS": * go to //main menu -> today -> ULS -> testsrv11 -> 200 Continuous Hourly Values -> 230 Text Expressions// * click on {{:uls:testsuite:version_180:limits_button.png?nolink|}} Verify that **no** limits can be defined. Possibly existing limits are shown only. {| ! Test ! Description ! Result ! Notes |- | NTFY 030 | manual limits, substring + collect, regular expression + every value: defined read-only rights on domain ULS do work | style="color:green" | passed | |} As user "SystematicGuy" define the first limit: * go to //main menu -> today -> Woodlark -> testsrv21 -> 200 Continuous Hourly Values -> 230 Text Expressions// * click on {{:uls:testsuite:version_180:limits_button.png?nolink|}} {| ! detail: | Proportional Expression |- ! average | last |- ! over | 1 |- ! compare | %%~|%% |- ! error | %%^v{5}|v{10}$%% |- ! notify mode | every value |- ! message | MSG 030: limit notification for [$DOMAIN - $SERVER - $SECTION - $TESTSTEP - $DETAIL] triggered. Value [$VALUE '$UNIT'], [$TIMESTAMP]. Determined as [$FUNCTION] over [$AVERAGEOVER] values, compared by [$COMPARE] with limit [$LIMIT]. Last value: [$LASTVALUE], [$LASTDATE], timestamp when saved: [$SAVEDATE]. Previous value: [$PREVVALUE], [$PREVDATE]. count_of......: $COUNT_OF(Proportional Expression, 1h) (60) differ_of.....: $DIFFER_OF(Proportional Expression, 1h) (1) first_of......: $FIRST_OF(Proportional Expression, 1h) (w v x | V U W | 1 Z 2) last_of.......: $LAST_OF(Proportional Expression, 1h) (v u w | U T V | Z Y 1) max_of........: $MAX_OF(Proportional Expression, 1h) (z y A) min_of........: $MIN_OF(Proportional Expression, 1h) (1 Z 2) regcount......: $REGCOUNT(Proportional Expression, c.b, 1h) (2) value_of......: $VALUE_OF(Proportional Expression, 1h) (u t v | v u w | U T V | V U W) unit_of.......: '$UNIT_OF(Proportional Expression, 1h)' (blank) |- ! destination | UTT:UTT Systemaniacs |- ! active | [x] |} Define the second limit right below in the same form: {| ! detail: | proportional expressions separated by blank line for same time stamp |- ! average | last |- ! over | 1 |- ! compare | %%~~|%% |- ! info | vvvvv |- ! notify mode | collect |- ! message | MSG 031: limit notification for [$DOMAIN - $SERVER - $SECTION - $TESTSTEP - $DETAIL] triggered. Value [$VALUE '$UNIT'], [$TIMESTAMP] (up to 10 minutes before timestamp of notification). Determined as [$FUNCTION] over [$AVERAGEOVER] values, compared by [$COMPARE] with limit [$LIMIT]. Last value: [$LASTVALUE], [$LASTDATE], timestamp when saved: [$SAVEDATE]. Previous value: [$PREVVALUE], [$PREVDATE]. count_of......: $COUNT_OF(proportional expressions separated by blank line for same time stamp, 1h) (180) differ_of.....: $DIFFER_OF(proportional expressions separated by blank line for same time stamp, 1h) (0) first_of......: $FIRST_OF(proportional expressions separated by blank line for same time stamp, 1h) (G 6) last_of.......: $LAST_OF(proportional expressions separated by blank line for same time stamp, 1h) (G 6) max_of........: $MAX_OF(proportional expressions separated by blank line for same time stamp, 1h) (Z z) min_of........: $MIN_OF(proportional expressions separated by blank line for same time stamp, 1h) (1) regcount......: $REGCOUNT(proportional expressions separated by blank line for same time stamp, y.*y, 1h) (6) value_of......: $VALUE_OF(proportional expressions separated by blank line for same time stamp, 1h) (u t v | v u w | w v x | U T V | V U W | W V X) unit_of.......: '$UNIT_OF(proportional expressions separated by blank line for same time stamp, 1h)' ('[N]') |- ! destination | UTT:UTT Systemaniacs |- ! active | [x] |} Verify that notifications are fired, wait for at least one whole hour: * go to //main menu -> yesterday -> Woodlark -> testsrv21 -> @notifications -> limits// "MSG 030" (regular expression + every value) should have fired (test_limits on the ULS-server **MUST** be executed at */5) * two times at xx:29:04 (the seconds may differ) * once at xx:54:04 * once at xx:59:04 The messages should look like the following table. Use //auto ext. details selection// (extended auto details selection) and specify (some of them are already prefilled): {| ! domaines | Woodlark |- ! server | testsrv21 |- ! sections | @notifications |- ! teststeps | limits |- ! detail | message |} Further down: {| ! filter column ! comparison ! expression |- | message | ~ | MSG 030 |} Date and hour in message will differ, pay attention to the chronological order used here: {| ! timestamp ! message |- | yyyy-mm-dd hh:29:ss | MSG 030: limit notification for [Woodlark - testsrv21 - 200 Continuous Hourly Values - 230 Text Expressions - Proportional Expression] triggered. Value [uuuuuuuuuuuuuuuuuuuu tttttttttttttttttttt vvvvvvvvvvvvvvvvvvvv ' '], [2014-03-13 23:28:00]. Determined as [last] over [1] values, compared by [~|] with limit [^v{5}|v{10}$]. Last value: [vvvvvvvvvvvvvvvvvvvv uuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwww], [2014-03-13 23:29:00], timestamp when saved: [2014-03-13 23:29:02]. Previous value: [tttttttttttttttttttt ssssssssssssssssssss uuuuuuuuuuuuuuuuuuuu], [2014-03-13 23:27:00]. count_of......: 60 (60) differ_of.....: 1 (1) first_of......: wwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvv xxxxxxxxxxxxxxxxxxxx (w v x | V U W | 1 Z 2) last_of.......: vvvvvvvvvvvvvvvvvvvv uuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwww (v u w | U T V | Z Y 1) max_of........: zzzzzzzzzzzzzzzzzzzz yyyyyyyyyyyyyyyyyyyy AAAAAAAAAAAAAAAAAAAA (z y A) min_of........: 11111111111111111111 ZZZZZZZZZZZZZZZZZZZZ 22222222222222222222 (1 Z 2) regcount......: 2 (2) value_of......: uuuuuuuuuuuuuuuuuuuu tttttttttttttttttttt vvvvvvvvvvvvvvvvvvvv (u t v | v u w | U T V | V U W) unit_of.......: ' ' (blank) |- | yyyy-mm-dd hh:29:ss | MSG 030: limit notification for [Woodlark - testsrv21 - 200 Continuous Hourly Values - 230 Text Expressions - Proportional Expression] triggered. Value [vvvvvvvvvvvvvvvvvvvv uuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwww ' '], [2014-03-13 23:29:00]. Determined as [last] over [1] values, compared by [~|] with limit [^v{5}|v{10}$]. Last value: [vvvvvvvvvvvvvvvvvvvv uuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwww], [2014-03-13 23:29:00], timestamp when saved: [2014-03-13 23:29:02]. Previous value: [uuuuuuuuuuuuuuuuuuuu tttttttttttttttttttt vvvvvvvvvvvvvvvvvvvv], [2014-03-13 23:28:00]. count_of......: 60 (60) differ_of.....: 1 (1) first_of......: wwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvv xxxxxxxxxxxxxxxxxxxx (w v x | V U W | 1 Z 2) last_of.......: vvvvvvvvvvvvvvvvvvvv uuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwww (v u w | U T V | Z Y 1) max_of........: zzzzzzzzzzzzzzzzzzzz yyyyyyyyyyyyyyyyyyyy AAAAAAAAAAAAAAAAAAAA (z y A) min_of........: 11111111111111111111 ZZZZZZZZZZZZZZZZZZZZ 22222222222222222222 (1 Z 2) regcount......: 2 (2) value_of......: vvvvvvvvvvvvvvvvvvvv uuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwww (u t v | v u w | U T V | V U W) unit_of.......: ' ' (blank) |- | yyyy-mm-dd hh:54:ss | MSG 030: limit notification for [Woodlark - testsrv21 - 200 Continuous Hourly Values - 230 Text Expressions - Proportional Expression] triggered. Value [UUUUUUUUUUUUUUUUUUUU TTTTTTTTTTTTTTTTTTTT VVVVVVVVVVVVVVVVVVVV ' '], [2014-03-13 23:54:00]. Determined as [last] over [1] values, compared by [~|] with limit [^v{5}|v{10}$]. Last value: [UUUUUUUUUUUUUUUUUUUU TTTTTTTTTTTTTTTTTTTT VVVVVVVVVVVVVVVVVVVV], [2014-03-13 23:54:00], timestamp when saved: [2014-03-13 23:54:01]. Previous value: [TTTTTTTTTTTTTTTTTTTT SSSSSSSSSSSSSSSSSSSS UUUUUUUUUUUUUUUUUUUU], [2014-03-13 23:53:00]. count_of......: 60 (60) differ_of.....: 1 (1) first_of......: VVVVVVVVVVVVVVVVVVVV UUUUUUUUUUUUUUUUUUUU WWWWWWWWWWWWWWWWWWWW (w v x | V U W | 1 Z 2) last_of.......: UUUUUUUUUUUUUUUUUUUU TTTTTTTTTTTTTTTTTTTT VVVVVVVVVVVVVVVVVVVV (v u w | U T V | Z Y 1) max_of........: zzzzzzzzzzzzzzzzzzzz yyyyyyyyyyyyyyyyyyyy AAAAAAAAAAAAAAAAAAAA (z y A) min_of........: 11111111111111111111 ZZZZZZZZZZZZZZZZZZZZ 22222222222222222222 (1 Z 2) regcount......: 2 (2) value_of......: UUUUUUUUUUUUUUUUUUUU TTTTTTTTTTTTTTTTTTTT VVVVVVVVVVVVVVVVVVVV (u t v | v u w | U T V | V U W) unit_of.......: ' ' (blank) |- | yyyy-mm-dd hh:59:ss | MSG 030: limit notification for [Woodlark - testsrv21 - 200 Continuous Hourly Values - 230 Text Expressions - Proportional Expression] triggered. Value [VVVVVVVVVVVVVVVVVVVV UUUUUUUUUUUUUUUUUUUU WWWWWWWWWWWWWWWWWWWW ' '], [2014-03-13 23:55:00]. Determined as [last] over [1] values, compared by [~|] with limit [^v{5}|v{10}$]. Last value: [ZZZZZZZZZZZZZZZZZZZZ YYYYYYYYYYYYYYYYYYYY 11111111111111111111], [2014-03-13 23:59:00], timestamp when saved: [2014-03-13 23:59:01]. Previous value: [UUUUUUUUUUUUUUUUUUUU TTTTTTTTTTTTTTTTTTTT VVVVVVVVVVVVVVVVVVVV], [2014-03-13 23:54:00]. count_of......: 60 (60) differ_of.....: 1 (1) first_of......: 11111111111111111111 ZZZZZZZZZZZZZZZZZZZZ 22222222222222222222 (w v x | V U W | 1 Z 2) last_of.......: ZZZZZZZZZZZZZZZZZZZZ YYYYYYYYYYYYYYYYYYYY 11111111111111111111 (v u w | U T V | Z Y 1) max_of........: zzzzzzzzzzzzzzzzzzzz yyyyyyyyyyyyyyyyyyyy AAAAAAAAAAAAAAAAAAAA (z y A) min_of........: 11111111111111111111 ZZZZZZZZZZZZZZZZZZZZ 22222222222222222222 (1 Z 2) regcount......: 2 (2) value_of......: VVVVVVVVVVVVVVVVVVVV UUUUUUUUUUUUUUUUUUUU WWWWWWWWWWWWWWWWWWWW (u t v | v u w | U T V | V U W) unit_of.......: ' ' (blank) |} Result: {| ! Test ! Description ! Result ! Notes |- | NTFY 032 | manual limits, regular expression + every value: notifications fired | style="color:green" | passed | |} For "MSG 031" it should have fired (test_limits **MUST** be executed at */5, the seconds may differ) * once at xx:04:04 (3x MSG 031 in one notification, because of "collect") * once at xx:39:04 (3x MSG 031 in one notification, because of "collect") The messages should look like (date and hour in message will differ), use "MSG 031" as value filter like above: {| ! timestamp ! message |- | yyyy-mm-dd hh:04:ss | MSG 031: limit notification for [Woodlark - testsrv21 - 200 Continuous Hourly Values - 230 Text Expressions - proportional expressions separated by blank line for same time stamp] triggered. Value [VVVVVVVVVVVVVVVVVVVV '[N]'], [2014-03-16 22:54:00] (up to 10 minutes before timestamp of notification). Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [66666666666666666666], [2014-03-16 23:04:00], timestamp when saved: [2014-03-16 23:04:01]. Previous value: [TTTTTTTTTTTTTTTTTTTT], [2014-03-16 22:54:00]. count_of......: 180 (180) differ_of.....: 0 (0) first_of......: 66666666666666666666 (G 6) last_of.......: 66666666666666666666 (G 6) max_of........: zzzzzzzzzzzzzzzzzzzz (Z z) min_of........: 11111111111111111111 (1) regcount......: 6 (6) value_of......: UUUUUUUUUUUUUUUUUUUU TTTTTTTTTTTTTTTTTTTT VVVVVVVVVVVVVVVVVVVV (u t v | v u w | w v x | U T V | V U W | W V X) unit_of.......: '[N]' ('[N]') MSG 031: limit notification for [Woodlark - testsrv21 - 200 Continuous Hourly Values - 230 Text Expressions - proportional expressions separated by blank line for same time stamp] triggered. Value [VVVVVVVVVVVVVVVVVVVV '[N]'], [2014-03-16 22:55:00] (up to 10 minutes before timestamp of notification). Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [66666666666666666666], [2014-03-16 23:04:00], timestamp when saved: [2014-03-16 23:04:01]. Previous value: [UUUUUUUUUUUUUUUUUUUU], [2014-03-16 22:55:00]. count_of......: 180 (180) differ_of.....: 0 (0) first_of......: 66666666666666666666 (G 6) last_of.......: 66666666666666666666 (G 6) max_of........: zzzzzzzzzzzzzzzzzzzz (Z z) min_of........: 11111111111111111111 (1) regcount......: 6 (6) value_of......: VVVVVVVVVVVVVVVVVVVV UUUUUUUUUUUUUUUUUUUU WWWWWWWWWWWWWWWWWWWW (u t v | v u w | w v x | U T V | V U W | W V X) unit_of.......: '[N]' ('[N]') MSG 031: limit notification for [Woodlark - testsrv21 - 200 Continuous Hourly Values - 230 Text Expressions - proportional expressions separated by blank line for same time stamp] triggered. Value [VVVVVVVVVVVVVVVVVVVV '[N]'], [2014-03-16 22:56:00] (up to 10 minutes before timestamp of notification). Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [66666666666666666666], [2014-03-16 23:04:00], timestamp when saved: [2014-03-16 23:04:01]. Previous value: [VVVVVVVVVVVVVVVVVVVV], [2014-03-16 22:56:00]. count_of......: 180 (180) differ_of.....: 0 (0) first_of......: 66666666666666666666 (G 6) last_of.......: 66666666666666666666 (G 6) max_of........: zzzzzzzzzzzzzzzzzzzz (Z z) min_of........: 11111111111111111111 (1) regcount......: 6 (6) value_of......: WWWWWWWWWWWWWWWWWWWW VVVVVVVVVVVVVVVVVVVV XXXXXXXXXXXXXXXXXXXX (u t v | v u w | w v x | U T V | V U W | W V X) unit_of.......: '[N]' ('[N]') |- | yyyy-mm-dd hh:39:ss | MSG 031: limit notification for [Woodlark - testsrv21 - 200 Continuous Hourly Values - 230 Text Expressions - proportional expressions separated by blank line for same time stamp] triggered. Value [vvvvvvvvvvvvvvvvvvvv '[N]'], [2014-03-16 22:28:00] (up to 10 minutes before timestamp of notification). Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [GGGGGGGGGGGGGGGGGGGG], [2014-03-16 22:39:00], timestamp when saved: [2014-03-16 22:39:02]. Previous value: [tttttttttttttttttttt], [2014-03-16 22:28:00]. count_of......: 180 (180) differ_of.....: 0 (0) first_of......: GGGGGGGGGGGGGGGGGGGG (G 6) last_of.......: GGGGGGGGGGGGGGGGGGGG (G 6) max_of........: ZZZZZZZZZZZZZZZZZZZZ (Z z) min_of........: 11111111111111111111 (1) regcount......: 6 (6) value_of......: uuuuuuuuuuuuuuuuuuuu tttttttttttttttttttt vvvvvvvvvvvvvvvvvvvv (u t v | v u w | w v x | U T V | V U W | W V X) unit_of.......: '[N]' ('[N]') MSG 031: limit notification for [Woodlark - testsrv21 - 200 Continuous Hourly Values - 230 Text Expressions - proportional expressions separated by blank line for same time stamp] triggered. Value [vvvvvvvvvvvvvvvvvvvv '[N]'], [2014-03-16 22:29:00] (up to 10 minutes before timestamp of notification). Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [GGGGGGGGGGGGGGGGGGGG], [2014-03-16 22:39:00], timestamp when saved: [2014-03-16 22:39:02]. Previous value: [uuuuuuuuuuuuuuuuuuuu], [2014-03-16 22:29:00]. count_of......: 180 (180) differ_of.....: 0 (0) first_of......: GGGGGGGGGGGGGGGGGGGG (G 6) last_of.......: GGGGGGGGGGGGGGGGGGGG (G 6) max_of........: ZZZZZZZZZZZZZZZZZZZZ (Z z) min_of........: 11111111111111111111 (1) regcount......: 6 (6) value_of......: vvvvvvvvvvvvvvvvvvvv uuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwww (u t v | v u w | w v x | U T V | V U W | W V X) unit_of.......: '[N]' ('[N]') MSG 031: limit notification for [Woodlark - testsrv21 - 200 Continuous Hourly Values - 230 Text Expressions - proportional expressions separated by blank line for same time stamp] triggered. Value [vvvvvvvvvvvvvvvvvvvv '[N]'], [2014-03-16 22:30:00] (up to 10 minutes before timestamp of notification). Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [GGGGGGGGGGGGGGGGGGGG], [2014-03-16 22:39:00], timestamp when saved: [2014-03-16 22:39:02]. Previous value: [vvvvvvvvvvvvvvvvvvvv], [2014-03-16 22:30:00]. count_of......: 180 (180) differ_of.....: 0 (0) first_of......: GGGGGGGGGGGGGGGGGGGG (G 6) last_of.......: GGGGGGGGGGGGGGGGGGGG (G 6) max_of........: ZZZZZZZZZZZZZZZZZZZZ (Z z) min_of........: 11111111111111111111 (1) regcount......: 6 (6) value_of......: wwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvv xxxxxxxxxxxxxxxxxxxx (u t v | v u w | w v x | U T V | V U W | W V X) unit_of.......: '[N]' ('[N]') |} Verify that the timestamp of the notification is 10 minutes ahead of the timestamp in the message :!: {| ! Test ! Description ! Result ! Notes |- | NTFY 034 | manual limits, substring + collect: notifications fired | style="color:green" | passed | |} Disabling Disable the manual limit: * go to //main menu -> today -> Woodlark -> testsrv21 -> 200 Continuous Hourly Values -> 230 Text Expressions// * click on {{:uls:testsuite:version_180:limits_button.png?nolink|}} * click on //suspension// {| ! date from | |- ! to | + 1 month |- ! days | |- ! monthdays | - + 7 |} (:NOTE: depending on the current day of month the "monthdays" may fall into the following month. You need to split up the suspension definition then) Click {{:uls:testsuite:version_180:ok_button.png?nolink|}} and verify that "Monitoring suspensions are defined for this server." is displayed on the "set limits" page. Verify, that the deactivation works. No more notifications "MSG 030" may be generated: * go to //main menu -> yesterday -> Woodlark -> testsrv21 -> @notifications -> limits// But "MSG 031" **are** still generated. {| ! Test ! Description ! Result ! Notes |- | NTFY 036 | manual limits, regular expression + every value: deactivation during defined days of month works | style="color:green" | passed | |} After the defined days of month, the notification must be fired again. {| ! Test ! Description ! Result ! Notes |- | NTFY 037 | manual limits, regular expression + every value: active outside defined days of month works | style="color:green" | passed | |} Go to //administration -> monitoring suspension -> Woodlark// and remove the entry for "detail" and the entry for "unit" (which is a blank and therefor, obviously, not visible). As user "SystematicGuy" verify, that the deactivation works. No more notifications "MSG 031" may be generated: * go to //main menu -> yesterday -> Woodlark -> testsrv21 -> @notifications -> limits// {| ! Test ! Description ! Result ! Notes |- | NTFY 038 | manual limits, substring + collect: deactivation works | style="color:green" | passed | |} ----- === group based limits, numeric value, 24h, all priority levels with reset by "info" === (These tests are: NTFY 04x) As user "TheSpyder" set group-auto-limits for group "Databasics" on: * 300 Continuous Daily Values * 320 Float Values * Voltage [V] The Values look like (go to //main menu -> yesterday -> ULS -> testsrv11 -> 300 Continuous Daily Values -> 320 Float Values -> Voltage //): {{:uls:testsuite:version_180:testsrv11_300cdv_320fv_voltage.png|}} * go to //administration -> limits -> group autolimits -> Databasics// {| ! detail: | |- ! unit: | V |- ! average | last |- ! over | 1 |- ! compare | > |- ! info | 99.555 |- ! warn | 126.666667 |- ! error | 0.14975e+03 |- ! notify mode | 24h |- ! message | MSG 040: limit notification for [$DOMAIN - $SERVER - $SECTION - $TESTSTEP - $DETAIL] triggered. Value [$VALUE '$UNIT'], [$TIMESTAMP]. Determined as [$FUNCTION] over [$AVERAGEOVER] values, compared by [$COMPARE] with limit [$LIMIT]. Last value: [$LASTVALUE], [$LASTDATE], timestamp when saved: [$SAVEDATE]. Previous value: [$PREVVALUE], [$PREVDATE]. average_of....: $AVERAGE_OF(Voltage/V, 1d) count_of......: $COUNT_OF(Voltage/V, 1d) dev_of........: $DEV_OF(Voltage/V, 1d) differ_of.....: $DIFFER_OF(Voltage/V, 1d) first_of......: $FIRST_OF(Voltage/V, 1d) grad_of.......: $GRAD_OF(Voltage/V, 1d) last_of.......: $LAST_OF(Voltage/V, 1d) last-first_of.: $LAST-FIRST_OF(Voltage/V, 1d) max_of........: $MAX_OF(Voltage/V, 1d) max-min_of....: $MAX-MIN_OF(Voltage/V, 1d) min_of........: $MIN_OF(Voltage/V, 1d) prediction....: $PREDICTION(Voltage/V, 1d) sum_of........: $SUM_OF(Voltage/V, 1d) value_of......: $VALUE_OF(Voltage/V) unit_of.......: '$UNIT_OF(Voltage/V)' |- ! destination | UTT:UTT Databasics |- ! active | [x] |} :!: some numerical aggregation functions do not work with a numeric range, only with time range! == (A) Propagation of definition == As user "TheSpyder" verify, that the definition is properly propagated: * go to //main menu -> yesterday -> ULS -> testsrv11 -> 300 Continuous Daily Values -> 320 Float Values// * click on {{:uls:testsuite:version_180:limits_button.png|}} {| ! Test ! Description ! Result ! Notes |- | NTFY 040 | group based limits, numeric value, 24h, all priority levels with reset by "info": definition and propagation | style="color:green" | passed | |} == (B) Notifications fired == That limit should fire 8 notifications per day: * 03:54 INFO, 04:24 WARN, 04:54 ERROR * 17:04 INFO, 17:24 WARN, 17:44 ERROR * 22:54 INFO, 23:44 WARN As user "TheSpyder" verify that e.g. the next day: * go to //main menu -> yesterday -> ULS -> testsrv11 -> @notifications -> limits// There should be 8 entries (timestamp and uttid will obviously be different): {| ! timestamp ! URL ! destination ! level ! condition violation ! message ! uttid |- | 2014-03-20 23:44:03 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | WARN | 127.667558 > 126.666667 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [127.667558 'V'], [2014-03-20 23:40:00]. Determined as [last] over [1] values, compared by [>] with limit [126.666667]. Last value: [1.276675581e+02], [2014-03-20 23:40:00], timestamp when saved: [2014-03-20 23:40:03]. Previous value: [1.248309485e+02], [2014-03-20 23:30:00]. average_of....: 50.00000000170837 count_of......: 144 dev_of........: 93.59935449150665 differ_of.....: 1 first_of......: 1.294115809e+02 grad_of.......: -0.41464354109552093 last_of.......: 1.276675581e+02 last-first_of.: -1.7440227999999962 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246005 value_of......: 1.276675581e+02 unit_of.......: 'V' | 6254 |- | 2014-03-20 22:54:03 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | INFO | 105.132059 > 99.555 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [105.132059 'V'], [2014-03-20 22:50:00]. Determined as [last] over [1] values, compared by [>] with limit [99.555]. Last value: [1.051320591e+02], [2014-03-20 22:50:00], timestamp when saved: [2014-03-20 22:50:03]. Previous value: [9.902855994e+01], [2014-03-20 22:40:00]. average_of....: 50.00000000170834 count_of......: 144 dev_of........: 93.59935449150662 differ_of.....: 1 first_of......: 1.109708044e+02 grad_of.......: -1.6327622195900913 last_of.......: 1.051320591e+02 last-first_of.: -5.838745299999999 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246002 value_of......: 1.051320591e+02 unit_of.......: 'V' | 6251 |- | 2014-03-20 17:44:03 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | ERROR | 157.2056 > 0.14975e+03 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [157.2056 'V'], [2014-03-20 17:40:00]. Determined as [last] over [1] values, compared by [>] with limit [0.14975e+03]. Last value: [1.572055995e+02], [2014-03-20 17:40:00], timestamp when saved: [2014-03-20 17:40:03]. Previous value: [1.478634588e+02], [2014-03-20 17:30:00]. average_of....: 50.00000000170835 count_of......: 144 dev_of........: 93.59935449150662 differ_of.....: 1 first_of......: 1.646120778e+02 grad_of.......: -8.563189478170608 last_of.......: 1.572055995e+02 last-first_of.: -7.406478300000003 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246003 value_of......: 1.572055995e+02 unit_of.......: 'V' | 6239 |- | 2014-03-20 17:24:03 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | WARN | 136.715888 > 126.666667 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [136.715888 'V'], [2014-03-20 17:20:00]. Determined as [last] over [1] values, compared by [>] with limit [126.666667]. Last value: [1.367158878e+02], [2014-03-20 17:20:00], timestamp when saved: [2014-03-20 17:20:02]. Previous value: [1.239369642e+02], [2014-03-20 17:10:00]. average_of....: 50.00000000170834 count_of......: 144 dev_of........: 93.59935449150665 differ_of.....: 1 first_of......: 1.478634588e+02 grad_of.......: -9.275269159740617 last_of.......: 1.367158878e+02 last-first_of.: -11.147571 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246002 value_of......: 1.367158878e+02 unit_of.......: 'V' | 6237 |- | 2014-03-20 17:04:04 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | INFO | 109.739874 > 99.555 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [109.739874 'V'], [2014-03-20 17:00:00]. Determined as [last] over [1] values, compared by [>] with limit [99.555]. Last value: [1.097398738e+02], [2014-03-20 17:00:00], timestamp when saved: [2014-03-20 17:00:03]. Previous value: [9.437107032e+01], [2014-03-20 16:50:00]. average_of....: 50.00000000170834 count_of......: 144 dev_of........: 93.59935449150665 differ_of.....: 1 first_of......: 1.239369642e+02 grad_of.......: -9.83311846496144 last_of.......: 1.097398738e+02 last-first_of.: -14.197090400000008 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246001 value_of......: 1.097398738e+02 unit_of.......: 'V' | 6236 |- | 2014-03-20 04:54:03 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | ERROR | 154.51223 > 0.14975e+03 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [154.51223 'V'], [2014-03-20 04:50:00]. Determined as [last] over [1] values, compared by [>] with limit [0.14975e+03]. Last value: [1.545122302e+02], [2014-03-20 04:50:00], timestamp when saved: [2014-03-20 04:50:03]. Previous value: [1.465075342e+02], [2014-03-20 04:40:00]. average_of....: 50.00000000170835 count_of......: 144 dev_of........: 93.59935449150662 differ_of.....: 1 first_of......: 1.615036828e+02 grad_of.......: 5.241058532705638 last_of.......: 1.545122302e+02 last-first_of.: -6.991452600000002 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246003 value_of......: 1.545122302e+02 unit_of.......: 'V' | 6207 |- | 2014-03-20 04:24:03 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | WARN | 128.57455 > 126.666667 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [128.57455 'V'], [2014-03-20 04:20:00]. Determined as [last] over [1] values, compared by [>] with limit [126.666667]. Last value: [1.285745500e+02], [2014-03-20 04:20:00], timestamp when saved: [2014-03-20 04:20:03]. Previous value: [1.192242047e+02], [2014-03-20 04:10:00]. average_of....: 50.00000000170834 count_of......: 144 dev_of........: 93.59935449150662 differ_of.....: 1 first_of......: 1.377658179e+02 grad_of.......: 4.238282457218251 last_of.......: 1.285745500e+02 last-first_of.: -9.191267900000014 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246002 value_of......: 1.285745500e+02 unit_of.......: 'V' | 6205 |- | 2014-03-20 03:54:03 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | INFO | 101.173859 > 99.555 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [101.173859 'V'], [2014-03-20 03:50:00]. Determined as [last] over [1] values, compared by [>] with limit [99.555]. Last value: [1.011738587e+02], [2014-03-20 03:50:00], timestamp when saved: [2014-03-20 03:50:03]. Previous value: [9.299683151e+01], [2014-03-20 03:40:00]. average_of....: 50.00000000170837 count_of......: 144 dev_of........: 93.59935449150662 differ_of.....: 1 first_of......: 1.100000000e+02 grad_of.......: 3.5167242060472357 last_of.......: 1.011738587e+02 last-first_of.: -8.826141300000003 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246005 value_of......: 1.011738587e+02 unit_of.......: 'V' | 6203 |} {| ! Test ! Description ! Result ! Notes |- | NTFY 042 | group based limits, numeric value, 24h, all priority levels with reset by "info": notifications fired | style="color:green" | passed | |} == (C) Changing the definition == As user "TheSpyder" change the group-auto-limits for group "Databasics": * go to //administration -> limits -> group autolimits -> Databasics// {| ! detail: | |- ! unit: | V |- ! average | last |- ! over | 1 |- ! compare | > |- ! info | 100 |- ! warn | 130.0 |- ! error | 1.4975e02 |} As user "TheSpyder" verify, that the change of the definition is properly propagated: * go to //main menu -> yesterday -> ULS -> testsrv11 -> @notifications -> limits// And verify that the limit now fires only 7 notifications per day: * 03:54 INFO, 04:34 WARN, 04:54 ERROR * 17:04 INFO, 17:24 WARN, 17:44 ERROR * 22:54 INFO {| ! timestamp ! URL ! destination ! level ! condition violation ! message ! uttid |- | 2014-04-06 22:54:04 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | INFO | 105.132059 > 100 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [105.132059 'V'], [2014-04-06 22:50:00]. Determined as [last] over [1] values, compared by [>] with limit [100]. Last value: [1.051320591e+02], [2014-04-06 22:50:00], timestamp when saved: [2014-04-06 22:50:03]. Previous value: [9.902855994e+01], [2014-04-06 22:40:00]. average_of....: 50.00000000170834 count_of......: 144 dev_of........: 93.59935449150662 differ_of.....: 1 first_of......: 1.109708044e+02 grad_of.......: -1.6327622195900962 last_of.......: 1.051320591e+02 last-first_of.: -5.838745299999999 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246002 value_of......: 1.051320591e+02 unit_of.......: 'V' | 6251 |- | 2014-04-06 17:44:03 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | ERROR | 157.2056 > 1.4975e02 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [157.2056 'V'], [2014-04-06 17:40:00]. Determined as [last] over [1] values, compared by [>] with limit [1.4975e02]. Last value: [1.572055995e+02], [2014-04-06 17:40:00], timestamp when saved: [2014-04-06 17:40:02]. Previous value: [1.478634588e+02], [2014-04-06 17:30:00]. average_of....: 50.00000000170835 count_of......: 144 dev_of........: 93.59935449150662 differ_of.....: 1 first_of......: 1.646120778e+02 grad_of.......: -8.563189478170608 last_of.......: 1.572055995e+02 last-first_of.: -7.406478300000003 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246003 value_of......: 1.572055995e+02 unit_of.......: 'V' | 6239 |- | 2014-04-06 17:24:03 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | WARN | 136.715888 > 130.0 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [136.715888 'V'], [2014-04-06 17:20:00]. Determined as [last] over [1] values, compared by [>] with limit [130.0]. Last value: [1.367158878e+02], [2014-04-06 17:20:00], timestamp when saved: [2014-04-06 17:20:03]. Previous value: [1.239369642e+02], [2014-04-06 17:10:00]. average_of....: 50.00000000170834 count_of......: 144 dev_of........: 93.59935449150665 differ_of.....: 1 first_of......: 1.478634588e+02 grad_of.......: -9.275269159740617 last_of.......: 1.367158878e+02 last-first_of.: -11.147571 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246002 value_of......: 1.367158878e+02 unit_of.......: 'V' | 6237 |- | 2014-04-06 17:04:04 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | INFO | 109.739874 > 100 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [109.739874 'V'], [2014-04-06 17:00:00]. Determined as [last] over [1] values, compared by [>] with limit [100]. Last value: [1.097398738e+02], [2014-04-06 17:00:00], timestamp when saved: [2014-04-06 17:00:04]. Previous value: [9.437107032e+01], [2014-04-06 16:50:00]. average_of....: 50.00000000170834 count_of......: 144 dev_of........: 93.59935449150665 differ_of.....: 1 first_of......: 1.239369642e+02 grad_of.......: -9.83311846496144 last_of.......: 1.097398738e+02 last-first_of.: -14.197090400000008 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246001 value_of......: 1.097398738e+02 unit_of.......: 'V' | 6236 |- | 2014-04-06 04:54:04 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | ERROR | 154.51223 > 1.4975e02 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [154.51223 'V'], [2014-04-06 04:50:00]. Determined as [last] over [1] values, compared by [>] with limit [1.4975e02]. Last value: [1.545122302e+02], [2014-04-06 04:50:00], timestamp when saved: [2014-04-06 04:50:03]. Previous value: [1.465075342e+02], [2014-04-06 04:40:00]. average_of....: 50.00000000170835 count_of......: 144 dev_of........: 93.59935449150662 differ_of.....: 1 first_of......: 1.615036828e+02 grad_of.......: 5.24105853270564 last_of.......: 1.545122302e+02 last-first_of.: -6.991452600000002 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246003 value_of......: 1.545122302e+02 unit_of.......: 'V' | 6207 |- | 2014-04-06 04:34:03 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | WARN | 137.765818 > 130.0 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [137.765818 'V'], [2014-04-06 04:30:00]. Determined as [last] over [1] values, compared by [>] with limit [130.0]. Last value: [1.377658179e+02], [2014-04-06 04:30:00], timestamp when saved: [2014-04-06 04:30:03]. Previous value: [1.285745500e+02], [2014-04-06 04:20:00]. average_of....: 50.00000000170835 count_of......: 144 dev_of........: 93.59935449150662 differ_of.....: 1 first_of......: 1.465075342e+02 grad_of.......: 4.543039577482396 last_of.......: 1.377658179e+02 last-first_of.: -8.741716300000007 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246003 value_of......: 1.377658179e+02 unit_of.......: 'V' | 6205 |- | 2014-04-06 03:54:04 | 300 Continuous Daily Values 320 Float Values Voltage | UTT:UTT Databasics :Databasics | INFO | 101.173859 > 100 | MSG 040: limit notification for [ULS - testsrv11 - 300 Continuous Daily Values - 320 Float Values - Voltage] triggered. Value [101.173859 'V'], [2014-04-06 03:50:00]. Determined as [last] over [1] values, compared by [>] with limit [100]. Last value: [1.011738587e+02], [2014-04-06 03:50:00], timestamp when saved: [2014-04-06 03:50:02]. Previous value: [9.299683151e+01], [2014-04-06 03:40:00]. average_of....: 50.00000000170837 count_of......: 144 dev_of........: 93.59935449150662 differ_of.....: 1 first_of......: 1.100000000e+02 grad_of.......: 3.516724206047228 last_of.......: 1.011738587e+02 last-first_of.: -8.826141300000003 max_of........: 174.636748 max-min_of....: 271.23928838 min_of........: -96.60254038 prediction....: sum_of........: 7200.000000246005 value_of......: 1.011738587e+02 unit_of.......: 'V' | 6203 |} {| ! Test ! Description ! Result ! Notes |- | NTFY 047 | group based limits, numeric value, 24h, all priority levels with reset by "info": changed definition | style="color:green" | passed | |} == (D) Disabling the definition == As user "TheSpyder" change the group-auto-limits for group "Databasics": * go to //administration -> limits -> group auto limits -> Databasics// * deactivate the definition containing "MSG 040" Verify the next day that no more notifications are fired: * go to //main menu -> yesterday -> ULS -> testsrv11 -> @notifications -> limits// {| ! Test ! Description ! Result ! Notes |- | NTFY 048 | group based limits, numeric value, 24h, all priority levels with reset by "info": notifications disabled | style="color:green" | :TODO: | |} ----- === isAlive === :TODO: ----- === CombiLimits === :TODO: As user "SystematicGuy" set auto-limits for domain "Woodlark" on: * 300 Continuous Daily Values * 320 Float Values * Energy '[E]': Wh, kWh, MWh and use a function to calculate to the correct unit ----- === Relation Changes === :!: These are all preliminary notes: server changes domain: check that old limits are disregarded and the limits of new domain are applied. server changes name (in same domain): check that old limits are disregarded and the matching limits are applied. group gets new domain member: are the group limits are applied to the new member. ----- ==== Notification Scenarios on Aggregated Values ==== :TODO: Threshold violations Define various possible notification scenarios on aggregated values and verify the correctly generated notifications ULS ticket tracking: threshold violations generate notifications and tickets. ULS users can work on those tickets and document their actions. ----- ==== Monitoring suspension ==== :TODO: -----