sudo: Jack of all trades, master of some

Mostrar lista de usuarios que navegaron en cierto sitio a través de squid

7 comentarios

Recientemente necesité contar la cantidad de usuarios que navegaron en cierto sitio usando squid. La solución que utilicé fue esta:

cat /var/log/squid/access.log | tr -s ' ' | cut -d ' ' -f 7,8 | grep foo.bar.tld | cut -d ' ' -f 2 | sort -u

Explicación

Primero el contenido del access.log de squid se procesa por tr convirtiendo los posibles múltiples espacios —separador de cada campo— en uno solo, la salida del comando tr se procesa entonces por cut que elimina todos los campos de cada entrada del log, excepto el 7 y el 8 que son URL y nombre de usuario respectivamente. La salida de cut se procesa con grep para contemplar solamente el sitio de marras y nuevamente la salida se procesa con cut para eliminar la columna del URL. Por último se ordena la salida alfabéticamente y sin repeticiones. Si se quiere contar la cantidad de usuarios, basta con incluir al final del comando anterior | wc -l.

Si alguien tiene alguna solución mejor, sería bueno que se compartiera.

Comentarios desactivados
  1. Hyuuga_Neji 5 años atrás

    [offtopic] ¿Por que estas publicando cosas nuevas y no me llegan los mails a mi buzon? [/offtopic]

    1. @Hyuuga_Neji

      No tengo en estos momentos ningún plugin que maneje suscripciones.

  2. Ernesto Tur Laurencio 5 años atrás

    Sencillamente genial. Yo lo hago vía php5 pero cada quién con su medio.

    Salu2

  3. Hyuuga_Neji 5 años atrás

    Intenté hacer lo mismo pero en vez de usar “cat” decidí usar “tail -f” para intentar buscar en tiempo real los que esten navegando en determinado sitio pero… al menso a mi no me funciono con el tail ¿alguna explicacion por que cat si revisa todo el log y el tail no ?

    1. @Hyuuga_Neji

      Recuerda que tail solamente muestra las últimas n líneas de un fichero.

      No creo que funcione la verdad, de todos modos no le veo la parte práctica a hacerlo con tail. Si me dieras tu visión pudiera ver qué se puede hacer.

    2. @Hyuuga_Neji

      con tail yo lo hago así como root:
      tail -f /var/log/squid3/access.log

  4. Aunque no es el mismo tema, pero es de squid tambien. Tengo Sarg pero realmente no se como lograr que me genere correctamente un informe sobre el acceso de los usuarios de mi red a un sitio determinado.