Aller au contenu

Introduction à HertzBeat

Mise à jour :

logo hertzbeat

L’observabilité est essentielle dans les environnements IT modernes. Elle repose sur la capacité à collecter des métriques, des logs et des traces pour diagnostiquer les problèmes, optimiser les performances et maintenir la disponibilité des systèmes. HertzBeat, un outil open-source de monitoring, permet de centraliser cette observabilité en surveillant des systèmes, bases de données et services cloud en temps réel.

Ce projet a été conçu pour répondre aux besoins des administrateurs système et des équipes DevOps qui cherchent un outil simple, mais puissant, capable de surveiller les performances de leurs infrastructures. Avec HertzBeat, il est possible de suivre des métriques en temps réel, de configurer des alertes personnalisées, et d’obtenir des tableaux de bord clairs et intuitifs. Que vous gériez des serveurs, des bases de données ou des services cloud, HertzBeat offre une solution centralisée pour surveiller efficacement vos ressources.

Historique

HertzBeat est né de la volonté de la communauté open-source de créer un outil de monitoring accessible à tous, capable de surveiller des infrastructures complexes sans nécessiter une configuration lourde. Ce projet a été lancé pour offrir une alternative aux solutions de surveillance traditionnelles, souvent coûteuses ou difficiles à déployer pour de petites équipes. Depuis sa création, HertzBeat a connu une adoption croissante grâce à sa flexibilité et à son approche légère. En peu de temps, il a su se faire une place dans l’univers des outils de monitoring, en particulier auprès des équipes DevOps qui recherchent un outil simple à prendre en main, mais suffisamment robuste pour surveiller une large gamme de systèmes, des serveurs web aux bases de données en passant par les conteneurs et les services cloud.

De plus, sa nature open-source encourage une communauté active à contribuer au projet, ce qui permet à HertzBeat d’évoluer rapidement en fonction des besoins des utilisateurs. C’est cette capacité d’adaptation qui fait de HertzBeat une solution de plus en plus populaire pour les infrastructures modernes.

Pourquoi utiliser HertzBeat ?

HertzBeat se démarque par ses fonctionnalités complètes, idéales pour la surveillance de systèmes divers :

  • Surveillance multi-type : HertzBeat surveille une large gamme de services, comme des applications web, des bases de données Postgresql, des systèmes d’exploitation, des serveurs de cache, et bien plus encore. Cela en fait un outil polyvalent pour surveiller l’ensemble de votre infrastructure.

  • Sans agent et simple d’utilisation : HertzBeat est agentless, c’est-à-dire qu’il ne nécessite pas d’installation d’agent sur les systèmes à surveiller. L’interface web permet une surveillance en un seul clic, avec une courbe d’apprentissage quasi nulle. Que vous soyez un administrateur expérimenté ou non, HertzBeat facilite la configuration et l’utilisation.

  • Protocoles personnalisables : HertzBeat prend en charge de nombreux protocoles, tels que Http, Jmx, Ssh, Snmp, Jdbc, et Prometheus. Vous pouvez collecter n’importe quelle métrique en configurant simplement un fichier YML en ligne. Par exemple, si vous souhaitez ajouter la surveillance d’un service comme Kubernetes K8s ou Docker, il vous suffit de configurer HertzBeat en ligne avec un fichier YML dédié.

  • Compatibilité avec l’écosystème Prometheus : HertzBeat est entièrement compatible avec Prometheus, ce qui signifie que vous pouvez facilement surveiller toutes les ressources que Prometheus surveille déjà, mais avec une interface plus intuitive. En quelques clics dans l’interface, vous pouvez configurer des métriques supplémentaires pour obtenir un suivi détaillé de vos systèmes.

  • Haute performance et évolutivité : HertzBeat est conçu pour gérer de grandes infrastructures avec une expansion horizontale des collecteurs en cluster. Il prend en charge la collaboration cloud-edge et la surveillance de réseaux isolés, ce qui en fait un outil adapté aussi bien pour des petites équipes que pour des environnements distribués complexes.

  • Alarmes flexibles et notifications : HertzBeat offre une personnalisation fine des seuils d’alerte. Vous pouvez recevoir des alertes instantanées via différents canaux de notifications comme Discord, Slack, Telegram, Email, Dingtalk, WeChat, FeiShu, Webhook, SMS, ou ServerChan. Cette flexibilité vous permet d’être toujours informé en cas d’incident critique.

  • Pages de statut en temps réel : HertzBeat permet de créer des pages de statut en temps réel pour communiquer facilement avec les utilisateurs. Ces pages montrent la disponibilité des services et les performances, offrant une vue publique des systèmes surveillés et renforçant la confiance des utilisateurs dans vos services.

  • Personnalisation et modularité : HertzBeat est hautement personnalisable, avec un faible couplage entre les différentes fonctionnalités. Cela permet une flexibilité accrue dans la construction de votre propre système de monitoring. Vous pouvez ajouter ou retirer des modules en fonction de vos besoins spécifiques, assurant une surveillance adaptée à votre infrastructure.

