zabbix trigger expression : count not 60 over 24hours/1440minutes - zabbix

I have this zabbix trigger. The expression is
{reporting:aggr.processend.req.count.count(1440m,60)}=0
I want to clarify if it will throw a error , if the count is not 60 over 1440minutes

count(1440m,60)}=0 means "alert if the number of times, the item was equal to 60 in the last 1440m, is zero"
you need count(1d,60,ne)}>0 if you want "alert if the number of times, the item was different from 60 in the last day, is not zero"

Related

SSRS Report Builder - How to calculate the date diff and add IFF statement between 2 data sets

I am trying to calculate the difference in days between 2 data sets and then if the value is between 1 and 2 days then it should show compliant if the value is a negative number or greater than 2 days I want it to show non-compliant. I am not sure what I have wrong, it runs however they all show compliant
Background on the calculation needed.
IMM Discharge compliance - Hospitals must
deliver a copy of the signed notice to each beneficiary not more than two (2) days before the day of discharge. Follow-up notice is not required if delivery of the initial IM falls within two (2)
calendar days of discharge.
FYI - the first IFF statement is because some do not have dates so that was to account for those
=IIF(
IsNothing(Lookup(Fields!Account_Number.Value,Fields!Account_Number.Value,Fields!Intervention_Date_Of_Service.Value, "Interventions")),
"No Intervention",
IIF(
DateDiff("d",Fields!Actual_Discharge_Date.Value,Lookup(Fields!Account_Number.Value,Fields!Account_Number.Value,Fields!Intervention_Date_Of_Service.Value, "Interventions")) <=2,
"Compliant",
"Non-compliant")
)
I have tried multiple variations =1 or 2, etc if I use just the =2 they all show non-compliant
You have two conditions for non-compliance - the difference being negative or greater than 2 days so you have to check both conditions. Try something like this:
=IIF(IsNothing(Lookup(Fields!Account_Number.Value, Fields!Account_Number.Value, Fields!Intervention_Date_Of_Service.Value, "Interventions")),
"No Intervention",
IIF(DateDiff(DateInterval.Day, Fields!Actual_Discharge_Date.Value, Lookup(Fields!Account_Number.Value, Fields!Account_Number.Value, Fields!Intervention_Date_Of_Service.Value, "Interventions")) < 1,
"Non-compliant",
IIF(DateDiff(DateInterval.Day, Fields!Actual_Discharge_Date.Value, Lookup(Fields!Account_Number.Value, Fields!Account_Number.Value, Fields!Intervention_Date_Of_Service.Value, "Interventions")) > 2,
"Non-compliant",
"Compliant"
)
)
)

Web Intelligence : RunningSum on interval

I'm working on WebI 4.2 Support Pack 4 Compilation : 14.2.4.2410. I have an array with the number of days to make an action. For example 967 times an action was make in 0 day.
I only want to display lines with 0,1,2,3,7 (one week),14 (two week),21,30 (one month),90 (three month) and more than 90 days cause it will be more relevant for my report. I tried to make a Running Sum on my number of days to get my total of action and then a percentage but it failed.
My formula only takes values of the displayed days skipping others. I use this formula to get my interesting days :
=[number_day] Where([number_day]In(0;1;2;3;7;14;21;30;90))
I don't understand why I have an empty frame after '90', i tried to insert the max value of "Number of day" after but that failed too.
Finally how can I get =0+1+2+3+4+5+6+7 in front of '7' instead of =0+1+2+3+7 here is the formula i used : =RunningSum([total_action])
I do not quite understand why you want to do this in the manner you have stated. Or maybe I am just not understanding it correctly.
It seems to me you need to create a variable to group your day numbers. Something like this...
DayNumberGroup=If([number_day] InList(0; 1; 2; 3; 7); "One Week";
If([number_day] InList(14); "Two Week";
If([number_day] InList(21; 30); "One Month";
If([number_day] InList(90); "Three Month";
"Three Month+"))))
Then your running sum variable should look like this...
DayRunningSum=RunningSum([Action Sum]; ([DayNumberGroup]))
Having DayNumberGroup as the second parameter for the RunningSum() function causes the sum to restart on a change in the value of DayNumberGroup.
I am not sure why you are excluding the values of 5, 6, 8, etc., but in order for them to not be lumped into "Three Month+" you are going to have to add a filter to your table to exclude them.
Hope this gets you on the right track.

How to calculate 20% change within one hour in Zabbix?

