У нас есть несколько устаревших доменных имен, которые настроены как сайт в IIS7. Затем этот сайт перенаправляет эти доменные имена на новое доменное имя. Журналы старых сайтов хранят имя устаревшего домена, на который была сделана ссылка.
Мы хотели бы создать отчет, в котором будет показано общее количество попаданий в каждый из устаревших доменов. Мы можем установить новое программное обеспечение для сбора этой информации или проанализировать текущие журналы IIS7, чтобы сделать это.
Есть идеи о самом простом способе получения этой информации?
Если у вас есть доступ к журналам, проще всего использовать для этого LogParser: http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en
Его очень легко использовать, если вы знакомы с SQL, вы можете запускать SQL-подобные запросы к необработанным файлам журнала, и это очень быстро (настолько быстро, насколько позволяет ваш диск), и вы можете легко группировать по столбцам, генерировать диаграммы и Больше.
Я вел блог о некоторых образцах по адресу: http://blogs.msdn.com/b/carlosag/archive/2010/03/25/analyze-your-iis-log-files-favorite-log-parser-queries.aspx
В Powershell:
Select-String sitehostname logfile|Measure-Object
Простой и эффективный (эквивалентно grep и wc -l), но он не самый быстрый для большого количества доменов или регулярных запусков. Если это регулярно запускаемый отчет, вы, вероятно, захотите использовать что-то, что будет анализировать их все за один проход и в зависимости от продолжительности отчета хранить данные журнала / сводные данные в каком-то виде индекса.
Это будет зависеть от того, как вы выполняете пересылку и регистрацию. Если вы вернете код состояния 301 или 302 для перенаправлений и только для этих доменов, которые были зарегистрированы, вы можете просто подсчитать их. Другой вариант - записать заголовок хоста (это можно включить в журнале w3c) и просто запросить его.