Linux

Redis – Indices Geoespaciales

Los índices geoespaciales de Redis almacenan puntos (nombres asociados a coordenadas: latitud y longitud), que al ser almacenados en memoria, son rápidamente actualizables y apropiados para mostrar la localización en tiempo real de personas, vehículos, o cualquier elemento que pueda cambiar su posición, y permiten ejecutar consultas geoespaciales (ej: distancia entre dos puntos, restaurantes cercanos en un radio determinado, etc).

Redis – Publicación y Suscripción de mensajes

Redis permite la creación de un bus básico de mensajes/eventos a través de su mecanismo de Publicación y Suscripción, pudiendo crear canales/topics «efímeros» (no se almacenan en memoria) donde publicar mensajes que puedan recibir uno o varios suscriptores (sólo aquellos que estén conectados cuando el mensaje se envía, al ser un canal efímero, sin persistencia), actuando como un Broker para múltiples clientes que permite desacoplar publicadores de suscriptores, favoreciendo la escalabilidad

Redis – Transacciones

Cada comando en Redis es atómico, se ejecuta de forma completa e independiente, o en caso de fallo, no aplicarán ningún cambio a la base de datos, para mantener su integridad. Sin embargo, en ocasiones podemos necesitar el uso de Transacciones en Redis, poder ejecutar varios comandos de forma atómica, como si fuera uno solo, y que se ejecuten todos ellos o en caso de fallo en cualquiera de ellos, no se ejecute ninguno, para así poder garantizar la integridad de nuestra información, al igual que necesitaremos una gestión optimista de bloqueos

Redis – Búsqueda de Claves según sus Atributos

Un problema habitual al trabajar con Redis es cómo realizar una búsqueda sobre las claves en función de los atributos almacenados en su valor (Strings que almacenan JSON), de forma rápida y eficiente, especialmente sobre grandes colecciones de datos, algo que en Redis se puede resolver con diferentes técnicas, como Object Inspection, Faceted Search, y Hashed Keys, cada una de las cuales tiene unas implicaciones de rendimiento y almacenamiento

Redis – Estructuras de Datos

Redis es una base de datos NoSQL en memoria, sin esquema, single-thread, Open Source, e implementada en lenguaje C, que ofrece un alto rendimiento y resulta especialmente útil en casos de uso como el cacheo de datos (optimizando el uso de las bases de datos relacionales), almacén de sesiones, e incluso service broker. En este Post vamos a tratar las diferentes estructuras de datos de Redis: Strings, Hashes, Lists, Sets, y Sorted Sets

Prometheus – Descubrimiento mediante file_sd y http_sd

Prometheus permite descubrir dinámicamente los servicios (Exporters) desde los que tiene que obtener métricas (scraping), a través de un fichero JSON, en lugar de configurarlo de forma estática en el propio fichero de configuración de Prometheus, con la ventaja adicional que una simple modificación del fichero actualizará a Prometheus los cambios, que aplicará sin necesidad de tener que reiniciar el servicio

Prometheus – Gestión de alertas con AlertManager

El AlertManager es un gestor de Alertas para clientes como Prometheus (expone endpoints REST), capaz de agruparlas, inhibirlas, silenciarlas (si aplica), enrutarlas, y de notificar a través de diferentes medios como Slack, mail (SMTP), OpsGenie, WeChat, Telegram, un WebHook, un busca (PagerDuty), etc.

Grafana – Introducción e instalación en una Raspberry o en Ubuntu

Grafana es una de las más populares soluciones Open Source para construir Dashboards, especialmente para propósitos de Monitorización, pero también como herramienta de visualización de propósito general (métricas y gráficos), capaz de conectarse a todo tipo de orígenes de datos (ej: Prometheus, InfluxDB, Graphite, Elasticsearch, OpenTSDB, MySQL, PostgreSQL, etc.) y con capacidades de gestión de alertas.

Prometheus – Instalación del Blackbox Exporter en una Raspberry o en Ubuntu

El Blackbox Exporter es el componente de Prometheus que permite monitorizar servicios remotos de diferentes maneras, a través de HTTP, HTTPS, TCP, DNS, ICMP (ping) o gRPC, incluyendo la monitorización de la expiración de certificados SSL. Uno de los Exporters más útiles y usados. ¿Quieres saber cómo instalarlo en una Raspberry o en Ubuntu?

Prometheus – Instalación del Node Exporter en una Raspberry o en Ubuntu

Uno de los Exporters más habituales que proporciona Prometheus, es el Node Exporter, encargado de exportar métricas de hardware y sistema operativo como uso de memoria, CPU, red, y disco, de *NIX kernels como Linux (para máquinas Windows utilizaríamos el Windows Exporter), que podremos configurar/personalizar mediante el uso de sus módulos colectores. ¿Quieres saber cómo instalarlo en una Raspberry o en Ubuntu?