|
Работа с большим лог-файлом
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть большой лог файл весом более 30 гб и сайт на php, который записывает действия пользователей и дату. Мне нужно каким-то образом более-менее быстро искать в нем записи по дате и выводить их в админке. Примерный запрос: "найти сообщения с 12-03-2016 12:20:00 до 12-03-2016 12:35:00" (диапазон поиска всегда не более 15 минут). У меня имеются несколько способов решения задачи: 1. Самый очевидный способ - это засунуть лог в базу. Только я не знаю, стоит ли так делать. Не зря ведь большие логи не хранят в бд. 2. Открыть shell_exec и grep'ать. Но это не подходит. Бывает на операцию уходит 20 секунд, учитывая, что на сервере стоит ssd диск, а мне нужно делать это быстрее. 3. Разбить лог на много маленьких файлов по дням из даты в имени, а php определять какие именно файлы нужно открывать (их максимум 2 может быть). Может быть вы мне еще что-то подскажете? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 13:26 |
|
Работа с большим лог-файлом
|
|||
---|---|---|---|
#18+
andrey10Здравствуйте. Есть большой лог файл весом более 30 гб и сайт на php, который записывает действия пользователей и дату. Мне нужно каким-то образом более-менее быстро искать в нем записи по дате и выводить их в админке. Примерный запрос: "найти сообщения с 12-03-2016 12:20:00 до 12-03-2016 12:35:00" (диапазон поиска всегда не более 15 минут). У меня имеются несколько способов решения задачи: 1. Самый очевидный способ - это засунуть лог в базу. Только я не знаю, стоит ли так делать. Не зря ведь большие логи не хранят в бд. 2. Открыть shell_exec и grep'ать. Но это не подходит. Бывает на операцию уходит 20 секунд, учитывая, что на сервере стоит ssd диск, а мне нужно делать это быстрее. 3. Разбить лог на много маленьких файлов по дням из даты в имени, а php определять какие именно файлы нужно открывать (их максимум 2 может быть). Может быть вы мне еще что-то подскажете? Спасибо. Как еще один альтернативный вариант. Завести еще один файл, в котором кроном дописывать в конец дату-время и смещение от начала файла( размер ) на эту дату-время. Найдя период в маленьком файле, из большого файла dd -хой выкусывать период по смещению и передавать грепу... Что бы было проще искать вхождение в диапазон , даты можно хранить как количество секунд с начала эпохи... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 15:23 |
|
Работа с большим лог-файлом
|
|||
---|---|---|---|
#18+
Есть бесплатный инструмент https://www.elastic.co/ как раз для быстрого анализа больших данных. С веб-интерфейсом поиска. Он предварительно индексирует содержание поэтому первый запуск возможно будет небыстрым. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2016, 00:14 |
|
Работа с большим лог-файлом
|
|||
---|---|---|---|
#18+
Здесь явно просится записать логи в БД.. А такой пустяк запрос получите меньше чем за секунду Развернуть еe можно на Linux на том же сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2016, 09:02 |
|
Работа с большим лог-файлом
|
|||
---|---|---|---|
#18+
Спасибо. Всё же буду писать в бд. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2016, 14:23 |
|
Работа с большим лог-файлом
|
|||
---|---|---|---|
#18+
Дисковое пространство в БД всегда стоит дороже чем просто файл. Кроме того нужно теперь бекапить на 30 гб больше. Вобщем делай как хочешь, но IMHO лог-файлам место в файловой системе. Вобщем если стоит другая (специальная) задача по быстрому поиску евентов то берут специальные БД типа Cassandra. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2016, 14:26 |
|
Работа с большим лог-файлом
|
|||
---|---|---|---|
#18+
andrey10Не зря ведь большие логи не хранят в бд. Обычно их не хранят в БД только потому, что они быстро устаревают и данные приходится удалять. БД не любят массовых удалений. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2016, 14:37 |
|
|
start [/forum/topic.php?fid=25&msg=39190776&tid=1481755]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 289ms |
total: | 419ms |
0 / 0 |