I have to compare two values changing in both directions (rising and falling) within an hour (items amount, for example). What formula may I use to calculate if the amount drops or rises on more than 20%? Does Zabbix calculated value support if conditions to support positive and negative change or it's possible to bypass it?
I'm trying to write something like this:
{api20prod:mysql.get_active_offers.count(0)}/{api20prod:mysql.get_active_offers.count(,,,1h)}*100 > 20
but what if mysql.get_active_offers.count(0) more than mysql.get_active_offers.count(,,,1h) ?
You cannot use a "Simple Change" preprocessor because:
If the current value is smaller than the previous value, Zabbix
discards that difference (stores nothing) and waits for another value.
If you set the item with a 1h check interval (or with scheduled intervals at a specific minute of every hour), you can do the trick with the last() function.
Let's say that at 12:00 your item equals 25 and at 13:00 it equals 38:
At 13:00 invoking last() without parameters will return 38
At 13:00 invoking last(#2) will return 25
You can calculate the hourly readings delta % with:
100 * ({api20prod:mysql.get_active_offers.last()} - {api20prod:mysql.get_active_offers.last(#2)}) / {api20prod:mysql.get_active_offers.last(#2)}
This syntax should work either in a trigger or in a calculated item, choose the one that suits you better: I suggest a calculated item.
Of course, your trigger will have a double condition: you need to match "> 20" OR "< -20"
If you don't want to change the item's check interval you can use the avg() function, see the documentation.

zabbix - trigger on multiple items greater than 0

I have multiple items that are traps that return an integer such as below.
app.tidal.Health.HighPriority.MessagesInQueue
app.tidal.Health.CommDefault.MessagesInQueue
app.tidal.Health.Default.MessagesInQueue
I want to create a trigger if two or more of these has returned a value of greater than 0 in the last 3 checks to send a severity High message.
I'm having a hard time trying to devise my trigger this is what I currently have:
{Template_App_Tidal_Masters:app.tidal.Health.CommDefault.MessagesInQueue.min(#3)}>0 and
{Template_App_Tidal_Masters:app.tidal.Health.Default.MessagesInQueue.min(#3)}>0 and
{Template_App_Tidal_Masters:app.tidal.Health.HighPriority.MessagesInQueue.min(#3)}>0
But obviously it won't work as it's an and statement so all 3 would have to be greater than 0 the last 3 checks. Formatted the trigger on 3 lines to make it clearer.
This should work:
({Template_App_Tidal_Masters:app.tidal.Health.CommDefault.MessagesInQueue.min(#3)}>0) +
({Template_App_Tidal_Masters:app.tidal.Health.Default.MessagesInQueue.min(#3)}>0) +
({Template_App_Tidal_Masters:app.tidal.Health.HighPriority.MessagesInQueue.min(#3)}>0) > 1
Each part first evaluates an individual item to be larger than 0. If that is true, that part of the expression evaluates to 1, if false - to 0. In the end we sum up the results of these evaluations (not the original item values) and check whether two or more items had values larger than zero.

Amount of time between two dates in Microsoft Access in specific format

I have a table named "Resolved Request", in which I have two specific columns: Date Assigned and Date Resolved. I have a third column named Time Spent Resolving, which should be the amount of time between Date Assigned and Date Resolved, in days hours and minutes. I am using MS Access 2013 but the file I am modifying has to be compatible with MS Access 2007.
I know how to calculate the difference between two dates (Date1-Date2 as calculated column), however I cannot get the format I want. I need for example to have Time Spent Resolving show up as "34 days, 2 hours and 5 minutes". How would I retrieve the amount of time between two dates in that kind of format within MS Access?
Also as an added bonus question, the "Date Assigned" field is a duplicate of a field I have in another table named "In Progress Request". Would I be able to calculate the difference between "Date Resolved" in "Resolved Request" and "Date Assigned" in "In Progress Request"? If not, could I somehow link both Date Assigned fields in both tables to update each other automatically?
Here is the formula that you need to display the format that you require (34 days, 2 hours and 5 minutes). I don't think you should have this formula for a calculated column as it's a waste of space in your table.
Replace txtInsertDateTime and txtAuditDateTime in the formula with the columns that you have.
=CStr((DateDiff("n",[txtInsertDateTime],[txtAuditDateTime])\60)\24) & " days," & CStr((DateDiff("n",[txtInsertDateTime],[txtAuditDateTime])/60) Mod 24) & " hours and " & CStr(DateDiff("n",[txtInsertDateTime],[txtAuditDateTime]) Mod 60) & " minutes"
Not sure about your bonus question, so cannot answer.