The number that matters about polling the API to see if a miner is OK, is the time since last share accepted "w_lastshareacc:N"
Here's the first worker from my API call
{"STAMP":"1476575097","rows":"10",
"workername:0":"Kano.A6","difficultydefault:0":"0","w_hashrate5m:0":"3178848226102.965820",
"w_hashrate1hr:0":"3113510633059.657227","w_hashrate24hr:0":"2147570918610.853516",
"w_elapsed:0":"2039775","w_lastshare:0":"1476575092","w_lastshareacc:0":"1476575092",
"w_lastdiff:0":"2496.000000","w_diffacc:0":"33527438.000000","w_diffinv:0":"113794.000000",
"w_diffsta:0":"112752.000000","w_diffdup:0":"1042.000000","w_diffhi:0":"0.000000",
"w_diffrej:0":"0.000000","w_shareacc:0":"13441.000000","w_shareinv:0":"46.000000",
"w_sharesta:0":"45.000000","w_sharedup:0":"1.000000","w_sharehi:0":"0.000000",
"w_sharerej:0":"0.000000","w_active_diffacc:0":"199680.000000","w_active_start:0":"1476574811","w_instances:0":"1",
...
For any single miner, 60 seconds since last share would be the time to send an alert.
So in the above when "STAMP":"1476575097" - "w_lastshareacc:0":"1476575092" is >= 60
For a single miner, 30s is expected to happen, on average, 3 times a day.
60s is expected to happen, on average, about once every 7 years per miner.
See more details here: (and why you may want to use 120s)
https://bitcointalksearch.org/topic/m.15998156
Edit: notice that there are 2 fields "w_lastshareacc:N" and "w_lastshare:N"
The "w_lastshareacc:N" field is the important one, since if your miner goes into convulsions and starts sending unacceptable shares, the other field will still update.