This is an old revision of the document!
The 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.
These are the parameters (entries in the definition form) to define threshold limits on values of a detail.
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].
(These tests are: NTFY 01x)
As user “AmieAction” set group-auto-limits for group “Databasics”, on:
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:
Test | Description | Result | Notes |
---|---|---|---|
NTFY 010 | group-auto-limit, differ, numeric, definition and propagation of group auto limits | passed |
That limit should fire three notifications per hour (xx:04, xx:24, xx:44). Verify that e.g. the next day: |
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 | passed |
As user “AmieAction” change the group auto limit for group “Databasics” and verify the changes: |
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:
Test | Description | Result | Notes |
---|---|---|---|
NTFY 014 | group-auto-limit, differ, numeric, group auto limits changed and effectively applied | passed |
|
Disable the group auto limit:
Verify that no more notifications are fired:
Test | Description | Result | Notes |
---|---|---|---|
NTFY 016 | group-auto-limit, differ, numeric, group auto limits notifications disabled | passed |
You may now work on the generated tickets or continue with more notifications. |
(These tests are: NTFY 02x)
As user “SystematicGuy” set auto-limits for domain “Woodlark” on:
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:
Test | Description | Result | Notes |
---|---|---|---|
NTFY 020 | auto limits (domain), greater equal, 12h: definition and propagation | passed |
Description (the timing may differ by several minutes): |
That limit should fire one notifications each day at 04:14. Verify that e.g. the next day and the following days:
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 | passed |
Disable the domain auto limit: |
Verify, that the deactivation is properly propagated:
Test | Description | Result | Notes |
---|---|---|---|
NTFY 024 | auto limits (domain), greater equal, 12h: deactivation properly propagated | passed |
Verify during the next days that no more notifications are fired: |
Test | Description | Result | Notes |
---|---|---|---|
NTFY 026 | auto limits (domain), greater equal, 12h: notifications disabled | passed |
You may now work on the generated tickets or continue with more notifications. |
(These tests are: NTFY 03x)
As user “SystematicGuy” try to set limits for domain “ULS”:
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
As user “SystematicGuy” define the first limit: |
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:
“MSG 030” (regular expression + every value) should have fired (test_limits on the ULS-server MUST be executed at */5)
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 | passed |
|
For “MSG 031” it should have fired (test_limits MUST be executed at */5, the seconds may differ)
The messages should look like (date and hour in message will differ), use “MSG 031” as value filter:
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-06 22:54:00]. Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [66666666666666666666], [2014-03-06 23:04:00], timestamp when saved: [2014-03-06 23:04:02]. Previous value: [TTTTTTTTTTTTTTTTTTTT], [2014-03-06 22:54:00]. count_of......: 180 (=180) differ_of.....: 0 (=0) first_of......: 66666666666666666666 (=GGG...) last_of.......: 66666666666666666666 (=GGG...) max_of........: zzzzzzzzzzzzzzzzzzzz (=ZZZ...) min_of........: 11111111111111111111 (=111...) regcount......: 6 (=6) value_of......: UUUUUUUUUUUUUUUUUUUU TTTTTTTTTTTTTTTTTTTT VVVVVVVVVVVVVVVVVVVV (=u t v) 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-06 22:54:00]. Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [66666666666666666666], [2014-03-06 23:04:00], timestamp when saved: [2014-03-06 23:04:02]. Previous value: [TTTTTTTTTTTTTTTTTTTT], [2014-03-06 22:54:00]. count_of......: 180 (=180) differ_of.....: 0 (=0) first_of......: 66666666666666666666 (=GGG...) last_of.......: 66666666666666666666 (=GGG...) max_of........: zzzzzzzzzzzzzzzzzzzz (=ZZZ...) min_of........: 11111111111111111111 (=111...) regcount......: 6 (=6) value_of......: UUUUUUUUUUUUUUUUUUUU TTTTTTTTTTTTTTTTTTTT VVVVVVVVVVVVVVVVVVVV (=u t v) 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-06 22:54:00]. Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [66666666666666666666], [2014-03-06 23:04:00], timestamp when saved: [2014-03-06 23:04:02]. Previous value: [TTTTTTTTTTTTTTTTTTTT], [2014-03-06 22:54:00]. count_of......: 180 (=180) differ_of.....: 0 (=0) first_of......: 66666666666666666666 (=GGG...) last_of.......: 66666666666666666666 (=GGG...) max_of........: zzzzzzzzzzzzzzzzzzzz (=ZZZ...) min_of........: 11111111111111111111 (=111...) regcount......: 6 (=6) value_of......: UUUUUUUUUUUUUUUUUUUU TTTTTTTTTTTTTTTTTTTT VVVVVVVVVVVVVVVVVVVV (=u t v) 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-06 23:28:00]. Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [GGGGGGGGGGGGGGGGGGGG], [2014-03-06 23:39:00], timestamp when saved: [2014-03-06 23:39:02]. Previous value: [tttttttttttttttttttt], [2014-03-06 23:28:00]. count_of......: 180 (=180) differ_of.....: 0 (=0) first_of......: GGGGGGGGGGGGGGGGGGGG (=GGG...) last_of.......: GGGGGGGGGGGGGGGGGGGG (=GGG...) max_of........: ZZZZZZZZZZZZZZZZZZZZ (=ZZZ...) min_of........: 11111111111111111111 (=111...) regcount......: 6 (=6) value_of......: uuuuuuuuuuuuuuuuuuuu tttttttttttttttttttt vvvvvvvvvvvvvvvvvvvv (=u t v) 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-06 23:28:00]. Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [GGGGGGGGGGGGGGGGGGGG], [2014-03-06 23:39:00], timestamp when saved: [2014-03-06 23:39:02]. Previous value: [tttttttttttttttttttt], [2014-03-06 23:28:00]. count_of......: 180 (=180) differ_of.....: 0 (=0) first_of......: GGGGGGGGGGGGGGGGGGGG (=GGG...) last_of.......: GGGGGGGGGGGGGGGGGGGG (=GGG...) max_of........: ZZZZZZZZZZZZZZZZZZZZ (=ZZZ...) min_of........: 11111111111111111111 (=111...) regcount......: 6 (=6) value_of......: uuuuuuuuuuuuuuuuuuuu tttttttttttttttttttt vvvvvvvvvvvvvvvvvvvv (=u t v) 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-06 23:28:00]. Determined as [last] over [1] values, compared by [~~|] with limit [vvvvv]. Last value: [GGGGGGGGGGGGGGGGGGGG], [2014-03-06 23:39:00], timestamp when saved: [2014-03-06 23:39:02]. Previous value: [tttttttttttttttttttt], [2014-03-06 23:28:00]. count_of......: 180 (=180) differ_of.....: 0 (=0) first_of......: GGGGGGGGGGGGGGGGGGGG (=GGG...) last_of.......: GGGGGGGGGGGGGGGGGGGG (=GGG...) max_of........: ZZZZZZZZZZZZZZZZZZZZ (=ZZZ...) min_of........: 11111111111111111111 (=111...) regcount......: 6 (=6) value_of......: uuuuuuuuuuuuuuuuuuuu tttttttttttttttttttt vvvvvvvvvvvvvvvvvvvv (=u t v) unit_of.......: '[N]' (='[N]')
|
Result:
Test | Description | Result | Notes |
---|---|---|---|
NTFY 034 | manual limits, substring + collect: notifications fired |
![]() |
|
Disabling
Disable the manual limit:
Verify, that the deactivation works. No more notifications may be generated.
Test | Description | Result | Notes |
---|---|---|---|
NTFY 036 | manual limits, substring + collect, regular expression + every value: deactivation works |
![]() |
|
(These tests are: NTFY 04x)
As user “TheSpyder” set group-auto-limits for group “Databasics”, on:
The Values look like (go to main menu → yesterday → ULS → testsrv11 → 300 Continuous Daily Values → 320 Float Values → Voltage ):
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
Verify, that the definition is properly propagated:
Test | Description | Result | Notes |
---|---|---|---|
NTFY 040 | group based limits, numeric value, 12h, all priority levels with reset by “info”: definition and propagation | passed |
(B) Notifications fired |
That limit should fire three notifications per hour (xx:04, xx:24, xx:44). Verify that e.g. the next day:
There should be a lot of entries (timestamp and uttid will obviously be different):
timestamp | URL | destination | level | condition violation | message | uttid |
---|---|---|---|---|---|---|
2014-02-27 12:44:05 | 200 Continuous Hourly Values 210 Integer Values Steps | UTT:UTT Databasics :Databasics | INFO | 1 != 0 |
|
1503 |
2014-02-20 23:24:03 | 200 Continuous Hourly Values 210 Integer Values Steps | UTT:UTT Databasics :Databasics | INFO | 1 != 0 |
|
1499 |
2014-02-20 23:04:04 | 200 Continuous Hourly Values 210 Integer Values Steps | UTT:UTT Databasics :Databasics | INFO | 1 != 0 |
|
1498 |
… | … | … | … | … | … | … |
Test | Description | Result | Notes |
---|---|---|---|
NTFY 042 | group based limits, numeric value, 12h, all priority levels with reset by “info”: notifications fired |
![]() |
|
(C) Changing the definition
(D) Disabling the definition:
Verify that no more notifications are fired:
Test | Description | Result | Notes |
---|---|---|---|
NTFY 046 | group based limits, numeric value, 12h, all priority levels with reset by “info”: notifications disabled |
![]() |
|
As user “SystematicGuy” set auto-limits for domain “Woodlark” on:
and use a function to calculate to the correct unit
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.
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.