Что подразумевается под мониторингом на основе симптомов и мониторингом на основе причин?
В контексте SRE, что подразумевается под мониторингом на основе симптомов и причин? почему это так важно? И какие инструменты используются для такого мониторинга?
1 ответ
Симптомы против причин
Ваша система мониторинга должна отвечать на два вопроса: что сломано и почему?
"Что сломано" указывает на симптом; "почему" указывает (возможно, промежуточную) причину. В таблице ниже перечислены некоторые гипотетические симптомы и соответствующие причины.
"Что" и "почему" - одно из наиболее важных различий при написании хорошего мониторинга с максимальным сигналом и минимальным шумом.
пример
+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
| Symptom | Cause |
+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
| I’m serving HTTP 500s or 404s | Database servers are refusing connections |
|--------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
| My responses are slow | CPUs are overloaded by a bogosort, or an Ethernet cable is crimped under a rack, visible as partial packet loss |
|--------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
| Users in Antarctica aren’t receiving animated cat GIFs | Your Content Distribution Network hates scientists and felines, and thus blacklisted some client IPs |
|--------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
| Private content is world-readable | A new software push caused ACLs to be forgotten and allowed all requests |
+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
Инструменты, используемые для мониторинга, зависят от вашей платформы, от того, что и как вы хотите отслеживать. Например, Azure Monitor предназначен для приложений и инфраструктуры, размещенных в Azure, Amazon CloudWatch - для приложений в AWS, и этот список можно продолжить.