Hello,
I have a multiple hours running ETL Job, started and controlled by something similar to a basic linux cronjob (started at midnight). I would like to monitor the individual steps of this ETL Job and also, if at a specific time of the day something has happened or not.
For the fist part, if a step has been executed, the Steps are touching a state file after they finished. Here I have a trigger on it, with a nodata function:
Item:
Type: Zabbix agent
Key: vfs.file.time[/opt/.job.etl.stats.state]
Interval: 1m
Units: unixtime
Preprocessing: Discard unchanged
Trigger:
Name: ETL Stats Step not finished within 25h
Expression: nodata(/<host>/vfs.file.time[/opt/.job.etl.stats.state],25h)=1
Allow manual close: checked
With this Setup, I get notifications I the ETL step isn’t run in the regular time window once a day. The extra one hour I catch some variability in the duration.
Now I would like to add another trigger, which informs me if a step is not finished by a specific time of the day. For Example, the ETL Stats step has to be finished at 6 o'clock in the morning.
I tried it with a combination of fuzzytime (item is a timestamp) and time:
Expression: fuzzytime(/<host>/vfs.file.time[/opt/.job.etl.stats.state],6h)=0 and time()>060000
I know, I have a misconception here, but I don't find a solution. Does someone have an idea how to solve it?
I'm using Zabbix 6.0.9
Regards,
Hupp
I have a multiple hours running ETL Job, started and controlled by something similar to a basic linux cronjob (started at midnight). I would like to monitor the individual steps of this ETL Job and also, if at a specific time of the day something has happened or not.
For the fist part, if a step has been executed, the Steps are touching a state file after they finished. Here I have a trigger on it, with a nodata function:
Item:
Type: Zabbix agent
Key: vfs.file.time[/opt/.job.etl.stats.state]
Interval: 1m
Units: unixtime
Preprocessing: Discard unchanged
Trigger:
Name: ETL Stats Step not finished within 25h
Expression: nodata(/<host>/vfs.file.time[/opt/.job.etl.stats.state],25h)=1
Allow manual close: checked
With this Setup, I get notifications I the ETL step isn’t run in the regular time window once a day. The extra one hour I catch some variability in the duration.
Now I would like to add another trigger, which informs me if a step is not finished by a specific time of the day. For Example, the ETL Stats step has to be finished at 6 o'clock in the morning.
I tried it with a combination of fuzzytime (item is a timestamp) and time:
Expression: fuzzytime(/<host>/vfs.file.time[/opt/.job.etl.stats.state],6h)=0 and time()>060000
I know, I have a misconception here, but I don't find a solution. Does someone have an idea how to solve it?
I'm using Zabbix 6.0.9
Regards,
Hupp