Montando mod_cluster en Docker

por | mayo 13, 2019

Escribiendo los últimos posts de mod_cluster estuve echando un vistazo a la web del proyecto y acabé dando con la imagen que tienen para montar mod_cluster en un contenedor docker. Básicamente es una imagen con un Apache y mod_cluster embebidos listos para su uso, lo que nos quita de tener que compilar el módulo o bajar los binarios como veníamos haciendo tradicionalmente.

Sigue leyendo

Monitorización de uso y temperatura de CPU y gráficas Nvidia en Grafana

por | mayo 8, 2019

Con el recolector de métricas Collectd podemos obtener fácilmente datos relativos a consumo, frecuencia y temperatura de CPU. Estos datos los volcamos en InfluxDB para su posterior representación en Grafana tal y como vimos hace tiempo.

Por otra parte en cuanto a métricas de tarjetas gráficas Nvidia, Collectd no cuenta con un plugin nativo en estos momentos, pero podemos hacer uso del plugin exec para recopilar las métricas necesarias con ayuda de scripts adicionales hechos a medida.

Sigue leyendo

Enviando los logs de mod_security a Elasticsearch con Filebeat

por | abril 11, 2019

En mi caso no utilizo una capa de Logstash para preprocesado de datos antes de indexarlos en Elastic por lo que el envío de logs es más sencillo. Si el output de Filebeat es Logstash probablemente sea necesario implementar algún filtro con grok para estructurar la información.

El principal problema de Filebeat para parsear los logs de mod_security es que éstos tienen formato multilínea. Para complicar algo más las cosas los logs se estructuran en diversas secciones (A-Audit Log Header, B-Request Headers, etc…) que nos dan diversa información sobre una transacción registrada. Esto no significa nada para Filebeat así que tendremos que formatear los logs de otra manera significativa.

Sigue leyendo

Administración de Docker Swarm con Portainer

por | marzo 30, 2019

Portainer nos proporciona una GUI web desde la que administrar un clúster de Docker Swarm: operatividad de contenedores (parada, reinicio, etc…), gestión de stacks, servicios, plantillas de imágenes, volúmenes para persistencia de datos…

En mi entorno parto de 4 nodos, 2 de ellos master y otros dos workers. Los 4 están configurados para poder servir peticiones de mis contenedores:

[root@docker-master1 ~]# docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
olw40ii82gslxgfjtmy5h2ncr *   docker-master1      Ready               Active              Leader              18.09.1
lvvjz6c4bfe4ez16kzkyuc31o     docker-master2      Ready               Active              Reachable           18.09.1
q8em4kafthkm1phkuuab48eau     docker-worker1      Ready               Active                                  18.09.1
hb4ylcxtchc6kevimak7wxr9e     docker-worker2      Ready               Active                                  18.09.1

Sigue leyendo