Вопрос или проблема
У меня есть большое количество логов Apache, которые я хотел бы просто пролистать. Однако, поскольку каждая строка очень длинная, это довольно трудно сделать в vim – мой терминал просто недостаточно длинный.
Я хотел бы родное приложение для OS X, чтобы просматривать каждый элемент удобным способом. Всё, что мне нужно, это большой читаемый спискок запросов, с возможностью поиска. Требования:
- Работать на OS X 10.10 (и 10.11, когда она выйдет)
-
Принимать лог-файл стандартного формата – стандартная строка из моего лога, например, выглядит так:
subdomain.mydomain.com:80 xx.yy.zz.aa - - [28/Sep/2015:03:05:46 +0000] "POST /mini-profiler-resources/results HTTP/1.1" 200 65182 "http://metasmoke.erwaysoftware.com/posts" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36\ **0/99106**
Я никак не изменял настройки формата логов, насколько мне известно.
-
Быть бесплатным, я не готов платить за это
Будет неплохо иметь:
- Открытый исходный код был бы большим плюсом
- Цветовая кодировка для ответов – т.е. красный для ошибок класса 400/500, черный для 200, зеленый для 300 и т.д. Идеально было бы, если это можно было бы настраивать пользователем, но я менее всего обеспокоен этим
- Разрешить мне искать/фильтровать по всем полям или только по одному полю – т.е. все запросы от определенного паука и т.д.
- Позволить мне указать SSH-ключ и путь, чтобы автоматически получить файл, не копируя его вручную на локальную машину.
Существует ли программное обеспечение, которое могло бы это сделать?
lnav – это то программное обеспечение, которое вам нужно:
- Открытый исходный код
- Бесплатно (в смысле пива)
- Работает на macOS
- Цветовая кодировка
- Расширенные функции поиска
ELK Stack или Splunk сделают то, что вам нужно, и даже больше. Splunk бесплатен, если ваш объем данных меньше 500 МБ в день.
Конечно, здесь требуется немного больше настройки, чем у командных инструментов. Они определенно помогут, если ваша последняя задача действительно важна:
Позволить мне указать SSH-ключ и путь, чтобы автоматически получить файл, не копируя его вручную на локальную машину.
Это цель Logstash и Splunk forwarder.
Ответ или решение
Если вы ищете инструмент для просмотра и анализа логов Apache на операционной системе OS X, есть несколько хороших вариантов, которые могут удовлетворить ваши требования. Вот наиболее подходящие из них:
-
lnav (Log File Navigator):
- Ссылка: lnav.org
- Это программа с открытым исходным кодом, которая полностью бесплатна.
- Работает на macOS.
- Поддерживает синтаксическую подсветку (color coding) для различных кодов ответов (например, красный для ошибок 400/500, черный для 200, зеленый для 300 и т.д.).
- Позволяет производить сложный поиск и фильтрацию данных по полям.
- Имеет возможность интеграции с SSH, что позволяет получать файлы напрямую с удаленного сервера без необходимости их копирования на локальную машину.
-
ELK Stack (Elasticsearch, Logstash, Kibana):
- ELK Stack — это более комплексный инструмент для сбора, хранения и анализа логов.
- Программа бесплатна, если вы обрабатываете менее 500 МБ данных в день.
- Хотя установка и настройка ELK Stack могут потребовать больше усилий, он обеспечивает мощные функции для сбора данных с удаленных серверов и аналитики.
- Logstash может собирать логи по SSH, и Kibana предоставляет интуитивно понятный интерфейс для визуализации данных.
- ELK Stack предлагает более обширные возможности настройки и фильтрации информации.
-
Splunk Free:
- Splunk — это еще одно мощное решение для анализа логов, которое бесплатно для объема данных до 500 МБ в день.
- Как и у ELK, существуют дополнительные шаги настройки и развертывания, но Splunk удобен и интуитивно понятен.
- В Splunk также можно установить настройку для сбора данных через SSH и предоставляет удобные инструменты для поиска и аналитики.
Каждое из этих решений может помочь вам эффективно просматривать и анализировать логи Apache на вашем Mac. Если ваш основной акцент на простоту использования и открытый исходный код, рекомендую начать с lnav. В то время как ELK Stack и Splunk подойдут, если вам нужно более мощное решение для работы с большим объемом данных и гибкой аналитики.