Skip to content

docs/node-mixin/alerts: use ratio for network alerts - #1861

Merged
beorn7 merged 1 commit into
prometheus:masterfrom
paulfantom:network-alerts
Oct 19, 2020
Merged

beorn7 merged 1 commit into
prometheus:masterfrom
paulfantom:network-alerts

Conversation

@paulfantom

Copy link
Copy Markdown
Contributor

Reduce noise in alerts depending on network traffic volume.

Related to openshift/cluster-monitoring-operator#937

/cc @SuperQ @simonpasquier

Signed-off-by: paulfantom <pawel@krupa.net.pl>

@simonpasquier simonpasquier left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
for context, this is the discussion that triggers the change: openshift/cluster-monitoring-operator#937 (comment)

@discordianfish discordianfish left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense, LGTM

@beorn7

beorn7 commented Oct 9, 2020

Copy link
Copy Markdown
Contributor

Hmmm, I'm not sure of this. The discussion linked above seems to revolve around an actual problem (i.e. while those few errors are harmless in practice at the moment, they are definitely not OK to happen and point towards a problem of the switch in question). I can imagine the alert is designed to detect this kind of error, and therefore deliberately not based on a ratio.

I'm not a network expert, though. I don't know for sure if on modern high-bandwidth network hardware, it's acceptable to have a certain low percentage of errors. If that's the case, we should definitely base the alerts on a ratio. If not, i.e. if any error showing up is essentially a reason to assume something is broken, I'd prefer the absolute thresholds.

@paulfantom

Copy link
Copy Markdown
Contributor Author

Considering that most network QoS settings are based on the rate and most networking nomenclature circulates around rates like PER (packet error rate) or BER (bit error rate). It seemed to me like a good idea to also base an alert on a rate.

Digging deeper, RX and TX errors are cumulative and can be increased when one of the following happens:

  • too-long-frame error
  • ring-buffer overflow error
  • CRC error
  • frame alignment error
  • fifo overrun
  • missed packets

Those can happen for various reasons: firewall misconfiguration, NIC dying, microwave near an access point, etc. In those cases, it is not important that a small number of errors happened, but that there is a constant error ratio increase. A small number of errors can be handled without much delay and without disruption to running services (especially in case of TCP as it will cause packets to be resent). On top of that, some network mediums will inherently have a fairly stable high error number due to an underlying physical medium (basically every over-the-air network).

@beorn7

beorn7 commented Oct 12, 2020

Copy link
Copy Markdown
Contributor

Thanks @paulfantom . Makes a lot of sense, too. @tomwilkie originally authored this. @tomwilkie : did you have anything in mind that we missed in the discussion so far?

@paulfantom

Copy link
Copy Markdown
Contributor Author

Any updates on this?

@beorn7 beorn7 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess @tomwilkie had enough time to intervene. Silence == consent. Approved!

@beorn7

beorn7 commented Oct 19, 2020

Copy link
Copy Markdown
Contributor

Merging as @discordianfish has approved this, too.

@beorn7
beorn7 merged commit 9c9c636 into prometheus:master Oct 19, 2020
@paulfantom
paulfantom deleted the network-alerts branch October 19, 2020 11:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants