Анализ файлов журналов

Я пытаюсь разработать инструмент системной статистики для Ubuntu, который будет хранить данные об использовании ресурсов процессами / пользователями. Я храню эти данные в своих собственных файлах журналов, таких как /var/log/<process>.log . Я хочу знать, есть ли какой-либо API (например, procfs для сбора данных о процессах) для анализа моих собственных файлов журналов с использованием языка программирования C. Эти файлы журналов будут содержать просто имя пользователя, идентификатор процесса, CPU%, MEM%, ввод-вывод и т. Д.

4 Solutions collect form web for “Анализ файлов журналов”

Какой API вы хотите или хотите? Файлы журналов – это текст, использование любой утилиты синтаксического анализа текста, скрипта или языка, которые могут оказаться полезными.

Лично мой язык выбора имеет тенденцию быть awk , но это потому, что я знаком с ним. Хотя иногда бывает достаточно простого grep или sed .

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

Когда вы создаете свои собственные файлы журналов, я думаю, вы также должны создать свой собственный API.

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

У вас есть выбор, который вы можете выбрать в зависимости от ваших потребностей и навыков.

Perl – язык сценариев, который очень хорош при обработке текста. Perl часто использует SED и AWK

Awk – Вы можете легко использовать это в сценарии оболочки. Awk использует некоторый синтаксис, который более сложный, чем sed (но все же легкий). Awk намного быстрее, чем sed.

Sed. Также как awk, sed можно использовать в сценарии оболочки. Сед легко для большинства людей учиться.

Python. Если вы хотите иметь сложную систему ведения журнала и хотите иметь быструю систему аудита, попробуйте Python. Однако, если вы не знаете Python, потребуется некоторое время, чтобы учиться.

  • ESET NOD32 esets_daemon syslog flood
  • извлекать поля из «хвоста -f» потока syslog
  • logrotate записывает старый app.log.1 вместо app.log
  • Могу ли я остановить IPv6 «Router Advertisement», заполняя syslog без отключения IPv6?
  • Пропустить регистрацию syslog / rsyslog определенных заданий cron
  • В HP-UX, как я могу записывать сообщения системных событий Information Only Only в syslog.log?
  • Ubuntu 12.04LTS становится медленным и рывком случайным образом для монетного двора, а затем становится нормальным сам по себе
  • не удается выполнить вход в rsyslog в системе archlinux
  • Почему syslog-трафик не отображается в netstat и lsof?
  • Arch Linux - Cronie не работает, а nestat не выводит журналы?
  • «Syslogd» приводит к тому, что «cat / proc / kmsg» не работает должным образом?
  • Interesting Posts

    Как сделать HTTP прокси для VPN-туннеля?

    Не удалось извлечь модуль, показатель из pubkey.pem

    Как найти файлы не определенного типа?

    Как найти команды, связанные с пакетом?

    сравнить два файла, игнорируя 1-й столбец и номер строки печати

    Помещение Linux-процессов на определенные ядра ЦП

    Списки команд ls скрывают файлы

    Unarchiving загруженный tarball с Ansible

    Как отлаживать приложение, которое немедленно уничтожается при его открытии?

    Легкое регулярное выражение в журналах Apache

    Установка регулятора процессора на максимум

    Покажите индикатор выполнения, пока мы ждем возвращения процесса

    Найти файлы, содержащие строку, и не содержать другой

    Есть ли инструмент командной строки для вставки разрывов строк в длинную строку?

    NetBSD устанавливает, настраивает сеть, застревает в команде / sbin / ifconfig fwip0 media error: ifconfig SIOCGIFMEDIA: неприемлемый ioctl для устройства

    Linux и Unix - лучшая ОС в мире.