Аналіз файлів журналу: витяг інформаційної частини з частини значення


10

Я намагаюся створити набір даних на кількох файлах журналів одного з наших продуктів.

Різні файли журналів мають власний макет і власний вміст; Я успішно згрупував їх разом, залишився лише один крок ...

Дійсно, журнал "повідомлення" - найкраща інформація. У мене немає вичерпного списку всіх цих повідомлень, і це погана ідея жорсткого коду, заснованого на таких, оскільки цей список може змінюватися щодня.

Що я хотів би зробити, це відокремити текст відмітки від тексту значення (наприклад: "Завантажений файл XXX" (ідентифікація: "Завантажений файл", значення: "XXX")). На жаль, цей приклад простий, і в реальному світі існують різні схеми, а іноді і декілька значень.

Я думав про використання ядер рядків, але він призначений для кластеризації ... і клаузування тут не застосовується (я не знаю кількість різних типів повідомлень і навіть всьому, це було б занадто багато).

У вас є ідея?

Спасибі за вашу допомогу.

PS: Для тих, хто програмує, це можна легше зрозуміти. Скажімо, що код містить журнали printf ("blabla% s", "xxx") -> я б хотів, щоб "blabla" і "xxx" були відокремлені


Чи можете ви надати репрезентативний вибір прикладів, які демонструють різноманітність елементів, яким алгоритм повинен буде розібратися?
Емре

2
Є сто способів зробити це. Дайте певне розуміння того, які інструменти чи мову вам потрібно зробити для цього. Чи є аспект науки про це для цього? здається просто розбір журналу.
Шон Оуен

Відповіді:


3

Як щодо розгляду кожного рядка як трасування процесу та застосування альфа-алгоритму? Це дасть вам графік, і вузли з великою кількістю поза країв, швидше за все, вказуватимуть на значення.

Ви можете позначати ці вузли та для кожного нового розбору / проходження графіка, поки не досягнете цих областей.


Дуже дякую. Я не знав альфа-алгоритмів. Я перевірю в тому напрямку.
Майкл Хурмен

2

Це не здається проблемою Science Science. Однак є дуже приємні інструменти, щоб зробити саме це, замовлення: logstash, flume та fluentd. Насправді, якщо ви хочете мати можливість фільтрувати в швидкому та «розумному» способі замовлення Кібани від хлопців ElastichSearch ( http://www.elasticsearch.org/overview/kibana ). Цих інструментів достатньо, щоб вирішити вашу проблему дуже ефективно.


Я вважаю, що вилучення можливостей є частиною науки про дані. Ну, це лише думка ;-) Більш серйозно, я говорю не про прості стандартні файли журналів, а про власні з дуже специфічного програмного забезпечення. Отже, це справді витягування інформації з контексту «речень»
Майкл Хоріман

1

Якщо ви просто намагаєтеся розділити текстову та числову інформацію, то існує рішення, засноване на регулярних виразах або навіть просто розбитті рядків.

Можна навіть зробити щось на кшталт пошуку першого цифрового символу та розділити текст навпіл перед цим.

За допомогою регулярних виразів ви можете зіставити всі цифрові символи, які слідують за іншими. Візерунок буде ([0-9]+)з глобальним прапором. Він би відповідав усім групам чисел, і ви можете робити з ними все, що завгодно.

Тестер Regex хороший для того, щоб пограти з цими речами.


Дякую Лоріку. На жаль, не тільки цифри, і я не знаю також, якими будуть майбутні повідомлення. Отже, мені дуже потрібен ШІ.
Майкл Хурмен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.