Vector: herramienta de monitorización en tiempo real de Netflix

Hace unos días Netflix liberaba la herramienta que utilizan internamente para analizar el rendimiento de sus instancias: Vector. Esta herramienta no deja de ser una aplicación web que se conecta a la API de PCP para obtener las métricas. PCP es un demonio que se instala en cada una de las instancias o servidores que se quiere monitorizar.

Continúa leyendo Vector: herramienta de monitorización en tiempo real de Netflix

Anuncios

Configurar NTP en Red Hat 7

Estoy empezando a montar servidores con Red Hat 7 y hay muchas cosas nuevas. Una de ellas ha sido el servicio de NTP, que deja e ser controlado por el demonio ntpd. Ahora el servicio es Chrony. Si no lo sabes es posible que estés un rato intentando configurando el ntpd y tras reiniciar el servidor lo encuentres parado.

[root@jupiter ~]# systemctl status ntp

ntpd.service - Network Time Service

Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled)

Active: inactive (dead)

Viendo como esta definido el servicio chronyd vemos que es incompatible con el servicio ntpd. Por tanto deberemos elegir entre uno u otro:

[root@jupiter ~]# more /usr/lib/systemd/system/chronyd.service [Unit] Description=NTP client/server After=ntpdate.service sntp.service ntpd.service Conflicts=ntpd.service

[Service]
Type=forking
EnvironmentFile=-/etc/sysconfig/chronyd
ExecStart=/usr/sbin/chronyd -u chrony $OPTIONS
ExecStartPost=/usr/libexec/chrony-helper add-dhclient-servers

[Install]
WantedBy=multi-user.target

Tras reiniciar el servidor este servicio arranca al estar habilitado y no tener incompatibilidades con otros servicios :

[root@jupiter ~]# systemctl status chronyd
chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled)
Active: active (running) since jue 2015-04-23 14:29:00 CEST; 1min 52s ago
Process: 2257 ExecStartPost=/usr/libexec/chrony-helper add-dhclient-servers (code=exited, status=0/SUCCESS)
Process: 2250 ExecStart=/usr/sbin/chronyd -u chrony $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 2254 (chronyd)
CGroup: /system.slice/chronyd.service
└─2254 /usr/sbin/chronyd -u chrony

El fichero de configuración es el siguiente:

[root@jupiter ~]# more /etc/chrony.conf
# These servers were defined in the installation:
server 0.rhel.pool.ntp.org iburst
server 1.rhel.pool.ntp.org iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.pool.ntp.org iburst

stratumweight 0

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Enable kernel RTC synchronization.
rtcsync

# In first three updates step the system clock instead of slew
# if the adjustment is larger than 10 seconds.
makestep 10 3

# Listen for commands only on localhost.
bindcmdaddress 127.0.0.1
bindcmdaddress ::1

keyfile /etc/chrony.keys

# Specify the key used as password for chronyc.
commandkey 1

# Generate command key if missing.
generatecommandkey

# Disable logging of client accesses.
noclientlog

# Send a message to syslog if a clock adjustment is larger than 0.5 seconds.
logchange 0.5


logdir /var/log/chrony

En la documentación de Red Hat nos recomiendan en que casos usar un demonio u otro:
– En sistemas que se reinicien a menudo o que entren en hibernación recomiendan utilizar Chronyd.
– En sistemas que estén permanentemente encendidos recomiendan utilizar Ntpd.
Según cada caso instalaremos uno u otro, pero no los dos.

Para más información:

1. Documentación oficial de Red Hat
2. http://www.certdepot.net/rhel7-set-ntp-service/

Seguimiento en tiempo real de los vuelos en aerolíneas

En los últimos días han aparecido en los medios locales noticias sobre el estreno del nuevo OCC de Air Europa. En las noticias lo más destacado parece haber sido el seguimiento en vivo y tiempo real que se hacen de los aviones, y más después de las recientes catástrofes aéreas y desapariciones.

Air Europa inaugura en Llucmajor un nuevo centro de operaciones

Dicho seguimiento se realiza con la aplicación Aircom Server de SITA y ha sido un proyecto en el que estuve involucrado desde el principio y del que me siento muy orgulloso.

Air Europa seguirá en tiempo real los 46 aviones de su flota desde su sede central

Este programa tiene múltiples funcionalidades entre las que se pueden destacar las siguientes:
– Envío de mensajes tipo TELEX a y desde los aviones. Sirve como gateway para otros sistemas de mensajería como el e-mail.
– Conexión con varías fuentes para obtener información meteorológica: vientos, tormentas, nubes volcánicas, etc.
– Información en tiempo real de las rutas de los aviones, permitiendo comparar desviaciones con los planes de vuelo.
– Al saber exactamente las rutas y tener información meteorológica se pueden optimizar las rutas permitiendo ahorros en tiempo y combustible haciendo los vuelos más eficientes.

Este sistema tiene conexión con varios sistemas de geolocalización. El ultimo que se integró es el servicio que proporciona FlightAware. Para la geolocalización, se utiliza entre otros el sistema ADS-B que se basa en la transmisión por radio de la posición de los aviones a pequeños receptores conectados a través de Internet al servicio de FlightAware. Con sistemas como estos la investigación de catástrofes como la desaparición del avión de Air Asia hubiese sido mas fácil. La instalación de estos transmisores en los aviones será obligatoria en Europa a partir de 2017 pero ya son muchos las aerolíneas que lo tienen implementado.

Los receptores los puede tener instalado cualquiera, de hecho existen proyectos para montar un receptor en una Rapsberry Pi. También se pueden solicitar en la web de FlightAware y en función de la cobertura en el punto donde se va a instalar te lo envían gratis.

Selection_059La información que se puede obtener con estos receptores es sorprendente y se reciben reportes de los aviones que están en un radio de hasta 200Km. En los acercamientos a los aeropuertos, donde hay muy buena cobertura para el sistema la precisión es muy exacta:

Selection_060Selection_061
A modo de resumen se puede decir que es una herramienta muy útil en los departamentos de operaciones de las aerolíneas y estos tipos de sistemas deberían ser obligatorios. Además me pregunto el potencial que podría llegar a tener si tuviera alguna licencia Open Source, estoy convencido que la comunidad haría auténticas maravillas.