¿Cómo sacar trazas de log en JSON en Apache y en NGINX?

Muy interesante este post de para todos los que ya vemos el JSON como el único formato! 🙂

En Apache2 es muy fácil pasar del formato por defecto

A un formato JSON como este:

Basta con editar el apache2.conf añadiendo esta línea

LogFormat "{ "time":"%t", "remoteIP":"%a", "host":"%V", "request":"%U", "query":"%q", "method":"%m", "status":"%>s", "userAgent":"%{User-agent}i", "referer":"%{Referer}i" }" leapache

en el área LogFormat:

Y luego en el default.conf referenciar al leapache:

En NGINX es aún más sencillo.

Editamos el fichero nginx.conf:

log_format le_json '{ "time": "$time_iso8601", '
 '"remote_addr": "$remote_addr", '
 '"remote_user": "$remote_user", '
 '"body_bytes_sent": "$body_bytes_sent", '
 '"request_time": "$request_time", '
 '"status": "$status", '
 '"request": "$request", '
 '"request_method": "$request_method", '
 '"http_referrer": "$http_referer", '
 '"http_user_agent": "$http_user_agent" }';
 
 access_log /var/log/nginx/access.log le_json;

Y ya traceamos en JSON.

¿Qué es LoRa?

LoRaWAN (acrónimo de Long Range Wide-area network) es una especificación LPWAN (Low Power Wide Area Network), o dicho de forma más sencilla red de largo alcance y bajo consumo.

La red LoRA es interesante por:

· Consume tan poco que permite que los dispositivos puedan funcionar años con batería. Para conseguir esto se activa de forma periódica.

· Tiene un gran alcance que permite llegar a los equipos de difícil acceso (garajes, sótanos, montañas)

· Ser una red bidireccional

· Velocidades de datos desde 0.3 kbps a 50 kbps

LoRa es una tecnología de comunicación muy interesante en el ámbito IoT ya que permite modelar casos de uso como:

· Tracking de equipos a menor coste

· Monitorización de la ciudad sin dependencia de red WIFI o red móvil

· Lecturas de contadores en remoto

· …

Una Arquitectura de despliegue de LoRa típica es esta, en la que los dispositivos LoRa envían información a un Gateway LoRa que ya tiene conexión TCP y envía por 3G, WIFI o Ethernet hacia una

Que podemos implementar de forma muy sencilla con equipamiento como este de Multitech:

· Nodo: MultiConnect® mDot™5

· Gateway: MultiConnect® Conduit™6 con una tarjeta LoRa MultiConnect® mCard™

LoRa se está desplegando a nivel nacional (España) desde el 2016 aunque también puede usarse sin este despliegue a través de antenas y Gateways LoRa

Leer más

StringJoiner: El método de Java 8 para unir cadenas

La clase StringJoiner tiene 2 constructores:

Usándolo así obtendría: “Smart,Techie”

Y así “[Smart,Techie]”

Leer más

Las 5 reglas del caos para vivir en sistemas complejos e inestables.

1.-Evita el atractivo seductor de los datos y las mediciones.

2.-Recuerda que se llama caos organizado.

3.-Haz que el espacio en blanco sea productivo.

4.-Acepta a los sospechosos no habituales.

5.-Organiza la casualidad.

Leer más