Alert not working as desired, on not-decreasing counter measurement

Hi,

can anybody help fixing and understanding what is best approach?
Data comes from InfluxDB. Intent is to trigger an alert when a counter (never decreasing, yellow graph) does not increase for a certain time.
The idea is to calculare spread() of the counter every 4m intervale (counter increases every 4m and is sampled every 1m), and pick only the cases where there are more than 1 points (c>1) (to avoid spread(<1 point>)=0, leading to false positives) and min(<spread>)=0.

Below is a practical with false positives:


The the above image:

  1. is true positive desired alert
  2. is false positive, likely due to missing (null) data (in yellow)
  3. is a mistery

Some questions:
a. How comes 3. triggers?
b. How could I avoid 2. false positives, in case counter data is not sampled (tried fill(linear) (https://docs.influxdata.com/influxdb/v1.8/query_language/explore-data/#group-by-time-intervals-and-fill) not with great success)
c. What is best way to achieve intent?

Any help is welcome.

Cheers,
Dataselfservice team

One more thing…

Below the Alert configuration:


I have a bit of doubts on the For=0 in combination with No data https://grafana.com/docs/grafana/latest/alerting/create-alerts/#rule): my intent is to immediately trigger the alert, without waiting any For time.