Иногда довольно часто нужно импортировать кучу логов NGINX в MS SQL Server. Есть суперидея как это сделать:

  1. Качаем логи к себе на комп в дружественную среду Windows Smile
    asdsd
  2. Нужно локально установленный MS SQL сервер, на него-то мы и будем грузить логи. Создаем базу с именем nginxanal и таблицу в ней. Вот SQL код для создания таблицы:
    CREATE TABLE [dbo].[nginxlog](
    	[md5] [nvarchar](32) NOT NULL,
    	[IP] [nvarchar](150) NULL,
    	[Dt1] [datetime2](7) NULL,
    	[URL] [nvarchar](max) NULL,
    	[RespCode] [int] NULL,
    	[Len] [int] NULL,
    	[Ref] [nvarchar](max) NULL,
    	[UA] [nvarchar](max) NULL,
    	[Meth] [nvarchar](10) NULL,
    	[Ver] [nvarchar](10) NULL,
     CONSTRAINT [PK_Mp3red] PRIMARY KEY CLUSTERED 
    (
    	[md5] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    
  3. Запускаем прогу, внизу страницы исходники, выбираем файлы для импорта и ждем:
    capture-20150427-160653

Скачать исходники тут: NginxImport.zip, скомпиленная версия тут: NginxImport.binary.zip. Да кстати в исходниках можно поменять строку подключения — имя базы данных для импорта например.

Результат:

capture-20150427-162217

Мне это нужно было для анализа и поиска ботов, которых потом надо забанить.