LINUX.ORG.RU
ФорумAdmin

как вычислить по логам повторяющийся ip или домен


0

0

Подскажите пожалуйста.
С целью сокращения нагрузки возможно как анализировать логи того же апача или вывод netstat и т.п., чтобы вычислять слишком часто повторяющиеся IP и домены с целью дальнего анализа и возможно игнора?
а то вручную полгиговые логи смотреть нереально (

grep sort uniq awk
вы про консольные утилиты вообще в курсе ?

ovax ★★★
()

пример:
cut -d ' ' -f 1 access.log | uniq -c

Deleted
()

Вот пример для сквида. Вылавливал уродский google desktop, который ломился в инет без авторизации и генерировал >400 запросов к прокси в секунду.

#!/bin/sh

LOG=/usr/local1/squid/var/logs/access.log
AWK=/usr/xpg4/bin/awk     # ну да, SunOS
TAIL=/usr/bin/tail

# report once per minute
PERIOD=60

$TAIL -f $LOG | $AWK -v p=$PERIOD '
    $1 > (a+p) {system("/usr/bin/date")
                 for (k in i) {
                    if (i[k]>400) {
                      print k" = "i[k]
                    }
                    i[k]=0
                  }
                  a=$1
                 }
    $4 ~ /TCP_DENIED/ {i[$3]++}'

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.