Clúster JGroups independiente para cada Server Group en Jboss EAP 6.x+ modo dominio

Si utilizamos Jboss en modo dominio seguramente tengamos aplicaciones agrupadas en distintos Server Groups. Éstos a su vez estarán asociados a un Profile en concreto. En caso de ser HA podría ser:

<server-groups>
    <server-group name="server-group-1" profile="ha">                                                                                                                                                     
        <jvm name="default">
            <heap size="1000m" max-size="1000m"/>
        </jvm>
        <socket-binding-group ref="ha-sockets"/>
    </server-group>
    <server-group name="server-group-2" profile="full-ha">
        <jvm name="default">
            <heap size="1000m" max-size="1000m"/>
        </jvm>
        <socket-binding-group ref="full-ha-sockets"/>
    </server-group>
</server-groups>

Sigue leyendo

Certification Authority Authorization (CAA) para nuestro dominio

Cuando intentamos emitir un certificado SSL para un dominio, suele existir un mecanismo por el cual tenemos que demostrar que somos propietarios de dicho de dominio. Resulta obvio ya que de lo contrario cualquiera podría emitir certificados para dominios ajenos.

Para reforzar este mecanismo de garantías ya presente en las principales Autoridades Certificadoras, la IETF elaboró el RFC 6844. En él se establece cómo implementar un nuevo tipo de registro DNS llamado Certification Authority Authorization (CAA). Este registro especifica qué Autoridades Certificadores están autorizadas a emitir certificados para un dominio en particular. El resumen del RFC es bastante claro:

Sigue leyendo

Caso práctico de stack ELK + Metricbeat

Desde hace un tiempo tenía pendiente monitorizar los nodos virtualizados con KVM que tengo para el proyecto World Community Grid. Hay muchas maneras de hacerlo, pero me decidí por montar un stack ELK (Elasticsearch, Logstash y Kibana) en la máquina que tengo como servidor y recoger métricas con Metricbeat de cada nodo.

Por tanto, para empezar el entorno que tengo es:

  • Servidor jota-pc (Debian Stretch, IP 192.168.1.39) con ELK instalado. En el propio servidor también tengo instalado Metricbeat para tener métricas de rendimiento.
  • Máquinas virtualizadas wcg-node1, wcg-node2 y wcg-node3 con Ubuntu Server 16.04 que envian métricas a jota-pc. Como estas máquinas envían métricas al servidor jota-pc las consideraré clientes.

Sigue leyendo

Automatizando la aplicación de PEP8 en Python

De todos los PEP (Python Enhancement Proposals) uno de los más populares es el PEP8, que nos proporciona un marco de referencia sobre buenas prácticas y estilo de programación en Python, por ejemplo:

  • Convención de nombres para variables, constantes, funciones, clases, excepciones…
  • Cómo y cuándo realizar comentarios multilínea o de una sólo línea.
  • Reglas de identación: uso de espacios y tabulaciones.
  • Uso de anotaciones en funciones.

Sigue leyendo

Monitorizando procesos Java sin salir de la terminal con jvm-mon

Tenemos ya unas cuantas herramientas para monitorizar procesos Java, desde el clásico jconsole, pasando por visualvm o soluciones de monitorización más complejas (Nagios, RHQ, etc…) Podemos añadir a la lista jvm-mon, herramienta que nos aporta una forma sencilla de monitorizar procesos Java desde la terminal dándonos de un vistazo información relativa a estado de memoria heap, GC, threads de proceso y uso de CPU.

Sigue leyendo

Añadido script para despliegues en Jboss modo dominio con Requests (Python)

Ya que estaba probando a desplegar en instancias standalone con la librería Requests de Python, me animé a hacer un script adicional para despliegues en modo dominio. El código varía ligeramente ya que en este caso es necesario añadir el contenido al repositorio del dominio como paso previo a habilitar el despliegue en sí en el Server Group correspondiente.

Sigue leyendo

CPUfreq: más control de nuestra CPU en Gnome Shell

CPUfreq es una interesante y sencilla extensión de Gnome Shell que nos permite tener un mayor control del rendimiento de nuestra CPU.

La forma más sencilla de instalarla es mediante la propia web de extensiones de Gnome Shell ya que se integra con nuestro escritorio y además permite seleccionar la versión de la extensión en función de la versión de Shell que utilicemos.

Sigue leyendo