NORMAL Status and %Recurrences%
NORMAL Status and %Recurrences%
Hi Max, hi Alex,
maybe it's to early to discuss, because you are thinking about some changes. On the other hand it may help to find the right decision.
As fas as I understood the Recurrences are NOT reset when Status changes from GOOD to NORMAL, even if %SimpleStatus%=DOWN
That leads me to the conclusion that it doesn't make sense to use the %Recurrences% variable in the custom expression for Normal status.
You can't build something like this:
If CPU usage is more than 20%
- set NORMAL for the first 2 recurrences
- if more than 2 recurrences, set BAD
Use Normal if ("%SimpleStatus%"=="DOWN") and (%Recurrences%<3)
Explanation:
- Status is OK and Recurrences are 40 (as an example)
Now more than 20% CPU-Usage is created
That should lead to:
- Status is NORMAL and Recurrences are 1
But %SimpleStatus%=DOWN and %Recurrences% = 41, therefore the Status goes to BAD
- Status is BAD and Recurrences are 1
- Status is NORMAL and Recurrences are 2
(As it is now: - Status is NORMAL and Recurrences are 3)
- Status is BAD and Recurrences are 1
It's hard to handle the recurrencies in a reasonable way.
Are there mistakes or do you agree to the problem
maybe it's to early to discuss, because you are thinking about some changes. On the other hand it may help to find the right decision.
As fas as I understood the Recurrences are NOT reset when Status changes from GOOD to NORMAL, even if %SimpleStatus%=DOWN
That leads me to the conclusion that it doesn't make sense to use the %Recurrences% variable in the custom expression for Normal status.
You can't build something like this:
If CPU usage is more than 20%
- set NORMAL for the first 2 recurrences
- if more than 2 recurrences, set BAD
Use Normal if ("%SimpleStatus%"=="DOWN") and (%Recurrences%<3)
Explanation:
- Status is OK and Recurrences are 40 (as an example)
Now more than 20% CPU-Usage is created
That should lead to:
- Status is NORMAL and Recurrences are 1
But %SimpleStatus%=DOWN and %Recurrences% = 41, therefore the Status goes to BAD
- Status is BAD and Recurrences are 1
- Status is NORMAL and Recurrences are 2
(As it is now: - Status is NORMAL and Recurrences are 3)
- Status is BAD and Recurrences are 1
It's hard to handle the recurrencies in a reasonable way.
Are there mistakes or do you agree to the problem
In your case I would use Warning status, not Normal
Regards
Alex
CorrectAs fas as I understood the Recurrences are NOT reset when Status changes from GOOD to NORMAL
That depends on what exactly do you need. In some cases it has perfect sense.That leads me to the conclusion that it doesn't make sense to use the %Recurrences% variable in the custom expression for Normal status
Another reason to implement %SuggestedStatus% variable. Right now you may use %LastStatus% variable instead of %SimpleStatus%But %SimpleStatus%=DOWN and %Recurrences% = 41, therefore the Status goes to BAD
Regards
Alex
Dear Alex,
many thanks for your responses.
First of all I would like to thank you for the new Warning-Feature. It is a noticeable step forward for HM. The acceptance from my colleagues will grow because of more exact informations what's going on in the company and to see what are real problems and what needs some attention during the day.
Maybe I was to focused to this problem I found and forgot the advantages of having the new feature
Then implement it as you suggest.
I'll be able to use it in a reasonable way - if not, I know whom to ask for help
many thanks for your responses.
First of all I would like to thank you for the new Warning-Feature. It is a noticeable step forward for HM. The acceptance from my colleagues will grow because of more exact informations what's going on in the company and to see what are real problems and what needs some attention during the day.
Maybe I was to focused to this problem I found and forgot the advantages of having the new feature

Then implement it as you suggest.
I'll be able to use it in a reasonable way - if not, I know whom to ask for help

