Рубрики
Uncategorized

Наблюдаемость микровизации — метрики

В моей предыдущей статье я говорил о важности журналов и различий между структурированным … Теги с DEVOPS, разработкой программного обеспечения, программирования, микросервисами.

В моей предыдущей статье я рассказал о важности журналов и различий между структурированным и неструктурированным ведомством. Журналы легко интегрируются в ваше приложение и предоставляют возможность представлять данные любых типов данных в форме строк.

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

Формат

Журналы представлены как строки. Они могут быть простыми текстами, полезными нагрузками JSON или пары ключевых ценностей (например, мы обсуждали в структурированном ведении).

Метрики представлены как цифры. Они что-то измеряют (например, использование ЦП, количество ошибок и т. Д.) И являются числовыми в природе.

разрешение

Журналы содержат данные высокого разрешения. Это включает в себя полную информацию о событии и может использоваться для корреляции потока (или пути), что событие взяло через систему. В случае ошибок журналы содержат весь след стека исключения, что позволяет нам просматривать и отладки проблем, происходящих из систем ниже по течению. Короче говоря, журналы могут сказать вам Что случилось в системе в определенное время.

Метрики содержат данные с низким разрешением. Это может включать в себя количество параметров (таких как запросы, ошибки и т. Д.) И меры ресурсов (такие как процессор и использование памяти). Короче, метрики могут дать вам Счет чего-то, что произошло в системе в определенное время.

Расходы

Журналы дорогие для хранения. Накладные расходы на хранение журналов также увеличиваются с течением времени и прямо пропорциональны увеличению трафика.

Метрики имеют постоянный накопитель накладной. Стоимость хранения и извлечения метрик не увеличивается слишком много с увеличением трафика. Тем не менее, в зависимости от количества переменных, которые мы испускаем с каждой метрикой.

Метрики идентифицируются двумя ключевыми композициями информации:

  • Метрическое имя
  • Набор пар ключевых ценностей под названием теги или метки

Перестановка этих значений обеспечивает метрику своей кардинальности. Для е.Г. Если мы измеряем утилизацию процессора системы с 3-хостыми, метрика имеет значение мощности 3, и может иметь следующие 3 значения:

(name=pod.cpu.utilization, host=A)
(name=pod.cpu.utilization, host=B)
(name=pod.cpu.utilization, host=C)

Точно так же, если мы ввели еще один тег в метрике, который определил регион AWS Hosts (скажем, US-West-1 и US-West-2), теперь у нас теперь будет метрика со значением мощности 6.

Золотые сигналы

Золотые сигналы являются эффективным способом мониторинга общего состояния системы и выявлять проблемы.

  • Наличие: Состояние вашей системы, измеренное с точки зрения клиентов, для E.G. Процент ошибок на общих запросах

  • Здоровье: Состояние вашей системы, измеренное с использованием периодических пингов

  • Скорость запроса: Скорость входящих запросов к системе.

  • Насыщенность: Насколько свободна или загружены система. Для е.Г. глубина очереди или доступная память.

  • Утилизация: Насколько занят система. Для е.Г. Загрузка CPU или использование памяти. Это представлено в процентах.

  • Скорость ошибок: Скорость ошибок, производимых в системе.

  • Задержка: Время отклика системы, обычно измеряемое в 95-м или 99-м процентиле.

Ресурсные метрики

Метрики ресурсов почти всегда доступны по умолчанию из поставщика инфраструктуры (AWS CloudWatch или метрики Kubernetes) и используются для контроля здоровья инфраструктуры.

  • CPU/Использование памяти: Использование основных ресурсов системы

  • Количество хоста: Количество хостов/стручков, которые выполняют вашу систему (используются для обнаружения проблем доступности из-за сбоев POD)

  • Живые темы: Темы породили ваш сервис (используются для обнаружения проблем в многопоточке)

  • Использование кучи: Статистика использования памяти кучи (может помочь отлаживать утечки памяти)

Бизнес метрики

Бизнес метрики могут быть использованы для контроля гранулированного взаимодействия с основными API или функциональными возможностями в ваших услугах.

  • Скорость запроса: Скорость запросов к API

  • Скорость ошибок: Скорость ошибок, брошенных APIS

  • Задержка: Время, необходимое для обработки запросов APIS

Поскольку метрики хранятся в базе данных временной серии, это более эффективно и надежно проводить запросы против них для измерения состояния системы.

Эти запросы могут быть использованы для создания приборных панелей для представления исторического состояния системы.

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

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

В этой статье мы увидели различия между метриками и бревнами, и как метрики могут помочь нам более эффективно контролировать здоровье нашей системы. Метрики также могут быть использованы для создания приборных панелей и предупреждений с использованием программного обеспечения для мониторинга, такого как WaveFront и Grafana.

Наибольшая задача, однако, в обработке метрик решает правильное количество кардинальности, которая делает метрики полезной, а также сохраняя свои расходы на контроль. Необходимо использовать как метрики, так и в системе координации для точно обнаружения и отладки проблем.

Примечание

Это вторая часть моего серии наблюдаемости Microuvice. Первая часть была размещена здесь. Я буду добавлять ссылки на следующие статьи, когда они пойдут вживую. Будьте на связи!!

Оригинал: «https://dev.to/theawesomenayak/microservice-observability-metrics-1l12»