Рубрики
Uncategorized

Эффективный мониторинг производительности через Appsignal

Эта статья была первоначально опубликована на Bizongo Engineering Как инженер DevOps, мы часто … Теги с DEVOPS, производительностью.

Эта статья была первоначально опубликована на Bizongo Engineering

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

Вы не можете гарантировать надежность, если вы не знаете, когда все сломаются.

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

Для мониторинга ключевых параметров через спектр, как

  1. Метрики хоста ( CPU, память, нагрузка, диск IO, сеть IO и т. Д. )
  2. Метрики приложений ( Пропускная способность, время отклика, аномалии, фоновые задания, такие как Sidekiq, частоты ошибок и т. Д. ) для API
  3. Есть данные, собранные в приборной панели временных серий для анализа тенденций.
  4. Запусковые оповещения, если какая-либо метрика превышает или падает ниже определенных порогов.

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

  • Особенности, такие как метрики хоста/приложения в простом для просмотра приборной панели.
  • Оповещение через электронную почту, провисание и другие 3-й партийные интеграции, такие как JIRA, GitHub и пользовательские веб-крюки.
  • Удержка данных и конфиденциальность соответствует правилам.
  • Ценовые модели вместе с применимыми налогами.

Предыдущий провайдер Bizongo Site24x7 в то время как всесторонне рекомендуется, не соответствовал нашим требованиям в долгосрочной перспективе вместе с несколькими проблемами.

Учитывая критерии, перечисленные в сегменте выше — мы исключали с открытым исходным кодом, самих размещенные решения, такие как Prometheus , Netdata. В настоящее время, поскольку это будет дополнительный накладной расход, чтобы построить, отладки и улучшить их.

В ходе этой деятельности у нас были всеобъемлющие обсуждения с несколькими вышеупомянутыми поставщиками SAAS, а также доказательств демо-концепций. Наша первоначальная реакция экспериментировала с Ньюрелич , очень рекомендованный программной индустрией. Тем не менее, оказалось, что он экономически незвыносится для масштабирующей инфраструктуры Bizongo, несмотря на лучшие в классные особенности.

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

В конце концов, мы обнаружили Appsignal И после предварительного разговора со своей командой мы продолжили оценивать его в пробном режиме 30 дней. Мы установили его на нашей постановке окружающей среды и впоследствии одним из наших бэкэндов наших производственных услуг. Это было сделано для того, чтобы проверить его совместимость с нашим приложением и к счастью, ничто не пошло на юг. Между тем, мы также регулярно подняли поддержку запросов, как мы делаем для всех вышеуказанных поставщиков.

К концу испытательного периода мы заключили, что он выполнил все наши требования к мониторингу эффективности. Одним из заметных недостатков было только поддерживает только Ruby/Elixir Приложения на данный момент Но так как мы в первую очередь, в первую очередь рубин-рельсы, мы чувствовали, что это может быть упущено.

Тем не менее, такие функции, как доступные Цены Основываясь на запросах, чем серверах, частые выпуски новых версий, минимум 30-дневной удержания и звездной поддержки ( запросы направлены непосредственно для инженеров, которые строят его, чем техническую справку ).

  • Для Backend Ruby Apps — через Appsignal Gem Authentication с помощью клавиши Push API ( лучшая практика, которую они рекомендуют, это не совершать его через код, но определяется как переменная среды appsignal_push_api_key )
  • Дальше настраивание через config/appsignal.yml В каждом приложении можно сделать, чтобы определить среды ( QA, постановка, производство ) и параметры, которые должны быть включены или исключены.
  • После того, как сервер приложений ( PUMA, Unicorn, Passenger и т. Д. ) перезагружается, агент службы в качестве расширения GEM запускает релейные метрики.
  • Для приложений Frontend/Non-Ruby — через агент с использованием менеджеров по пакетам ОС ( Мы автоматизировали это через Anbible для вновь обеспеченных серверов )
  • Это может быть изменено через /etc/appsignal-agent.conf При этом агент работает на Plocalhost UDP Port 8125 для ретрансляционных метрик.
  • Кроме того, поскольку версии 1.0 драгоценного камня Ruby, пользовательские панели мошенничества могут быть созданы в формате YAML ( v2.8.x предоставляет метрики для Puma, Sidekiq без настроек )
  • Как только вы настроите, ниже, как выглядит интерфейс ( изображения только для представления )

Сразу после Appsignal мы заметили несколько медленных API, которые были закреплены, чтобы улучшить их производительность от пары до миллисекунд. Кроме того, теперь у нас есть мониторинг платформы нашей инфраструктуры независимо от количества серверов, поскольку мы учтены только для трафика. Все это с точным оповещением, историческими данными, Nifty 3-й партийной интеграции ( Slack, Jira, Github, Pagerduty и т. Д. ) и действующие метрики.

Что вы используете для мониторинга вашей инфраструктуры и почему?

Оригинал: «https://dev.to/vinayhegde1990/effective-performance-monitoring-via-appsignal-536i»