Как получить статистику по уникальным посетителям IPv4 и IPv6, просмотрев журнал nginx access.log с помощью интерфейса командной строки UNIX?
Я использую стандартный combined
предопределенный формат для access_log
.
Чтобы получить сводную информацию о количестве уникальных посетителей IPv4 и IPv6 за последние два дня:
grep "1[89]/Feb/" /var/www/logs/mdoc.su/mdoc.su.access.log | \
cut -d " " -f1 | sort | uniq | sed "s#.*\..*#.#g;s#.*:.*#:#g" | \
sort | uniq -c ; echo ipv4 and ipv6 unique hosts, summary ; date
Чтобы получить сводную информацию о количестве уникальных подсетей IPv4 / 24 и IPv6 / 48 уникальных посетителей за последние два дня:
grep "1[89]/Feb/" /var/www/logs/mdoc.su/mdoc.su.access.log | \
cut -d " " -f1 | sort | uniq | sed -E "s#^(([0-9a-f]+[.:]){3}).*#\1#g" | \
uniq | sed "s#.*\..*#.#g;s#.*:.*#:#g" | sort | uniq -c ; \
echo ipv4 and ipv6 unique IPv4/24 and IPv6/48 subnets, summary ; date
Чтобы увидеть самые популярные подсети IPv4 и IPv6 уникальных посетителей за последние два дня:
grep "1[89]/Feb/" /var/www/logs/mdoc.su/mdoc.su.access.log | \
cut -d " " -f1 | sort | uniq | sed -E "s#^(([0-9a-f]+[.:]){3}).*#\1#g" | \
uniq -c | sort -rn | head -16 ; \
echo ipv4 and ipv6 unique IPv4/24 and IPv6/48 nets, most popular nets ; date