1 votos

Cómo recibir una notificación de acceso HTTP

Tengo un servidor web que se ejecuta en mi Mac y me gustaría ser notificado (a través de Gruñido por ejemplo), cuando alguien accede a mi servidor.

He buscado algo así como que en Automator, pero no encontré nada.

¿Sabes si esto es posible ?

Gracias.

1voto

mtnygard Puntos 141

La clave está en su acceso a los registros. Suponiendo que el servidor web está configurado correctamente, cada vez que una página se sirve debe proporcionar un cierto nivel de detalle en los registros de acceso. Esto puede ser desactivado para los sitios con enorme cargas de tráfico, pero para su pantano estándar (suponiendo) instalación de apache en una máquina local me imagino que usted no está mirando como una carga masiva.

Así, lo que usted necesita es un método para examinar el registro de acceso periódicamente (o en tiempo real), ya sea mediante la comprobación de la hora, o seguir a la cola de los contenidos, etc. Una vez que esto está ordenado, usted necesita una manera de empujar a gruñir. Growlnotify es una utilidad de línea de comandos que acepta la salida de otros comandos y utilizar como la base para proporcionar una gráfica de la notificación growl.

En este punto, usted necesita decidir si usted quiere que un simple "Te han visitantes!" del mensaje, o algo que incluye los detalles, decir que la página estaba servido para que la dirección IP, etc. Esa es su elección, y hace que el código que necesita para escribir un poco más complejo o simple.

Fíjate en el siguiente ejemplo (lo siento, yo uso ksh, puede que necesite modificar):

#!/bin/ksh
while read access
do
growlnotify -t "HTTP_Access" -m "You have visitors!
done < /http/access/log/folder/log1.log

Obviamente esto va a producir demasiada info y ser genérico, por lo que necesita para añadir su propia mezcla especial de a) la configuración de Apache para que sólo registro en el nivel que usted necesita, y b) filtrar las entradas de todos modos, posiblemente el formato, mientras que ir, por ejemplo:

#!/bin/ksh
while read access
do
formatted_access=`echo $access | grep -v "unwanted strings" | awk '{print "Time "$1", IP"$4}'`
count =`echo $formatted_access | wc -l`
case $count in
(0)
# No line matched criteria
;;
(*)
growlnotify -t "HTTP_Access" -m $formatted_access
;;
esac
done < /http/access/log/folder/log1.log

Tiro esta en un automator servicio, y listo.

1voto

Oskar Puntos 1242

Uno de los más poderosos métodos de obtención de notificaciones desde un servidor web es construir en apoyo de webhooks. La gente fina detrás de esta pila de software tiene un bonito blog que ayuda a describir cómo esto podría funcionar si quería este código en el sitio web.

-1voto

Russell Myers Puntos 1438

Gruñido probablemente puede hacer por usted de forma automática:

enter image description here

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X