01
The alert that fails silent
What you saw
No notifications. Which, for an alert, is what a quiet week looks like.
What was happening
The automation had stopped firing weeks earlier. There is no difference between an alert that had nothing to report and an alert that is broken, unless you build one.
Give every alert a heartbeat of its own
# the alert reports events; the heartbeat reports that the alert still runs
# alert on the heartbeat going missing, not on the event
Silence is not evidence. Make the quiet path report too.
02
Connected, with zero entities
What you saw
The integration shows connected. No errors anywhere in the log.
What was happening
It had authenticated and exposed nothing. Connected describes the link, not the contents. Everything downstream of it had quietly had no data to work with.
Count what it produced, not whether it connected
# connected is a property of the link
# assert on entity count, and alert when it drops to zero
A connection that carries nothing still reports as connected.
03
A device isolated from the thing it needs
What you saw
The device is on the network, has an address, and answers locally.
What was happening
It was on a segment that blocks outbound DNS, so every cloud call failed resolution. Locally perfect, externally deaf — and the failure surfaced as a vague cloud error, not as a DNS problem.
Resolve from the device's own segment
# test name resolution from the segment the device is on,
# not from your laptop on a different one
Working on your network is not working on its network.
04
An automation with no control
What you saw
The switch reports on. The dashboard shows the device running.
What was happening
The switch reports its own relay state, not the state of the equipment plugged into it. The relay was closed and the thing behind it was off. The loop was open the whole time.
Measure the outcome, not the command
# the relay says what it was told to do
# power draw says what actually happened
# alert on the second one
Without feedback you are not automating, you are hoping.
House rules: no real addresses, no real hostnames, no topology — every screen is
generic, scale figures only. No sponsors. Open-source tools get named; anything for-profit stays
generic. Every failure here happened in this rack.