Рубрики
Uncategorized

Как отслеживать ваши системные зависимости

Простой трюк для публикации метрик для всех ваших зависимостей. Помечено с Go, DevOps, AWS, Учебник.

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

Когда дело доходит до вашей системы здоровья, мониторинг ваших зависимостей так же важно, как мониторинг вашей системы. Если ваша система испытывает проблемы, ваши системные панели и аварийные сигналы должны выделить, если одна из ваших зависимостей имеет плохое время. В остальной части статьи я показываю простой шаблон для мониторинга ваших зависимостей. Примеры используют CloudWatch встроенный метрический формат и Голанг, но основная идея может быть применена к другим облачным платформам или языкам.

Что такое ЭМФ?

CloudWatch встроенный метрический формат Позволяет автоматически генерировать метрики из журналов. Будучи разработчиком, вам нужно зарегистрировать метрики, так как JSON до Stdout и Cloud Watch позаботится о публикации метрики от вашего имени. Вы можете использовать один из AWS клиентские библиотеки Для Nodejs, Python или Java для создания и регистрации встроенной метрической структуры. К сожалению, в данный момент AWS не опубликовал клиентскую библиотеку для Golang, которая означает, что вам нужно создать объект JSON, следуя схеме, описанной в Спецификация . Это относительно простым и неудивительно, что немногим сообществом поддерживает проекты, которые именно делают именно то, что, например AWS-Embedded-Metrics-Golang Отказ

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

Инструмент клиента

Основная идея состоит в том, чтобы инструмент клиента, который вы используете для вызова вашего сервиса. Независимо от языка или библиотеки, которую вы используете, он почти уверен, что клиент, который вы используете для вызова ваших зависимостей, позволяет подключить пользовательскую логику. Вы можете использовать его для регистрации метрики EMF. Например, предполагая, что вы используете HTTP-клиент Golang, вы можете реализовать интерфейс круглых машин:

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

Инструмент Различный клиент очень похож. Например, здесь мы инструментом Golang AWS SDK для регистрации звонков, сделанных для других услуг AWS:

Выводы

С AWS CloudWatch Вы можете легко настроить мониторинг для ваших ресурсов AWS и приложений. EMF — очень удобный способ подключить пользовательские метрики в вашей системе. Как я уже упоминал, шаблон довольно универсален, и вы можете легко портировать его на другие языки или даже другие системы мониторинга.

Если вы разрабатываете на AWS, возьмитесь также посмотреть на AWS рентген Отказ С aws рентген вы можете визуализировать и проанализировать здоровье, производительность и доступность ваших приложений в одном месте и увидеть сквозное представление запросов, поскольку они проходят через ваше приложение.

Следуй за мной на Twitter Чтобы получить новые сообщения в вашем канале. Кредит на изображение обложки на Люк Chesser на Бессмысленно .

Оригинал: «https://dev.to/napicella/how-to-monitor-your-dependencies-15ii»