HertzBeat, avec sa prise en charge multi-type, ses intégrations avec des outils tels que Grafana et Prometheus, et sa haute capacité de personnalisation, offre une solution complète et performante pour la surveillance de systèmes modernes.

Déployer HertzBeat via Docker

HertzBeat peut être rapidement déployé via Docker pour une expérience simple sans dépendances externes, bien que cela ne soit pas recommandé pour un environnement de production.

  1. Télécharger les fichiers suivants :
  2. Exécutez la commande suivante :
Terminal window
docker run -d -p 1157:1157 -p 1158:1158 \
-v $(pwd)/data:/opt/hertzbeat/data \
-v $(pwd)/logs:/opt/hertzbeat/logs \
-v $(pwd)/application.yml:/opt/hertzbeat/config/application.yml \
-v $(pwd)/sureness.yml:/opt/hertzbeat/config/sureness.yml \
--restart=always \
--name hertzbeat apache/hertzbeat

Explication des paramètres :

  • docker run -d : Exécute le conteneur en arrière-plan.
  • -p 1157:1157 -p 1158:1158 : Associe les ports du conteneur à ceux de l’hôte pour l’interface web et le cluster.
  • -v $(pwd)/data : Monte le fichier de base de données pour persister les données.
  • —restart=always : Le conteneur redémarrera automatiquement.

Accédez à HertzBeat via : http://localhost:1157/ avec les identifiants admin/hertzbeat.

Interface d'administration d'HertzBeat

Pour plus de détails sur le déploiement avec Docker Compose, Kubernetes, ou la configuration des clusters, il est conseillé de consulter la documentation officielle.

Ajout de serveurs à HertzBeat

Pour surveiller un serveur Linux, HertzBeat se configure via SSH, ce qui rend l’installation simple et rapide (pas d’agent).

  1. Allez dans la section Monitoring Center et cliquez sur New Monitor.
  2. Ajouter une cible : Sélectionnez “Linux SSH” et renseignez les informations de connexion (adresse IP, nom d’utilisateur, mot de passe ou clé privée).
  3. Configurer les métriques : Choisissez les métriques importantes à suivre, comme l’utilisation CPU, la mémoire, et l’espace disque.

Ajout serveur d'HertzBeat

Au bout des quelques minutes, vous obtiendrez des statistiques complètes

Infos serveurs HertzBeat

Ajout d’Alertes et Notifications en temps réel

Un des points forts de HertzBeat est la possibilité de définir des alertes personnalisées. Vous pouvez configurer des seuils critiques, comme une utilisation CPU dépassant 80 %, et recevoir des notifications en temps réel via plusieurs canaux :

  • Email : Configurez une adresse pour recevoir des alertes critiques.
  • Slack : Intégrez HertzBeat avec Slack pour recevoir des notifications dans des canaux spécifiques.
  • Discord : Intégrez cette plateforme si vous utilisez DingTalk pour recevoir des notifications d’alerte.

Ces notifications permettent de réagir rapidement aux anomalies avant que cela n’affecte la performance de vos systèmes.

Conclusion

Le premier contact avec HertzBeat est très positif ! Sa simplicité d’installation et son déploiement rapide évitent de sortir l’artillerie lourde pour surveiller des petites infrastructures. Cependant, pour aller plus loin, il serait intéressant de tester l’ajout de serveurs via du code d’infrastructure (API, Terraform, Ansible), afin de vérifier son intégration dans des environnements d’automatisation plus complexes.

Plus loin

Pour tirer pleinement parti de HertzBeat voici quelques liens essentiels :