Analisando arquivos de log

4

Estou tentando desenvolver uma ferramenta de estatísticas do sistema para o Ubuntu que armazene dados sobre a utilização de recursos de processos / usuários. Estou armazenando esses dados em meus próprios arquivos de log como /var/log/<process>.log . Eu quero saber se existe alguma API (como procfs para coletar dados sobre processos) para analisar meus próprios arquivos de log usando a linguagem de programação C. Esses arquivos de log conterão simplesmente nome de usuário, ID do processo,% da CPU,% de MEM, E / S etc.

    
por Sushant Jain 27.04.2011 / 08:41

4 respostas

1

Qual API você deseja ou precisa? Os arquivos de log são texto, use qualquer utilitário de análise de texto, script ou idioma que possa ser útil.

Pessoalmente, minha linguagem preferida tende a ser awk , mas isso é porque eu estou familiarizado com ela. Embora às vezes simples, grep ou sed seja suficiente.

Mas, na verdade, tudo depende do que você deseja fazer com seus registros. As possibilidades são infinitas.

    
por 27.04.2011 / 15:24
1

Quando você está criando seus arquivos de log próprios , acho que também deve criar sua própria API.

    
por 07.05.2011 / 16:11
0

Você pode considerar a integração do rrdtool em seu fluxo de trabalho, já que ele parece estar fazendo uma boa parte das coisas que você procura por si só já. Há vários exemplos bem documentados na rede, portanto, começar não deve ser muito difícil.

    
por 01.02.2012 / 10:22
0

Você tem muitas opções para escolher, dependendo de suas necessidades e habilidades.

Perl - Uma linguagem de script que é muito boa com manipulação de texto. Perl usa SED e AWK frequentemente

Awk - Você pode facilmente usar isso em um script de shell. Awk usa alguma sintaxe que é mais complicada do que sed (mas ainda assim fácil). Awk é muito mais rápido que sed.

Sed - Assim como o awk, o sed pode ser usado em um shell script. Sed é fácil para a maioria das pessoas aprenderem.

Python - Se você quiser ter um sistema de registro complexo e desejar um sistema de auditoria rápido, tente o Python. No entanto, se você não conhece o Python, levará algum tempo para aprender.

    
por 12.12.2013 / 04:26