... nevertheless I would like to tell some examples.
Tests like
- CPU usage
- Bandwidth usage
- ...
are tests where you can hardly set NORMAL/WARNING and BAD in dependency of the Reply value. (for other kinds of tests (i.e. Diskspace) that is no problem)
So you can't say usage from 60% to 80% is NORMAL/WARNING and greater 80% is BAD.
It is absolutely normal to have CPU or bandwidth peaks of 100%.
From my pov the only thing is, that these peaks should not last for more than xx minutes or xx Recurrences.
Therefore it seems that we need Recurrencies counted on the base of Status (If Status changes then recurrencies have to be reset)
I understood that this will work for WARNING.
But from my pov the NORMAL status is much more useful for this kind of test.
Why WARN, when it is absolutely normal to have 100% peaks.
Status should change to NORMAL (or even stay GOOD) for the first xx Recurrences over 80% (in other words ignore particular peaks)
And only if the load keeps high over time (Recurrences) change Status of test to WARNING or BAD.
What do you think ?
Once again: The new feature is very useful as it is - many thanks - we are talking about fine tuning and special cases
Tests like
- CPU usage
- Bandwidth usage
- ...
are tests where you can hardly set NORMAL/WARNING and BAD in dependency of the Reply value. (for other kinds of tests (i.e. Diskspace) that is no problem)
So you can't say usage from 60% to 80% is NORMAL/WARNING and greater 80% is BAD.
It is absolutely normal to have CPU or bandwidth peaks of 100%.
From my pov the only thing is, that these peaks should not last for more than xx minutes or xx Recurrences.
Therefore it seems that we need Recurrencies counted on the base of Status (If Status changes then recurrencies have to be reset)
I understood that this will work for WARNING.
But from my pov the NORMAL status is much more useful for this kind of test.
Why WARN, when it is absolutely normal to have 100% peaks.
Status should change to NORMAL (or even stay GOOD) for the first xx Recurrences over 80% (in other words ignore particular peaks)
And only if the load keeps high over time (Recurrences) change Status of test to WARNING or BAD.
What do you think ?
Once again: The new feature is very useful as it is - many thanks - we are talking about fine tuning and special cases
Oh, we were talking about Warning status for a year, and now you want to use Normal status
Ok:
- if you want to use Normal status for 1st failed probe (Ok -> Normal -> Bad), use expression like ('%SuggestedStatus%'=='Bad') and ('%Status%'=='Ok')
- if you want to use Normal status for 1st and 2nd failed probes (Ok -> Normal -> Normal -> Bad), use expression like ('%SuggestedStatus%'=='Bad') and (('%Status%'=='Ok') or (('%Status%'=='Normal') and ('%LastStatus%'=='Ok')))
- if you want to use Normal status for 1st, 2nd, 3rd failed probes, then use Warning status instead. E.g. you may setup HostMonitor to use the following sequence: Ok -> Normal -> Normal -> Warning -> Warning -> Warning -> Bad
Please note: You should use exact status value, so you should compare %Status% varuable (not %SimpleStatus%). Probably you should use 'Host is alive' instead of Ok (depends on test method)
Regards
Alex

Ok:
- if you want to use Normal status for 1st failed probe (Ok -> Normal -> Bad), use expression like ('%SuggestedStatus%'=='Bad') and ('%Status%'=='Ok')
- if you want to use Normal status for 1st and 2nd failed probes (Ok -> Normal -> Normal -> Bad), use expression like ('%SuggestedStatus%'=='Bad') and (('%Status%'=='Ok') or (('%Status%'=='Normal') and ('%LastStatus%'=='Ok')))
- if you want to use Normal status for 1st, 2nd, 3rd failed probes, then use Warning status instead. E.g. you may setup HostMonitor to use the following sequence: Ok -> Normal -> Normal -> Warning -> Warning -> Warning -> Bad
Please note: You should use exact status value, so you should compare %Status% varuable (not %SimpleStatus%). Probably you should use 'Host is alive' instead of Ok (depends on test method)
Regards
Alex
Dear Alex,
many thanks for the new version !
It works indeed, you are a great wizard
[x] Treat Warning status as Bad
[x] Use "Warning" status if: ("%SuggestedStatus%"=="Bad") and (%SuggestedRecurrences%<4)
[x] Use "Normal" status if: ('%SuggestedStatus%'=='Bad') and (('%Status%'=='Ok') or (('%Status%'=='Normal') and ('%LastStatus%'=='Ok')))
Suggestion: It would be much easier and more flexible to have a variable counting the %NormalStatusRecurrencies% (and maybe a 2nd counting the %WarningStatusRecurrencies%)
[x] Use "Normal" status if: ('%SuggestedStatus%'=='Bad') and (('%Status%'=='Ok') or (('%Status%'=='Normal') and (%NormalStatusRecurrencies%<5)))
That's important to keep in mind:
many thanks for the new version !
Only for special kind of tests - Warning is useful tooKS-Soft wrote:Oh, we were talking about Warning status for a year, and now you want to use Normal status

It works indeed, you are a great wizard

