Nginx Log Analyzer: Твой личный дашборд из access.log

12
Devvver
На сайте с 02.07.2008
Offline
696
533





 Nginx Log Analyzer: Твой личный дашборд из access.log

Этот скрипт превращает сырые текстовые логи в интерактивные графики и таблицы прямо в браузере. Без серверов, без передачи данных в сеть — 100% приватно.

 Что умеет скрипт:

Анализ трафика: общее число хитов, уникальные IP и объем скачанных данных.

Карта ошибок: мгновенный счетчик 404, 500 и других кодов ответа.

Интерактивные фильтры: кликни на любой час на графике или код ошибки — и все таблицы (IP, страницы, рефереры) пересчитаются под этот срез.

Детализация: можно «провалиться» в любой IP или URL, чтобы увидеть историю запросов и User-Agent.

📂 Где взять файл лога?

Вариант 1: Через интерфейс cPanel

В разделе «Метрики» выберите «Редактор необработанных журналов» (Raw Access Logs).

Нажмите на нужный домен и скачайте архив .gz.

Скачать с Гитхаба https://github.com/Devvver/Nginx-Log-Analyzer

🔴  Важно: Распакуйте архив перед использованием.

🔴   Вариант 2: Через FTP/SFTP (если cPanel неудобна)

Подключитесь к хостингу и выйдите в самый корень аккаунта (на уровень выше, чем public_html).

 Зайдите в папку /logs — там лежат архивы логов по месяцам.

 Скачайте файл вида yourdomain.com-Mar-2026.gz и распакуйте его.

GitHub - Devvver/Nginx-Log-Analyzer
GitHub - Devvver/Nginx-Log-Analyzer
  • Devvver
  • github.com
Contribute to Devvver/Nginx-Log-Analyzer development by creating an account on GitHub.
Мой блог. Все о создании сайтов,Seo и СДЛ ( https://e-moldovanu.com/ ) Мой SEO телеграм канал https://t.me/seobloggers
WS
На сайте с 01.11.2008
Offline
165
#1
отлично, ещё бы с asn подружить, особенно mmdb, было бы ещё круче
GitHub - sapics/ip-location-db: ip to location database by ASN, GeoFeed, Whois, iptoasn.com, db-ip lite, GeoLite2
GitHub - sapics/ip-location-db: ip to location database by ASN, GeoFeed, Whois, iptoasn.com, db-ip lite, GeoLite2
  • sapics
  • github.com
This project provides IP to location databases in CSV and MMDB formats. There are 3 types of IP database in this repository: , and files. All have their own standard format. Database Type License Updated IPv4 IPv6 IPv4+IPV6 IPv4-num IPv6-num Database Type License Updated IPv4 IPv6 IPv4+IPV6 IPv4-num IPv6-num Database Type License Updated IPv4...
Y
На сайте с 29.05.2006
Offline
152
#2

Это просто игрушка для чего нибудь мало посещаемого, для серьезного есть модули к nginx 😊

Интересно, какой максимальный объем лога может прожевать браузер?

WS
На сайте с 01.11.2008
Offline
165
#3
yandrey #:

Это просто игрушка для чего нибудь мало посещаемого, для серьезного есть модули к nginx 😊

Интересно, какой максимальный объем лога может прожевать браузер?

не соглашусь, зачем грузить сервак, если можно в браузере проанализаровать лог, лог ведь можно обрабатывать не полностью, а последние x строк например, это мегаполезно, если неожиданно возрастает нагрузка  и надо искать из-за чего, но без CIDRов и ASN пока слабо конечно 
Y
На сайте с 29.05.2006
Offline
152
#4
WebStorm #:
зачем грузить сервак
сервак будет больше грузится записью логов, когда валится сотни-тысячи запросов в секунду
WS
На сайте с 01.11.2008
Offline
165
#5
yandrey #:
сервак будет больше грузится записью логов, когда валится сотни-тысячи запросов в секунду

если не настроено кэширвание дескрипторов открытых файлов с логами то да, а так нет, к тому же логи надо разбивать по времени, чтобы не много весили:

if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {
        set $_year $1;
        set $_month $2;
        set $_day $3;
}

access_log "/var/log/nginx/${_year}_${_month}_${_day}_mysupersite.dat" main;

ну и кэшировать дескрипторы открытых файлов с логами:

open_log_file_cache max=1000 inactive=60s valid=2m min_uses=1;
Y
На сайте с 29.05.2006
Offline
152
#6
WebStorm #:
чтобы не много весили

это всё для мелких сайтиков с полутора посетителями в час, включая ботов 😊

иначе логи будут околобесполезным мусором, занимающим гигабайты даже в сжатом виде 

WS
На сайте с 01.11.2008
Offline
165
#7
yandrey #:

это всё для мелких сайтиков с полутора посетителями в час, включая ботов 😊

иначе логи будут околобесполезным мусором, занимающим гигабайты даже в сжатом виде 

глупости, и не надо обесценивать общественно полезный труд парней, которые бесплатно создают такие нужны тулзы, в ваших потугах вижу только желание это притормозить, видимо занимаетесь ботами

кроме того, сами себе противоречите - то надо модуль для нджинкса, который создаёт, бесспорно дополнительную нагрузку, то оказывается запись логов создаёт нагрузку

Devvver
На сайте с 02.07.2008
Offline
696
#8
WebStorm #:
отлично, ещё бы с asn подружить, особенно mmdb, было бы ещё круче
GEO хотел подключить через live базу. Но там гигабайт данных в JSON. А апишки который может 100К выдать хотя бы флажков не нашел.
Итого - надо переписывать, желательно на питоне, потому что браузер может упасть от 1 гига JSON файла.
WS
На сайте с 01.11.2008
Offline
165
#9
Devvver #:
GEO хотел подключить через live базу. Но там гигабайт данных в JSON. А апишки который может 100К выдать хотя бы флажков не нашел.
Итого - надо переписывать, желательно на питоне, потому что браузер может упасть от 1 гига JSON файла.

mmdb весят десятки мегабайт, не более, посмотрите например: https://github.com/sapics/ip-location-db/tree/main/asn-country-mmdb это по asn, а вот это по странам https://github.com/sapics/ip-location-db/tree/main/geolite2-geo-whois-asn-country-mmdb

правда тут сложность именнно обработки самого mmdb средствами javascript, но вот тут есть уже готовая либа https://github.com/runk/mmdb-lib/tree/master

ip-location-db/asn-country-mmdb at main · sapics/ip-location-db
ip-location-db/asn-country-mmdb at main · sapics/ip-location-db
  • sapics
  • github.com
Database Type License Updated IPv4 IPv6 IPv4+IPV6 IPv4-num IPv6-num These files are subject to the Creative Commons Zero (CC0) license. You may use these databases without attribution for any purpose.
Y
На сайте с 29.05.2006
Offline
152
#10
WebStorm #:
в ваших потугах вижу только желание это притормозить

я просто поинтересовался какой объём лога может обработать

очевидно, не большой, js в браузере не тот инструмент, которым можно обработать много данных

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий