Анализ логов в Python с collections.Counter

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

pythoncollectionscounter

ℹ️ Когда речь заходит об анализе логов на серверах, Python может стать отличным инструментом для быстрой обработки больших файлов и выявления ключевой информации. Один из полезных приемов — использование библиотеки collections, а именно класса Counter, для выявления самых частых строк или паттернов в логах.

📂 Пример:

from collections import Counter

# Открываем файл логов
with open('access.log') as f:
    # Считываем все строки
    lines = f.readlines()

# Извлекаем только запросы (например, URL после GET)
requests = [line.split()[6] for line in lines if 'GET' in line]

# Используем Counter для подсчета
counter = Counter(requests)

# Выводим 10 самых популярных запросов
for url, count in counter.most_common(10):
    print(f'{url}: {count} запросов')

✳️ Этот подход позволяет вам быстро выявить аномалии или самые популярные ресурсы в логах с минимальными усилиями, что особенно полезно для анализа и мониторинга производительности приложений.

tags: #полезно #python #логирование

🧭 @recura_tech

Скриншот терминала с фрагментом кода на Python: пример использования collections.Counter для подсчёта URL в лог-файле access.log
Фрагмент кода: подсчёт самых частых URL в access.log с помощью collections.Counter.

Читайте так же