Watchman utilise une architecture évolutive basée sur une approche de systèmes distribués, ce qui lui permet de gérer un grand nombre de points de données entrants avec une haute disponibilité. Il dispose également d'un moteur de requête efficace qui optimise les performances pour l'analyse des données de séries chronologiques, ce qui le rend adapté à la surveillance en temps réel et à l'analyse des données historiques.
Les principales fonctionnalités de Watchman incluent :
- Évolutivité : Watchman est conçu pour évoluer horizontalement afin de gérer de grands volumes de données de séries chronologiques. Il utilise une architecture distribuée avec plusieurs serveurs qui peuvent être ajoutés ou supprimés selon les besoins pour augmenter ou diminuer la capacité.
- Haute disponibilité : Watchman offre une haute disponibilité en répliquant les données sur plusieurs serveurs. En cas de panne du serveur, les données sont accessibles de manière transparente depuis un autre serveur sans aucune perte de données.
- Moteur de requête rapide : Le moteur de requête de Watchman est optimisé pour une récupération et une agrégation rapides des données de séries chronologiques. Il prend en charge diverses options de requête telles que le filtrage par plage de temps, les agrégations (par exemple, moyenne, somme) et la correspondance de modèles.
- Ingestion de données flexible : Watchman peut ingérer des données provenant de diverses sources, notamment des fichiers, des journaux et des appareils IoT. Il prend en charge différents formats de données tels que JSON, CSV et les formats binaires personnalisés.
- Architecture multi-tenant : Watchman prend en charge plusieurs locataires, permettant à différentes équipes ou organisations de stocker et de gérer leurs propres données de séries chronologiques de manière indépendante.
- Alertes et notifications : Watchman fournit des fonctionnalités permettant de définir des alertes et des notifications en fonction de modèles de données ou de seuils spécifiques. Il peut s'intégrer à divers systèmes de messagerie ou services externes pour l'envoi de notifications.
- Open Source : Watchman est un projet open source, ce qui signifie qu'il est librement disponible pour utilisation et modification. Il est écrit en C++ et possède une architecture modulaire, permettant aux développeurs de l'étendre et de le personnaliser pour répondre à leurs besoins spécifiques.
Watchman est largement utilisé par les grandes entreprises, notamment Facebook, Netflix et Airbnb, pour surveiller et analyser leurs systèmes de production. Il s'agit d'un outil puissant pour gérer et extraire des informations à partir de grandes quantités de données de séries chronologiques, ce qui en fait un atout précieux pour les organisations cherchant à améliorer leurs capacités de surveillance et d'alerte.