In this particular instance, I would simply respond to the caller with an appropriate error code and be on my way. The other team should be responsible with dealing with such an issue. The writer implies they had no choice but I don’t buy it, if you design the system in such a way to not allow corrupt data to begin with, it becomes the callers responsibility to handle these issues.
Good and Bad Monitoring
11–20 of 28 posts
Re: Good and Bad Monitoring
#12Good: Alerts on business level metrics
Bad: Alerts on machine level metrics
Knowing that checkout volume is sharply down is far more valuable than knowing that CPU on one of the checkout servers is way up. Mainly because that high CPU may have no customer effect, so it's really not all that urgent.
Re: Good and Bad Monitoring
#13We would then send the alert creator reports what percent of recipients said yes. That alone got people to realize that a lot of their alerts were unnecessary and get rid of them. As a bonus, the most useful alerts actually got subscriptions from other people on other teams because it was such a useful indicator.
Re: Good and Bad Monitoring
#14The most important thing that was missed: Good: Alerts on business level metrics Bad: Alerts on machine level metrics Knowing that checkout volume is sharply down is far more valuable than knowing that CPU on one of the checkout servers is way up. Mainly because that high CPU may have no customer effect, so it's really not all that urgent.
Re: Good and Bad Monitoring
#15> Bad: HTTP 400 > On the other hand, HTTP 400 level errors mean the client screwed up. This is bad general advice. HTTP 4xx errors mean the client screwed up, OR you screwed up (a change that e.g. increases 404 rate due to eventual consistency, returns 404 for all content, breaks auth, returns the wrong status code, etc.). Either way the content is inaccessible to the client, the person visiting your website doesn't…
Cover mistakes with robust probers that should get 200 and then alert on any non-200 response.
Re: Good and Bad Monitoring
#16The most important thing that was missed: Good: Alerts on business level metrics Bad: Alerts on machine level metrics Knowing that checkout volume is sharply down is far more valuable than knowing that CPU on one of the checkout servers is way up. Mainly because that high CPU may have no customer effect, so it's really not all that urgent.
Why not both? Scraping machine level metrics works out of the box with most agents
Re: Good and Bad Monitoring
#17Dashboards are great for at-a-glance metrics roll-up. Build small, single-page, targeted dash that answers questions your user asks, and they'll be used. I want to see the lay of the land and know I'm heading into the weeds, instead of being kicked in the shin by a monitoring alert when I'm already in the weeds.
Re: Good and Bad Monitoring
#18Re: Good and Bad Monitoring
#19The most important thing that was missed: Good: Alerts on business level metrics Bad: Alerts on machine level metrics Knowing that checkout volume is sharply down is far more valuable than knowing that CPU on one of the checkout servers is way up. Mainly because that high CPU may have no customer effect, so it's really not all that urgent.
I agree partially. I would make it more general though: alert on symptoms of problems. Those can be business metrics, like the one you suggested in your example, or they can be system level, like rate of errors, or a queue that's growing out of control.
> Bad: Alerts on machine level metrics
100% agree. There is no excuse for that. A CPU working overtime with no customer impact (no symptoms of problems) is an efficient system. I'm paying for that CPU, I'd like to use it. If I get an alert every time I use something I pay for that will only drive me to pay more so it shuts up - even though there was no problem to begin with.
Re: Good and Bad Monitoring
#20Elevated 400, 401, or 403 errors could mean that a bug was introduced in session or cookie handling middleware, client, or server code.
Elevated 200s means it could be a DDOS attack or issues with client-side polling.
Etc..
Alert on status code anomalies, not on volume/percentage of certain status code.