Zabbix Triggers iregex expression validation - zabbix

I am a beginner in zabbix agent.I would like to know if the below trigger is syntactically correct? If yes then how do I know if the trigger is fired ?
I am not able to receive email notifications.Kindly help me .
{MDMCenter:eventlog[761848].iregexp("Job.Execute() failed. (ex.Message = System.Exception: Exception: Failed in Batch: [1] of \[[0-9]*\] ---> System.Exception: Exception: Failed in Batch: [1] of \[[0-9]*\]] ---> System.IO.IOException: The network name cannot be found.")}

The expression as you have it here seems to be invalid - looks like you have accidentally added some example value inside the function parameters.
You can look for the trigger firing on the dashboard or in the Monitoring -> Triggers page.
In general, before even looking at triggers, verify that data is coming in and that the values match your expectations. If some trigger still does not seem to work, always provide exact trigger expression and a few example values, as well as all the things you have checked (server being running, item values being recent and so on).

Related

Activate the zabbix trigger at a certain time

I want to make the zabbix trigger work strictly at a certain time.
I read in the zabbix documentation that the time() function can help with this.
{test.domain:web.test.fail[trigger].last()}=0 and time()>000000 and time()<060000
But when i save the trigger, I get an error:
Invalid parameter "/1/expression": incorrect trigger expression starting from " time()>000000 and time()<060000".
Zabbix 5.0.18
I will be grateful for your help.
Zabbix triggers are evaluated each time a new values is received.
You can check an item at cetain times using Custom Intervals.
See: https://www.zabbix.com/documentation/current/en/manual/config/items/item/custom_intervals

"Invalid Column Name" error on old database value

I have made changes to my database on one of my table. Before I had this field:
ORDER_AMOUNT
which was a NUMERIC(5,2) field.
The field has been renamed like this:
ORDER_DETAIL_AMOUNT
But ever since then each time the app tries to take something from this table, this error occurs:
Invalid column name 'ORDER_AMOUNT'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Invalid column name 'ORDER_AMOUNT'.
I'm completely new to MySql and I'm using Visual Studio 2012, can anyone help me out understand what's the problem and how to fix this?
Same thing then : You renamed it in the design so you have to rename it in your app to.
There is probably a place where you refer to ["ORDER_AMOUNT"]. Now the app expects to see this column in the database. Since it is now called ["ORDER_DETAIL_AMOUNT"] it won't find it and will give you the error.
Change the name in the app. And Voila.

zabbix regex to trigger for wrong data type

I have an item of type float, but sometimes a string is received in case of error instead of a number. How can I make a trigger regexp to fire in this case?
I have no idea now to check for "wrong data type".
Actually this is by design and what I'm trying to do is this: if the data gathering fails, I send an error message in order to see it on zabbix end.
I tried with nodata(0), but this doesn't seem to work.
In you case zabbix will not store the "wrong" value for the item. And if you don't care what the string is then you can just setup a trigger for "nodata" for the period of your interval. Look in the triggers manual and search for the "nodata".
Edit: scratch that, didn't read the whole question ....
Edit2: if you are certain that this is not working by design and not because your trigger interval misses the data interval, then you can try to catch the unsupported status. There is an open request for the functionality, but you can setup a side script similar to this. Or you can wrap the monitored item on the node into a UserParameter script that reads the value and prints -1 or something if it is not a number. Then proceed with a normal numeric trigger.

PowerBuilder Find function throws an error "expression is not valid"

What is wrong with this code. I am checking whether there is an available record in the database before inserting a new serial number. When I enter any record whether available or not, it throws an error message:
"Expression is not valid". (PowerBuilder Classic 12.5 and SQL Server
2008)
If This.GetColumnName() = "serial_No" Then
long ll_serial
ll_serial=dw_newrecord.find(data, 1, dw_newrecord.rowcount())
if ll_serial>0 then
messagebox("validation error", "The record already exists")
return 1
end if
End If
It is likely that your data expression has a syntax error. It can be some misformed code -like missing quotes- or maybe that the column name is incorrect.
To help for tuning a filter or find expression, you can test it in the datawindow design screen via the Rows / filter menu.
A better solution for long-term coding design would be to integrate the Datawindow Debug Machine (made by a colleague of mine) to your project. It is a precious tool to prototype datawindow expressions for finding, filtering but also for dynamic objects creation / modification in a datawindow. And while correctly interfaced with a datawindow ancestor of your project, it can help with filters and find expression errors like here.
EDIT: As RealHowTo noticed, the tool has been updated. Here is the current latest version (but there is no updated demo screencast though).

object required error

Can anyone tell me the reason for this error message in report manager? My report works fine in tool. My second parameter is cascaded (derived from) to the first parameter.
When I run the report for first time it works, but when immediately change any other parameter and try to execute it gives me no data in the result and the web page shows this error:
Line: 13
Char: 692
Error: Object Required
Code: 0
Why do I receive this error?
Sounds like Javascripts version of a NullReferenceException. If that is the case, there are a billion different reasons why this could happen.