Что такое Stackify?
Stackify предоставляет облачные серверные приложения для управления производительностью и инструментами мониторинга и устранения неполадок, которые называются Smart Error и Log Management (SmartELM). В этом руководстве я собираюсь познакомить вас с его уникальными мощными функциями SmartELM, которые особенно полезны для профессиональных разработчиков, занимающихся мониторингом и устранением неполадок в рабочем коде после развертывания.
Для многих из нас журналы — пренебрегаемые пасынки кодирования; для профессиональных программистов они важны, но часто не соответствуют своей полезности. Stackify меняет это, предоставляя своего рода регистратор полета в кабине для вашего приложения.
Как только ваше приложение выйдет из производства, насколько доступными и полезными будут ваши файлы журналов? Там тонна данных. Вам нужно получить к нему доступ. Необходимые файлы могут быть распределены по нескольким серверам или границам служб. Это простые файлы, которые трудно найти и которые трудно прочитать. Им также часто не хватает контекста — например, какая учетная запись пользователя или метод связаны с записью в журнале. Тогда есть сложность управления файлами по мере их роста — позвоните системному администратору, верно? Хорошо, что вы были добры к ним в последнее время.
Интеллектуальное отслеживание ошибок и управление журналами Stackify решает многие из этих проблем.
На высоком уровне Staelify SmartELM делает следующее:
- Объединяет все данные журнала и исключений в одну службу.
- Делает это доступным, мгновенно, всем в вашей команде.
- Представляет временную шкалу регистрации всей вашей инфраструктуры стека, тестирования и производственного сервера.
- Сильно проиндексирован, доступен для поиска и «умен».
Как только вы начнете регистрировать данные своего приложения в Stackify, вы можете сделать следующее:
- Управление и поиск журналов по всем вашим приложениям и серверам.
- Превратите необработанные ошибки в интеллектуальные ошибки, основанные на запросах.
- Просмотр коллекций записей в журнале, связанных с конкретной ошибкой.
- Получать оповещения на основе частоты ошибок и постоянных запросов журнала, таких как новые исключения, всплески ошибок и повторное появление разрешенных проблем.
В конечном итоге эти функции помогают быстрее находить и устранять проблемы приложений.
Вы можете запустить Мониторинг сервера и приложений Stackify вместе с Smart Logs и Error Management или вы можете запустить их независимо. Несмотря на то, что в этом руководстве основное внимание будет уделено SmartELM, я также познакомлю вас с основами службы мониторинга.
Установка Stackify мониторинга
Вы можете найти документацию по установке для вашей платформы здесь . Я использую Stackify с Linux .
Stackify обеспечивает поддержку мониторинга для Windows, Linux и Azure, а также регистрацию ошибок и ведение журнала для .NET и Java. Поддержка PHP, Node.js, Python и Ruby появится в ближайшее время.
Зайдите в меню настроек и прокрутите вниз, чтобы получить ключ активации:
Войдите на свой сервер и выполните следующие команды, чтобы установить агент за один шаг:
1
2
|
sudo -s
wget https://s1.stackify.com/Account/AgentDownload/Linux —output-document=stackify.tar.gz && tar -zxvf stackify.tar.gz stackify-agent-install-32bit && cd stackify-agent-install-32bit && ./agent-install.sh
|
Вам нужно будет вставить ключ активации сверху. Вы должны увидеть что-то вроде этого:
Дайте приложению немного времени, чтобы начать сбор данных, и затем вы можете продолжить работу ниже. Вы также можете изучить изолированную программную среду Stackify — подробный обзор функций в этом сообщении в блоге и инструкции по изолированной программной среде в самом конце (прокрутите страницу вниз).
Панель инструментов Stackify
Панель мониторинга Stackify дает вам представление о состоянии ваших серверов и приложений с помощью телеметрии на основе времени и выделения событий, которые вы должны исследовать.
Как только данные поступят, ваша панель мониторинга Stackify будет выглядеть примерно так:
Вот крупный план панели инструментов:
Стеки перечисляют приложения и службы, которые вы используете:
Мониторинг показывает, что происходит на определенных серверах:
Вы также можете фильтровать между вашей средой разработки, тестирования и производства:
Теперь, когда вы получили общее представление о среде Stackify, давайте углубимся в интеллектуальное отслеживание ошибок и управление журналами (SmartELM).
Интеллектуальное отслеживание ошибок и управление журналами
Существует несколько ключевых сценариев, для которых вы хотите использовать SmartELM, таких как идентификация и уведомление о:
- Новые исключения
- Повторное появление или повторение разрешенных проблем, для которых вы настроили фильтры
- Пики ошибок в последнюю минуту или последний час
- Более глубокий анализ ошибки и ее источника
Я расскажу вам, как Stackify помогает вам в этом. Но сначала давайте рассмотрим установку соответствующих приложений журнала.
Stackify создал приложения для ведения журналов для нескольких наиболее распространенных сред. Вы можете узнать больше об их установке из онлайн-документации: Руководства по установке логов и метрик . Я также предоставил отдельные ссылки ниже:
Если вы используете NuGet из Visual Studio, вы можете быстро и легко найти и интегрировать библиотеки журналов и конфигурации Stackify. Просто найдите Stackify, а затем установите соответствующий appender:
Как только они будут установлены, Stackify начнет отслеживать и записывать ошибки и журналы.
Когда вы посещаете страницу панели ошибок, вы увидите что-то вроде этого:
График в верхней части показывает нам визуальное представление частоты ошибок во времени. Резюме подробно описывают конкретные ошибки, возникающие в нашем коде. Stackify позволяет избежать дублирования сообщений об ошибках, поэтому вы просто видите уникальные события.
Этот вид может быть полностью настроен с помощью различных фильтров. Вы можете нажать « Активно» , « Разрешено» или « Регрессивно», чтобы увидеть проблемы, основанные на их известном состоянии. Вы можете установить фильтры по приложению , среде или серверу . И вы можете настроить набор полей, показанный в табличном представлении.
Допустим, вы хотите посмотреть на определенный временной интервал для события. Вы можете визуально выбрать этот временной диапазон на графике, чтобы ограничить запрос ошибок:
Обратите внимание на то, как намеченный временной диапазон частоты событий изменяется с выбором, и количество ошибок под графиком также корректируется, чтобы отображать только те, которые находятся в пределах определенного временного диапазона.
Давайте увеличим первую ошибку, появляющуюся в Резюме . Эта ошибка произошла 172 раза в этом узком временном интервале, поэтому нам нужно исследовать ее подробнее:
Нажмите на описание ошибки, и вы увидите широкий спектр информации об ошибке. Вот верхняя строка информации:
Прокрутите вниз, и вы увидите контекстные данные, отображаемые в формате JSON. Ниже мы обсудим, как вы можете регистрировать события с большей детализацией и контекстом.
Прокрутите дальше, и вы увидите серверные переменные с событием:
Теперь перейдем к странице « Журнал» (вы также можете сузить временной диапазон с помощью визуального выбора):
Вы просматриваете журналы, записанные во время ошибки на ваших серверах, агрегированных Stackify, без необходимости запрашивать у вашей SysAdmins какую-либо специальную помощь или доступ.
Вы также можете выполнить полнотекстовый поиск по этим файлам журнала:
И вы можете сохранить эти поиски, чтобы быстро отфильтровать конкретные проблемы в производстве:
Значок ошибки связан с модальным отображением сведений об ошибке. Нажатие на синий начальный раздел гиперссылки JSON — это то, что показывает структурированные данные, которые были зарегистрированы.
Затем, нажимая на красные значки «жучков», я могу увеличить структурированные данные, которые я записал вместе с событием, такие как customerid, email и orderid:
Переосмысливая, как разработчики журнала
Stackify пытается побудить разработчиков переосмыслить логирование:
Ведение журнала часто является одним из немногих путей выживания, которые вы имеете в производственных средах, где вы не можете физически подключаться и отлаживать. Вы хотите регистрировать как можно больше релевантных контекстных данных.
Другими словами, регистрируйте больше, регистрируйте больше в контексте — и Stackify будет управлять и помогать разобраться в данных для вас.
Как упоминалось ранее, Stackify создал приложения для ведения журналов для нескольких наиболее распространенных сред:
- log4net
- log4j
- NLog
- Logback
- Elmah
И вы можете написать непосредственно в его API для настройки данных контекстного журнала. Например, простая строка кода для регистрации события с помощью объекта, показанного ниже:
log.Debug("Created a Foo", foo);
Создает подробный контекст в представлении Stackify файла журнала следующим образом:
Другие сценарии позволяют использовать Stackify
Система раннего предупреждения о пиках в процентах ошибок
Вы можете попросить Stackify отслеживать частоту появления ошибок в вашей среде, уведомляя вас о предупреждении или срочном пороговом значении:
Запуск фоновых задач
Вы также можете установить их для ожидаемых системных событий. Например, вы можете установить монитор скорости, чтобы убедиться, что ваша фоновая задача выполняется три раза каждые пятнадцать минут; если этого не произойдет, Stackify предупредит вас.
Вы также можете настроить группы уведомлений, чтобы нужные люди получали уведомления о нужных событиях:
Оценка покрытия тестового сценария
Вы также можете измерить изменение частоты ошибок при перемещении кода из теста в производство. Например, если в ваших тестовых сценариях не отображаются те же ошибки и частоты ошибок, которые вы испытывали в процессе производства, Stackify может помочь вам определить области кода, требующие более автоматизированного тестирования.
Узнайте больше о SmartELM
Вы можете прочитать больше о SmartELM в действии в разделе «Умные ошибки и журналы: использование данных для работы» в блоге Stackify. Вы можете найти более подробную документацию по панели инструментов ошибок здесь и панели инструментов журналов здесь .
Я надеюсь, что вы впечатлены решениями Staelify SmartELM. Я многому научился, узнавая продукт.
В заключение
Сложная облачная служба отслеживания ошибок и управления журналами Stackify позволяет:
- Получать уведомления по электронной почте или тексту о новых и регрессивных ошибках и всплесках ошибок.
- Перейти к журналам со структурированными данными контекста из вашего кода.
- Проводите расширенный текстовый поиск по всем вашим ошибкам.
- Фильтрация журналов по ошибке, по времени или по пользовательским переменным, например, по IP-адресу или идентификатору клиента.
- Сохраняйте результаты поиска и отслеживайте результаты поиска.
- Сообщите нужным членам команды точно в срок.
Stackify активно поощряет разработчиков изменить свое мышление на ведение журналов и предоставляет мощные функции, которые делают это целесообразным, например, ведение журнала, ведение журнала с Stackify; они будут управлять данными и показывать контекстные данные по проблеме, которую вы исследуете. Stackify также имеет инструмент мониторинга приложений, который полностью интегрирован с платформой SmartELM, представленной в этой статье, что позволяет разработчикам также отслеживать общую производительность приложений, удовлетворенность клиентов, серверы, базу данных, конкретные URL-адреса и пользовательские метрики.
Stackify — это инструмент для профессиональных разработчиков, которые хотят повысить производительность своей игры.
Зарегистрируйтесь на бесплатную пробную версию в Stackify ; Вы также можете получить доступ к их документам через сайт.
Пожалуйста, оставьте любые комментарии или дополнительные идеи ниже. Я стараюсь участвовать в дискуссиях. Дайте нам знать, если вы хотите узнать больше о Stackify. Вы можете просмотреть мои другие учебники Tuts + на моей странице автора или подписаться на меня в Twitter @reifman .
Ссылки по теме
- Stackify.com
- Smart Error & Log Management (обзор)
- Stackify Case Studies
- 3 способа разобраться с ошибками и ведением журнала (блог Stackify)
- 3 набора данных, которые приводят контекст к исключениям (блог Stackify)
- Разумные ошибки и журналы: использование данных для работы (блог Stackify)