On 2017-06-22, Eugene Berdnikov wrote:

> On Thu, Jun 22, 2017 at 10:31:05AM +0300, Oleksandr Gavenko wrote:
>> * длиннючие строки, grep в терминале бессмысленен, через ag в Emacs исследую
>
>  У меня xterm длинные строки не обрубает, а показывает в несколько строк,
>  и боюсь, у него это по дефолту. :) Вообще, есть less, он умеет и обрубать,
>  и переносить, и менять режим на ходу (-S). Чтобы легче было что-то найти
>  в длинной выдаче грепа, рекомендуется ставить ключик --color=auto.
>
10 переводов строк и уже нечитабельно. В Emacs по С-s можно двигаться к
нужному месту, есть история поиска и подсветка кусочков по регулярке в разные
цвета...

>> * в случае трейсов они многострочные - grep не работает
>
>  У грепа есть ключики -A и -B, рекомендую.
>
grep -B120 ?? В отличии от Python причина ошибки в Java трейсе в конце...

>> * события раскиданы по группе файлов, пока копаешься в одном, фокус на тройку
>>   других теряеться (может многотабовый редактор тут поможет, я не уверен)
>
>  Создатель поставил человеку мозг, который способен держать в фокусе
>  внимания от 3 до 7 объёктов одновременно. А уж как эти объекты перед своим
>  носом повесить -- дело вкуса: некоторые подключают к компу три монитора.
>
Если в конкретном логе сосредоточился на группе 7 событий?

Если разбор конкретного лога длиться 30 сек? Кратковременная память
человека в среднем 20 сек и в пиках до 40 сек?

>> * события из разных потоков перемешаны между собою, фильтрация из-за
>>   многострочных трейсов by grep невозможна
>
>  Вы о логах или трейсах? Трейсы в Java это отдельный мотив для суицида... :)
>
Трейс всегда идет как дополнение к комплекту. Что можно достать из события:

https://logback.qos.ch/apidocs/ch/qos/logback/classic/spi/ILoggingEvent.html

Трейсы всегда полезны и позволяют зачастую воссоздать довольно реалистично
состояние приложения.

На них смотрят если они важны. Вопрос в фильтрации, что бы не смотреть на
ненужные и grep не поможет фильтровать текстовую сериализацию ILoggingEvent.

>> Согласны ли Вы терять события в случае недоступности колектора логов или
>> гранилища логов?
>
>  Терять? Я согласен. У меня есть, например, распределённая (по паре городов)
>  почтовая система, и сетевой коллектор логов. При проблемах с сетью, понятно,
>  часть записей может быть потеряна при передаче, даже при высоком уровне
>  резервирования межофисных каналов. Но меня это не волнует. Во-первых,
>  есть ещё локальные хранилища логов на узлах, если что -- можно свериться
>  с ними. Во-вторых, я уверен, что при недостатке каких-то фрагментов я это
>  замечу. Ну и в третьих, необязательно заливать всё в хранилище на лету,
>  если нужна полнота -- есть масса способов надёжно реплицировать данные
>  по сети, пожертвовав риалтаймом. Но эти способы дороже простого риалтайма,
>  и мне с ними заморачиваться не хочется.
>
Под репликацией Вы подразумеваете передачу файлов без понимания внутренней
структуры? Тут тоже есть засада с ротацией файлов (придеться именовать файлы
по датам, а не .1, .2, ...) и особо себя вести с обновляемым логом (в который
щас пишут).

Filebeat по назначению такое умеет, понимая ротацию и детектируя запись и
"восстанавливаясь" после своего падения или падения колектора логов (есть
баги, не всегда это делает успешно) и еще бесплатный и "практически
реалтаймовый".

-- 
http://defun.work/

Ответить