| 
 | 
| 
 
Работа с большим лог-файлом 
 | 
|||
|---|---|---|---|
| 
 #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&fpage=22&tid=1481755]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    12ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    38ms | 
get topic data:  | 
    13ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    50ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 12ms | 
| total: | 147ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.