Коротко о наблюдаемости и мониторинге

Коротко о наблюдаемости и мониторинге

21 марта 2022 г.

:::Информация


«Если вы не можете измерить, вы не можете это улучшить» — кто-то из известных людей


Понимание различий


  • Мониторинг  —  понимание состояния системы на основе сбора предопределенных наборов метрик или журналов.

  • Наблюдаемость — выводить состояние системы на основе изучения свойств и паттернов, не определенных заранее.

По сути, мониторинг основан на сборе и отображении данных, обеспечивающих ограниченное представление о системе, тогда как наблюдаемость может прогнозировать состояние системы на основе генерируемых ею данных (журналы, метрики, трассировки).


Многие рабочие места в области программного обеспечения (особенно SRE) включают в себя различные технологические стеки мониторинга, можно утверждать, что вы можете зарабатывать на жизнь только за счет освоения этих конкретных технологий.


инструментальный ландшафт


Ландшафт инструментов может показаться пугающим. И на первый взгляд это кажется ошеломляющим, тем более что каждая технология имеет определенную номенклатуру, такую ​​как сервер пересылки, индексатор, экспортер, источник данных, контроллер и т. д. Чтобы разобраться во всех этих вопросах, нам нужно знать основы.


Метрики системы и метрики приложений


Обычно системные метрики охватывают метрики, связанные с инфраструктурой, такие как потребление ЦП и памяти, дисковый ввод-вывод, сетевой ввод-вывод, тогда как метрики приложений относятся к частоте ошибок, запросам в минуту и ​​среднему времени отклика.


Агент против безагента


Иногда может потребоваться, чтобы в вашей системе был развернут какой-либо агент (например, Splunk forwarder, агенты приложений AppDynamics), а в некоторых случаях нет необходимости в агенте, например, Prometheus, который использует модель извлечения HTTP для заполнения. база данных временных рядов.


Мониторинг push и pull


В модели push агенты передают свои данные в систему мониторинга, тогда как в модели pull система извлекает данные от агентов. Ключевое отличие состоит в том, что в подходе, основанном на проталкивании (Nagios, Zabbix), центральная система мониторинга знает достаточно много о метриках, тогда как в подходе, основанном на вытягивании (Prometheus, Datadog), основная система мониторинга ничего или очень мало знает о метриках. поступающие показатели.



Инструментальный ландшафт


  • Коллекция показателей: [Prometheus] (https://prometheus.io/), [Stackdriver] (https://cloud.google.com/products/operations), [InfluxDB] (https://www.influxdata.com). /продукты/influxdb/)

  • Агрегация журналов: Fluentd, Logstash

  • Трассировка: [OpenTelemetry] (https://opentelemetry.io/), [Jager] (https://www.jaegertracing.io/), [Zipkin] (https://zipkin.io/)


  • Панель инструментов и визуализация: Grafana, Kibana

Мониторинг может означать многое


В качестве совета важно понимать, что мониторинг может отличаться от одной компании к другой, ничего не написано на камне.


Одним из способов измерения наблюдаемости в организации является проверка следующих аспектов:


  • Предупреждения: сколько предупреждений генерируется в неделю? Какой процент предупреждений обрабатывается в нерабочее время?

  • Конфигурация системы мониторинга: Находится ли система мониторинга под контролем версий? Сколько запросов на включение/изменение было отправлено в репозиторий, содержащий систему мониторинга?



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE