BigData LogManager для 1С


#61

Там были особенности с Windows Server’ами

фишка была в том, как определялся IP адрес хоста:

 (Invoke-WebRequest -Method Head -Uri http://elasticsearch.irisnet.be:80).statuscode
500

я чинил как описано вот тут

в итоге оказалось, что я намудрил с прокси и с IPv6


#62

IPv6 - выключен.

Хост к которому ходят запросы^
PS C:\Users\user> (Invoke-WebRequest -Method Head -Uri http://lip-1capp-07:2001).statuscode 200

С этим проблем вроде бы нет, тоже.


#63

В проблеме разобрался.
Если интересно то смотрите тут


#64

Ну ничего себе ты исследование провёл ;-). Круто


#65

Да… мозги закипали временами… =)


#66

Не стал создавать новую тему, отпишусь здесь.

В июньском вебинаре по ELK были предоставлены материалы, в которых были конфигурационные файлы для LogStash. В частности фильтр 061-filter-onec.conf, в котором используются grok паттерны из каталога /etc/logstash/patterns. Этих паттернов в материалах нет, а без них фильтр не работает.

Можно ли их как то получить?


#67

Немного некро(?)постинга.

Сейчас прикручиваем у себя эту обработку с BulkAPI - и таки приходится проверять не только на код ответа 200, но и на наличие ошибок - в ответе есть bool поле errors, в котором и можно проверить, действительно ли все операции прошли успешно.


#68

Поделитесь результатами доработки?


#69

Когда допилю до вида, который не стыдно показать - поделюсь. Пока что я просто проверяю успешность строковым поиском по телу ответа на наличие строки “errors”:false и код состояния 200.


#70

@pumbaE пинг :slight_smile:
10символов


#71

Добили sqlite из бандла - теперь плагин просто можно скачать и запустить

завтра добью grok и финально выложу.

на досуге добъем вот это https://github.com/silverbulleters-research/sqliteOneCBeat

напишу как сделаем и выложу весь обновленный комплект сюда


#72

выложен в публичный доступ

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


#73

Пытаюсь понять, как настраивается парсинг логов тех.журнала в logstash. Смотрю файл filter-onec.conf из elkbundle и мне не понятно, а откуда взять паттерн “ONECLOG”? Понимаю, что паттерн должен быть задан в patterns_dir => “/etc/logstash/patterns”, но в стандартной поставке его нет.
Уже увидел аналогичный вопрос от i.kornienko, только по ответам не понял откуда взять паттерн?


#74

Так - первый релиз отлажен с logstash-sqlite

14 миллионов событий пролились с рабочих серверов.

скорость первой проливки меня удручает - лилось неделю :wink: с прошлого воскресенья. где-то 45 гигабайт журналов. Но это я явно накосячил со слипами

@maxstarkov - я правильно понимаю что ты хочешь технологический журнал, который НЕ журнал регистрации ? на Golang писать умеешь ? если нет погоди до Инфостарта - выложу плагин на golang для техжурнала.


#75

Да, именно для технологического журнала, с журналом регистрации все работает. В кластере 4 сервера и мониторить вручную ТЖ сильно сложно. Уже подумал beats сделать для заливки логов в elastic, знаний Golang’а хватит на неспешное создание, но чтобы не изобретать велосипед решил узнать - а может что-то подобное есть.
Тогда подожду до Инфостарта.


#76

Будет все на Beats. Там только осталось внутри у нас прикрутить нормально Makefile’ы и можно будет релизится.

И дальше можно будет уже шарить дашбоарды в GIT.


#77

Алексей ,а по файловому ЖР нет наработок?


#78

Удалось прикрутить Filebeats для сбора логов ТЖ в Elastic!
Действовал с использованием новых возможностей Elastic’а в части предобработки данных перед загрузкой в индекс. Для этого используется IngestNode. Определил pipeline с обработкой через grok-processor для выделения полей из строки события лога ТЖ.


#79

Регулярки зубодробительные получились? explain тоже загружали?
Многосторчные строки как определяли? А временную метку?


#80

Пока страшных регулярок нет, все достаточно просто выглядит. Действовал так:

  1. По умолчанию для каждой ноды elastic’а разрешено создание IngestNode, но можно повесить такую обработку и на другую ноду, которая будет заниматься только предобработкой поступающих данных. У меня пока все на одной ноде. Инфа по настройке здесь: https://www.elastic.co/guide/en/elasticsearch/reference/5.1/ingest.html

  2. Для IngestNode нужно предварительно загрузить pipeline в котором описать processors для предобработки данных. Начать можно с такого описания:

PUT _ingest/pipeline/onec_pipeline
{
“description” : “onec pipeline”,
“processors” : [
{
“grok” : {
“field”: “message”,
“patterns”: [
"%{INT}:%{BASE10NUM}-%{INT},%{WORD:event}"
]
}
}
]
}

Здесь, по сути делаю следующее: по регулярке “%{INT}:%{BASE10NUM}-%{INT},%{WORD:event}” определяю событие ТЖ, которое помещается в поле event индекса, а поиск идет по полю message. Понятно, что написание регулярки можно продолжить и вытащить остальные поля, такие как описание, текст запроса, план запроса. Для поиска таких записей применяем, например: Descr=%{QS:ИмяПоляИндексаДляХраненияОписанияСобытияТЖ}.

  1. Дополнительные поля для индекса задаю в шаблоне индекса, который находится в настройках filebeat (/etc/filebeat/template.json). Например, так добавил поле event:

в поле message хранится строка лога ТЖ. Можно добавить и другие поля, в которые с помощью processor’а добавлять другие события.

  1. В настройках filebeat (/etc/filebeat/filebeat.yml) сделал следующее:

Явно прописал предобработку данных по pipeline и свой шаблон индекса.
Еще нужно добавить в настройки filebeat обработку многострочных записей, делается так:

Для сбора логов в настройке filebeat указал:

Стартуем elastic и filebeat, смотрим в kibana результат.