With these settings:KS-Soft wrote:- if you want to use Normal status for 1st, 2nd, 3rd failed probes, then use Warning status instead. E.g. you may setup HostMonitor to use the following sequence:
Ok -> Normal -> Normal -> Warning -> Warning -> Warning -> Bad
[x] Treat Warning status as Bad
[x] Use "Warning" status if: ("%SuggestedStatus%"=="Bad") and (%SuggestedRecurrences%<4)
[x] Use "Normal" status if: ('%SuggestedStatus%'=='Bad') and (('%Status%'=='Ok') or (('%Status%'=='Normal') and ('%LastStatus%'=='Ok')))
Suggestion: It would be much easier and more flexible to have a variable counting the %NormalStatusRecurrencies% (and maybe a 2nd counting the %WarningStatusRecurrencies%)
[x] Use "Normal" status if: ('%SuggestedStatus%'=='Bad') and (('%Status%'=='Ok') or (('%Status%'=='Normal') and (%NormalStatusRecurrencies%<5)))
That's important to keep in mind:
You should better state all these examples in the manual - I'm sure you willKS-Soft wrote:Please note: You should use exact status value, so you should compare %Status% varuable (not %SimpleStatus%). Probably you should use 'Host is alive' instead of Ok (depends on test method)

-
- Posts: 166
- Joined: Sat Apr 15, 2006 2:14 pm
- Location: Germany, Bavaria
Hi Alex, Hi Jürgen,
again thanx a lot for your work implementing the new statuses.
Surely the discussion in the forum will help us all to make the best out of this feature.
I agree with Jürgen that it is often useful to declare a test "normal" when the recurrences of bad tests is less then x (mostly 2,3 or 4).
Obviously there are several ways and proposals to reach this with the need for new variables. As it is recommended not to use the SimpleStatus variable things might even get more complicated (e.g. a URL test, which can return the Status resp. SuggestedStatus 'Bad'or 'Bad Contents')
My suggestions:
1. There should be a really easy way to declare a test normal for the first x bad tests (independant of x and independent of the test method):
- by using a very specific variable like "%RecurrenciesOfSimpleStatusIsNotOK%" (because this it exactly the condition we are talking about)
- or (even more comfortable) by ticking a box
2. Leave this Beta for a while as I expect more discussion on this topic. Maybe there will be more ideas.
Kind regards
Thomas
again thanx a lot for your work implementing the new statuses.
Surely the discussion in the forum will help us all to make the best out of this feature.
I agree with Jürgen that it is often useful to declare a test "normal" when the recurrences of bad tests is less then x (mostly 2,3 or 4).
Obviously there are several ways and proposals to reach this with the need for new variables. As it is recommended not to use the SimpleStatus variable things might even get more complicated (e.g. a URL test, which can return the Status resp. SuggestedStatus 'Bad'or 'Bad Contents')
My suggestions:
1. There should be a really easy way to declare a test normal for the first x bad tests (independant of x and independent of the test method):
- by using a very specific variable like "%RecurrenciesOfSimpleStatusIsNotOK%" (because this it exactly the condition we are talking about)
- or (even more comfortable) by ticking a box
2. Leave this Beta for a while as I expect more discussion on this topic. Maybe there will be more ideas.
Kind regards
Thomas
1) You may use %SuggestedSimpleStatus% for Warning expression. Use %Suggested% variable for Normal expression.As it is recommended not to use the SimpleStatus variable things might even get more complicated (e.g. a URL test, which can return the Status resp. SuggestedStatus 'Bad'or 'Bad Contents')
2) Probably %WarningStatusRecurrencies% and %NormalStatusRecurrencies% counters is good idea

