Ir para conteúdo
Fórum Script Brasil
  • 0

Gerenciamento de logs


João Laudir

Pergunta

O script abaixo lê as 10 ultimas linhas do log do squid e imprime na tela. Esta visualização sempre fica atualizada, pois ela roda a cada 8 segundos.

Minha dúvida é a seguinte:

Como faço para que este script leia outros arquivos que deverao estar listados em uma table de duas colunas.

coluna 1 = listagem dos arquivos de log

coluna 2 = deverá aparecer o conteudo do arquivo (listado na coluna 1) que foi clicado .

tem como fazer isso?

Se puderem me ajudar, vou poder implementar este sistema em um monitoramento em tempo real do imsniff.

Obrigado!

aqui.php


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sistema para monitoramento do uso do Messenger na rede</title>
<meta http-equiv="refresh" content="8">
</head>
<body>
<?
$file = file("/var/log/squid/access.log");
if(count($file) < 10)
exit;
for($i = count($file) -1; $i >= (count($file) - 10); $i--)
{
$arr[] = $file[$i];
}
echo "<pre>";
print_r( array_reverse($arr));
echo "</pre>";

?>
</body>
</html>
[/codebox]

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Pelo o que eu entendi tu tens mais de um arquivo de log e quer listá-los na mesma página, correto?

O mais simples seria criar uma tabela e dentro de cada célula colocar este seu print_r();

Espero ter ajudado =)

Link para o comentário
Compartilhar em outros sites

  • 0
Pelo o que eu entendi tu tens mais de um arquivo de log e quer listá-los na mesma página, correto?

O mais simples seria criar uma tabela e dentro de cada célula colocar este seu print_r();

Espero ter ajudado =)

então, estas são minhas dúvidas:

-Como vou listar os arquivos de log.

-como fazer com que, ao clicar no arquivo de log, apareça o seu conteudo na coluna ao lado

Link para o comentário
Compartilhar em outros sites

  • 0

POG:

Cria um frame de menu esquerdo e visualização direita;

No menu, cria a listagem dos teus arquivos de log como menus com links que irão exibir eles no menu direito; e

Na direita, faz uma página que pegue nome do arquivo por GET e exiba o conteúdo;

Abraços...

Link para o comentário
Compartilhar em outros sites

  • 0
POG:

Cria um frame de menu esquerdo e visualização direita;

No menu, cria a listagem dos teus arquivos de log como menus com links que irão exibir eles no menu direito; e

Na direita, faz uma página que pegue nome do arquivo por GET e exiba o conteúdo;

Abraços...

O que esta deixando um pouco confuso agora é o seguinte....

O arquivo de visualizações de logs atualiza-se a cada 8 segundos.

Isso pode atrapalhar a programação? Ou seja, eu clico em um arquivo de log (listaarquivos.php) e ele é passado para a outra pagina (mostralog.php).

Será que ao atualizar após os 8 segundos a pagina mostralog.php não vá perder o nome do arquivo de log?

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe-me mas... Esse teu "será" está meio filosófico... Tenta ué, se não der grita que a gente dá outra idéia XD

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui! Mas...

(sou um grande beginner... tenha paciencia)

O grande problema é que não consigo fazer com que a segunda frame receba o resultado... aparece tudo na primeira frame.

Sei que é um erro estúpido de html, mas como disse, sou bem inexperiente com programação html/php

Outra coisa... seguindo a ideia do monitoramento de conversas no MSN, o imsniff gera diretorios com o nome de email da pessoa. Ou seja, se o fulano esta falando com ciclano o imsniff gera um diretorio chamado fulano@provedor.com.br e dentro deste diretorio gera o arquivo de log de conversa com ciclano (ciclano\@provedor.com.br.log). Exatamente do jeito q escrevi com a "contrabarra" antes do arroba.

fica deste jeito:


/local_dos_chats
+ fulano@provedor.com.br -----> diretorio da pessoa que esta sendo monitorada
* ciclano\@provedor.com.br ------> arquivo de log das conversas
+ beltrano@provedor.com.br -----> diretorio da pessoa que está sendo monitorada
* papo1\@provedor.com.br -----> arquivo de log das conversas
* papo2\@provedor.com.br -----> arquivo de log das conversas
* papo3\@provedor.com.br -----> arquivo de log das conversas
* papo4\@provedor.com.br -----> arquivo de log das conversas
[/codebox]

Não estou conseguindo visualizar o conteudo deste diretorio.... parece que o php não aceita o "@" (arroba) no nome do diretorio.

Quando eu edito o arquivo php e coloco em $dir o valor como string e dou um opendir funciona.

o problema é que não posso fixar estes valores/nomes dos diretorios pois pode acontecer de aparecer mais um email/MSN de dentro da empresa

abaixo o codigo que funciona:

[codebox]
<?php
$dir = "fulano@provedor.com.br";
echo $dir;
$dn = opendir ("/chats/".$dir);
while ($file = readdir ($dn)) {
if ($file !== "." or $file !== "..")
{
print "$file<br>";
}
}
closedir($dn);
?>

o resultado:


profile.log
ciclano@provedor.com.log
events.log
[/codebox]

Editado por João Laudir
Link para o comentário
Compartilhar em outros sites

  • 0

O outro frame tem que possuir um nome, e ele tem, não é?

Então no link que você quer que apareça no frame do lado, tu coloca

<a href="teste.php" target="nomeDoFrame">Teste</a>

Quanto ao arroba, vou pesquisar...

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Uma solução um tanto tosca seria a de eu pegar e gerar um contador que a cada numero gerado o relacionasse ao subdiretorio do diretorio /chats.

assim eu faria um case em cima de cada diretorio puxando a string

Ou seja. no arquivo diretorio.php

mandar numeros para o arquivo teste.php

no arquivo teste.php converter estes numeros no nome de cada subdiretorio e executar o opendir.

Outra coisa! Como faço pra mandar uma string (resultado do opendir sobre o diretorio) como parametro pra outra pagina usando um botão?

Editado por João Laudir
Link para o comentário
Compartilhar em outros sites

  • 0

Cara achei um programa melhor.... estou com o imspector . ele loga não somente o MSN mas o jarber, irc, e tantos outros q ainda não vi.

tem uma interface web que me retorna as conversas em realtime (perl)

http://www.imspector.org/

isso não me impede de continuar a estudar sobre o php e o imsniff

valeu pela ajuda.

abraços!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...