Инструментарий: Новые продукты для ИТ-профессионалов

Наблюдайте за веб-сервисами и журналами событий с помощью этих простых в использовании решений.

Грэг Стин

HTTPie

Чем больше приложений и данных вы переносите в облако, тем чаще приходится вести мониторинг и тестирование веб-сервисов. HTTPie — бесплатный инструмент с открытыми исходными текстами, который помогает тестировать, верифицировать и визуализировать веб-сервисы, основанные на HTTP (рис. 1). Это клиент, выполняемый в командной строке; в аннотации утверждается, что цель его разработки — «сделать взаимодействие с веб-сервисами из интерфейса командной строки как можно более дружелюбным к пользователю».

Клиент HTTPie, выполняемый в командной строке, форматирует и расцвечивает HTTP-ответы так, чтобы они были удобнее для понимания. Он написан на Python, так что вам придется познакомиться с Python, если вы раньше с ним не работали. Чтобы облечить себе жизнь, ознакомьтесь с удобным руководством по установке, в котором рассказывается, как сделать так, чтобы HTTPie работал в Windows. Приложение активно развивается и его требования меняются, поэтому перед установкой посетите его сайт, чтобы посмотреть, какой метод установки (Python, curl, pip или HTTPie) подходит для вашей системы и соответствует текущему состоянию приложения.

HTTPie — это средсто работы с HTTP-запросами/ответами. Вы можете без труда выполнять различные HTTP-методы, такие как GET, POST, PUT и DELETE и смотреть ответы. Для того, чтобы отправлять данные напрямую веб-сервисам, этот простой и гибкий клиент, работающий в командной строке, поддерживает обычные формы, формы закачивания файлов и формат данных JSON.

Для случая, когда надо отправить данные, которые не совсем удобно задавать в командной строке, HTTPie поддерживает перенаправление ввода через stdin. При этом данные буферизуются и отправляются как тело запроса. Например, можно передать данные в HTTPie по конвейеру из другой программы или прочитать файл данных, перенаправив ввод с помощью <. В настоящее время HTTPie поддерживает аутентификацию Basic и Digest, а также прокси и аутентификацию через прокси. Планируется реализовать поддержку других методов аутентификации.

Можно также отключить SSL-верификацию хоста или указать собственный путь к сертификатам центров сертификации (certificate authority bundle path) для своих HTTPS-запросов. По умолчанию каждый запрос, отправляемый вами из HTTPie, не зависит от предыдущего запроса. Однако в HTTPie несложно обеспечить поддержку постоянного сеанса, указав соответствующий параметр командной строки.

HTTPie выгодно отличается от аналогов выводом ответа, который отформатирован, расцвечен и удобен для чтения. Например, HTTP-заголовки отсортированы по наименованию; JSON-данные выведены с отступами и отсортированы; а закодированные данные преобразованы в читаемые символы. Кроме того, HTTPie поддерживает двоичные ответы. Можно перенаправить вывод, получаемый в ответе, в файл или другую программу. Можно даже использовать параметр stream для буферизации данных и их деления на блоки.

Так что, если вам нужно тестировать сервисы, основанные на HTTP, обязательно обратите внимание на бесплатный проект HTTPie с открытыми исходными текстами. Он прост в использовании, его относительно несложно настроить на работу в Windows, а красиво отформатированный вывод упростит тестирование и устранение неполадок.

HTTPie

LogMeister

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

Приложение LogMeister, разработанное Technology Lighthouse, ведет наблюдение за стандартными журналами событий, такими как Application, System, Security и Directory Services и за собственными журналами событий. Также оно может вести мониторинг XML-журналов, RSS-рассылок, журналов Microsoft Windows Internet Connection Firewall (ICF) и текстовых журналов различных форматов, хотя вы должны определить эти форматы при настройке приложения.

LogMeister — решение, не использующее агенты. Вам не придется осуществлять установку удаленного клиента на каждом компьютере, за которым собираетесь наблюдать. Кроме того, это означает, что, что вам потребуются достаточные привилегии на удаленном компьютере и что в брандмаэуре необходимо открыть доступ к портам, используемым для получения данных из журналов. Можно читать данные журналов с удаленных серверов в режиме реального времени или по расписанию. Извлечение данных из журналов по расписанию удобнее в случае более подробных или более активно используемых журналов. Кроме того, это позволяет избежать замедления работы приложения или сети из-за передачи данных мониторинга журналов.

Чтобы создать хост для доступа к журналу, воспользуйтесь New Feed Wizard (мастер создания рассылки). Он предложит вам указать тип данных журнала, имя хоста, за которым нужно наблюдать, и как опрашивать хост — периодически или в реальном времени (рис. 2). Если нужна настройка на какой-либо специфический журнал, мастер позволит определить формат и сопоставление столбцов с данными. Кроме того, мастер запрашивает поправку по времени, что удобно, если серверы находятся в различных временных зонах. Вы можете синхронизировать временные метки для всей вашей среды.

Если вас интересуют только определенные типы событий журнала, такие как предупреждения или ошибки, мастер поможет создать различные фильтры журналов. Фильтры журналов — это простые сравнения, такие как «равно», «содержит», «не содержит», «больше», «меньше», «входит в диапазон времени или дат» и т.д. Для текстовых сравнений можно использовать как строковые литералы, так и сравнение с регулярными выражениями. Процесс завершается заданием имени и категории новой рассылки.

Когда начинается загрузка данных из журнала, к ним применяются ваши фильтры и оставшиеся данные сохраняются в локальном репозитарии. Можно ограничить размер хранилища, тогда LogMeister будет автоматически удалять старые события. Если вы хотите сохранять старые данные, можно архивировать их или экспортировать в базу данных.

Агрегирование журналов было бы не особо полезно без уведомлений, позволяющих узнать, что что-то пошло не так. С помощью LogMeister Notification Wizard (мастер уведомления LogMeister) можно задать критерии, по которым вы будете уведомляться о событиях из одной или нескольких ранее созданных рассылок. В критериях используется тот же набор параметров, что и при фильтрации событий. Можно также задать, чтобы уведомление происходило, только если в течение определенного периода времени обнаружено от 1 до N соответствий. Это позволяет избежать «шума» при уведомлении и сокращает количество «ложных срабатываний». Также можно ограничить отправку уведомлений определенными периодами времени.

LogMeister поддерживает уведомление через панель задач, электронную почту, вывод в файлы журналов и выполнение собственных сценариев или операций командной строки. Кроме того, в него встроены кое-какие возможности построения отчетов. Можно формировать отчеты по расписанию или по факту уведомления о событии. В отчеты выводятся данные журналов (обработанные или в исходном виде) в текстовом формате или в формате CSV, XML, RSS или HTML.

Одна лицензия на LogMeister стоит $179,99 и разрешает установить приложение один раз и работать с неограниченным числом серверов и журналов. Если нужно более одной лицензии, предоставляются скидки в зависимости от количества. На веб-сайте доступна полнофункциональная пробная версия на 30 дней. Если вас интересует только централизованное наблюдение за журналом событий Windows, обратите внимание на предлагаемое компанией приложение EventMeister, стоимостью $129,99 за одну установку.

LogMeister

Грэг Стин

Грэг Стин (Greg Steen)профессионал в области технологий, предприниматель и энтузиаст. Он всегда находится в поиске новых инструментальных средств, способных облегчить работу обслуживающих подразделений, отдела контроля качества ПО и разработчиков.