Regards
Alex
KS-Soft wrote: 1) You may use %SuggestedSimpleStatus% for Warning expression. Use %Suggested% variable for Normal expression.
1st: Is there something missing in the Red part ?
What exactly is the difference in usage of %SuggestedSimpleStatus% and %SuggestedStatus% in the WARNING and NORMAL case.
Maybe I haven't got that in full depth.
Normally I would prefer using the "Simple" version not to run into some cases where I miss a possible Status in my expression.
My mistake. Should be %SuggestedStatus%1st: Is there something missing in the Red part ?
In this specific example we are trying to distinguish Normal status from rest of "good" statuses (Ok and Host is alive) because you want to use Normal status when test is failed. That's why we cannot use %SuggestedSimpleStatus% in such expression.What exactly is the difference in usage of %SuggestedSimpleStatus% and %SuggestedStatus% in the WARNING and NORMAL case.
Maybe I haven't got that in full depth.
Regards
Alex
Dear Alex,In this specific example we are trying to distinguish Normal status from rest of "good" statuses (Ok and Host is alive) because you want to use Normal status when test is failed. That's why we cannot use %SuggestedSimpleStatus% in such expression.What exactly is the difference in usage of %SuggestedSimpleStatus% and %SuggestedStatus% in the WARNING and NORMAL case.
Maybe I haven't got that in full depth.
I'm sorry, but it's not clear to me.
Example:
- I set up a test.
- The result of the test is %SuggestedStatus% ('Host is alive', 'No answer', 'Unknown', 'Unknown host', 'Ok', 'Bad', 'Bad contents'; there are also special statuses available: 'Not tested', 'Checking..', 'Disabled', 'Wait for Master', 'Out of schedule', ‘Paused’)
- And the %SuggestedSimpleStatus% is ("UP", "DOWN", "UNKNOWN") depending on the %SuggestedStatus%
Where is the difference in using %SuggestedStatus% instead of %SuggestedSimpleStatus% in the NORMAL and/or WARNING expression ?
(except the different "Strings")
Both should tell the same result: GOOD or BAD
Where is the problem / my fault in this ?
Many thanks
Juergen
-
- Posts: 166
- Joined: Sat Apr 15, 2006 2:14 pm
- Location: Germany, Bavaria
Hi Alex,
I admit, I'm confused at the moment.
How can I get the following behaviour:
If the test fails for the first 3 times, it gets the status "NORMAL", from the 4th failed test onwards it gets the status "bad".
I tried it with (‘%SuggestedSimpleStatus%’==’DOWN’) and (%SuggestedRecurrences%<3) but the %SuggestedRecurrences%-Counter obviously is not increased once the status is normal.
I know, that it is possible to do this with the status "WARNING", but I want to use the warning status for something else.
Kind regards
Thomas
I admit, I'm confused at the moment.
How can I get the following behaviour:
If the test fails for the first 3 times, it gets the status "NORMAL", from the 4th failed test onwards it gets the status "bad".
I tried it with (‘%SuggestedSimpleStatus%’==’DOWN’) and (%SuggestedRecurrences%<3) but the %SuggestedRecurrences%-Counter obviously is not increased once the status is normal.
I know, that it is possible to do this with the status "WARNING", but I want to use the warning status for something else.
Kind regards
Thomas
Hi Alex,
I was justed confused by this
and this
I was justed confused by this
That sounded as it is a mustKS-Soft wrote: 1) You may use %SuggestedSimpleStatus% for Warning expression. Use %SuggestedStatus% variable for Normal expression.
and this
KS-Soft wrote: Please note: You should use exact status value, so you should compare %Status% varuable (not %SimpleStatus%). Probably you should use 'Host is alive' instead of Ok (depends on test method)
@Thomas:
The Maximum is the following:
The reason is:
When the Status comes from OK
- and goes to Warning, the %Recurrencies% is reset to "1" because Test goes from "GOOD" to "BAD"
- and goes to Normal, the %Recurrencies% are simply incremented by +1, because the Test keeps "GOOD".
That's why I suggest:
The Maximum is the following:
You can't get more than 2 Normal Statuses before it will go to Warning or Bad.With these settings:KS-Soft wrote:- if you want to use Normal status for 1st, 2nd, 3rd failed probes, then use Warning status instead. E.g. you may setup HostMonitor to use the following sequence:
Ok -> Normal -> Normal -> Warning -> Warning -> Warning -> Bad
[x] Treat Warning status as Bad
[x] Use "Warning" status if: ("%SuggestedStatus%"=="Bad") and (%SuggestedRecurrences%<4)
[x] Use "Normal" status if: ('%SuggestedStatus%'=='Bad') and (('%Status%'=='Ok') or (('%Status%'=='Normal') and ('%LastStatus%'=='Ok')))
The reason is:
When the Status comes from OK
- and goes to Warning, the %Recurrencies% is reset to "1" because Test goes from "GOOD" to "BAD"
- and goes to Normal, the %Recurrencies% are simply incremented by +1, because the Test keeps "GOOD".
That's why I suggest:
Explanation:JuergenF wrote:Suggestion: It would be much easier and more flexible to have a variable counting the %NormalStatusRecurrencies% (and maybe a 2nd counting the %WarningStatusRecurrencies%)
[x] Use "Normal" status if: ('%SuggestedStatus%'=='Bad') and (('%Status%'=='Ok') or (('%Status%'=='Normal') and (%NormalStatusRecurrencies%<5)))
your Test has failed (is Bad)('%SuggestedStatus%'=='Bad')
This is the first "Bad" Probe: LastReply was "Ok"and (('%Status%'=='Ok')
Here the last Status was already "Normal" and the Counter %NormalStatusRecurrencies% may tell us how often that happenedor (('%Status%'=='Normal') and (%NormalStatusRecurrencies%<5)))
Last edited by JuergenF on Tue Dec 12, 2006 2:38 pm, edited 1 time in total.