window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-66399486-1'); NETWORKVM: Supervision
Latest Posts
Browsing Category "Supervision"

Architecture d'icinga

-
Icinga2 se base sur une Platform puissante et  très riche soit au niveau de la présentation, le core manager, documentation et les rapports.
Icinga de base est écrit en C et a une architecture modulaire avec un noyau autonome, l'interface utilisateur et la base de données sur laquelle les utilisateurs peuvent intégrer divers add-ons et des plug-ins.

Ce dernier communique via Doctrine de la couche d'abstraction d’icinga, REST et les API de plug-in assurent la médiation entre les données externes et les structures internes. Ce regroupement de composants permet aux utilisateurs de distribuer le système icinga pour la surveillance redondante. Il offre également la liberté des utilisateurs de personnaliser icinga pour répondre à leurs besoins. 


Icinga core:
Icinga core gère les tâches de surveillance, reçoit les résultats des contrôles de différents plug-ins. Il communique ensuite ces résultats à l’IDODB (Icinga Data Out Database) à travers l’interface IDOMOD (Icinga Data Out Module) et IDO2DB (Icinga  Data Out to Database) démon de service sur SSL crypte les sockets TCP. Bien que les deux viennent emballer (également connu sous le nom IDOUtils) avec le noyau; ils sont des éléments permanents simples, qui peuvent être séparés pour distribuer les données et les processus sur plusieurs serveurs pour la surveillance des systèmes distribués.
L'interface utilisateur icinga classique est également livrée avec icinga core et peut être utilisé comme une interface Web.

Icinga2:
Icinga 2 gère les tâches de surveillance, des contrôles en cours d'exécution, l'envoi d'alerte  de notifications. Les fonctionnalités de icinga 2 peuvent être activés à la demande, que ce soit par défaut des fonctionnalités telles que ses deux composant le checker (vérificateur) ou notification ou interfaces externes compatibles avec icinga 1.x et ses interfaces utilisateur, par exemple l'IDO DB (Icinga Data Out Database). Icinga 2 navires par la pile de cluster intégré et sécurisé par des certificats SSL conforme à x509 en tentent de faire des configurations de surveillance distribué plus facile.

Interfaces utilisateur d'icinga:
Icinga propose deux interfaces web pour les utilisateurs de visualiser les résultats de surveillance et d'envoyer des commandes au noyau d’icinga.
Icinga Classic UI : est basée sur CGIs  de Nagios et conserve son format. Le projet icinga continue d'ajouter de nouvelles fonctionnalités à cette interface, comme la pagination, la sortie JSON, CSV export. Cette interface utilisateur est livrée avec le noyau icinga. Classique UI d’icinga est similaire à l'interface web de Nagios (Nagios CGIs), en ce qu'il se trouve dans la même instance avec le noyau, la récupération de données à travers le cache et l'envoi de commandes à travers les pipes pour les fichiers de commandes.

Icinga Web: Basé sur AGAVI et PHP Web 2.0 inspiré pour l'interface utilisateur principale (front-end) qui utilise Cronks (widgets) pour offrir drag-n-drop des tableaux de bord personnalisés. Contrairement à l'interface classique d’icinga, Icinga Web est une pièce autonome du logiciel. Il communique avec le noyau, la base de données et la 3ème partie add-ons à travers les couches composantes: couche d'abstraction Doctrine (Entrée/base de données), API REST (scripts externes) et l'interface de contrôle de commande (création des pipes, l'exécution des commandes).
Icinga Web 2 : est actuellement développé en parallèle à l'interface utilisateur classique et Web et a été annoncé lors de la Conférence sur la surveillance open source en Novembre 2013 à Nuremberg (Allemagne).

Icinga DOD(Data Out Database):
Icinga Data Out Database (IDODB) est un point d’enregistrement pour les données de surveillance historique pour add-ons. Contrairement à son prédécesseur Nagios, Icinga supporte PostgreSQL et Oracle bases de données en plus de MySQL.

Icinga rapports (Reporting):
Le projet icinga propose un module optionnel Icinga Reporting  base sur l’open source Jasper Reports. Il peut être intégré dans les deux interfaces utilisateur Icinga Classic et Icinga Web. Le module fournit des rapports basés sur un modèle (par exemple Top 10 des hôtes ou problématiques  des services, rapports de disponibilité, etc.) qui peuvent être sauvegardées dans un référentiel avec différents niveaux d'accès et génération automatique de rapports et de la distribution. Les rapports peuvent également être consultés dans les deux interfaces utilisateur en option d’icinga.

Icinga mobile:
Icinga Mobile est une interface utilisateur pour les smartphones et les navigateurs de tablettes qui fonctionnent sur WebKit (dérivé de KHTML). Ceux-ci sont généralement disponibles sur iOS, Android, BlackBerry Tablet OS et webOS. Sur la base de Javascript et de Sencha Touch, Icinga mobile est téléchargé sur un serveur pour l'accès par les utilisateurs autorisés via leurs appareils mobiles. L’administration et les mises à jour peuvent ainsi être prises de façon centralisée, pour l’appliquer automatiquement à tous les utilisateurs d'un réseau informatique. 



Article suivant: Installation d'icinga2 avec l'interface icingaweb2

Fonctionnalités et performances d'icinga

-
Icinga 2 gère les tâches classiques de ce que nous pouvons attendre d’un outil de supervision : exécution des contrôles, envoi de notifications d’alerte, enregistrement des événements… De ce côté-là, le système est axé sur la performance avec une conception multithread. L’équipe annonce avoir fait tourner sur une machine 1 million de contrôles actifs pour 60 000 hôtes supervisés, sans problèmes. En comparaison avec la version 1, il faut 100 fois plus de contrôles à lcinga 2 pour arriver au même niveau de latence.

Modularité:
La conception modulaire permet d’éclater les rôles sur différentes machines afin de répartir les charges. Quand on voit les performances annoncées, je ne suis pas sûr que ce soit la fonctionnalité la plus utilisée 
Distribution:
Dans les fonctionnalités les plus alléchantes à mon gout, c’est la surveillance distribuée. En mode distribué, on peut créer plusieurs instances de serveurs satellites qui effectueront leurs surveillances sur une zone et remonter les données à la zone centrale. Également distribuer tout la supervision  en équipant les satellites de certains rôles, grâce à la modélisation.

Clusterisation:
Suivant les cas, la clusterisation de l’infrastructure peut être intéressante pour assurer un service haut disponibilité. Là encore, Icinga 2 met en avant sa flexibilité en donnant la possibilité de mixer clusterisation, modélisation et distribution !
Historisation:
Concernant la base de données, Icinga prend en charge Oracle et PostgreSQL en plus de MySQL pour l’historisation des données.

Notification:
Notification des personnes de contact en cas de problème de service ou de l'hôte se produisent et sont résolues (via email, ou une méthode définie par l'utilisateur)


Articles suivantArchitecture



Présentation de l’outil de supervision ICINGA2

-
Lancé le 15 mai 2009, Icinga fait partie des projets de Supervision Open Source dérivée du coeur du célèbre outil de supervision Nagios. Il est à l’époque le premier fork dans ce domaine, née du mécontentement des développeurs et contributeurs de Nagios qui ne voient plus évoluer le projet.
L’équipe recomposée fait évoluer le fork pendant 5 ans avant de sortir une nouvelle version baptisée Icinga 2 en juin 2014. Construit à partir de zéro, Icinga 2 est une réécriture complète de l’outil de supervision basé sur le langage C++ qu’on ne pourra alors plus qualifier de fork. En effet, plutôt que de continuer de développer à partir du Nagios Core, comme c’est le cas des versions 1.x, l’équipe de développement a décidé de repartir à zéro afin de repartir sur de nouvelles bases et notamment pouvoir construire une architecture modulaire.

Plus de 350.000 téléchargements jusqu'à maintenant (128.000 en 2011)
Différentes équipes ayant des responsabilités indépendantes :
– Icinga Core
– Icinga Packaging
– Icinga Web & Reporting
– Icinga Docs
– Icinga VMs
– Icinga Community
24 membres "actifs" de l'équipe - Toujours à la recherche de nouveau membre!





Articles suivantFonctionnalités et performances

Les solutions de supervision open source

-

De nombreuses plateformes de supervision existent aujourd’hui. Certaines se contentent de gérer à temps réels l’état du réseau et préservent une vue globale sur le fonctionnement de son architecture, d’autres permettent également de connaître l’état des différents services, et d’autres qui offrent la possibilité de ressortir de nombreuses statistiques du réseau permettant une analyse assez fine.


Voici un tableau présentant les hypothèses de mon comparatif ainsi qu’un bref descriptif de chacun des outils comparés. Je vais maintenant établir une matrice contenant les éléments principaux de décision, selon l’expérience des spécialiste dans le domaine de la supervision, afin de comparer les outils proposés et d’évaluer la réponse qu’ils apportent sur chacun de ces critères.


Zabbix  
ICINGA2
Gestion d’authentification et de rôle
non
oui
oui
oui
oui
Oui
Création des graphes simple à partir des mesures
oui
oui
oui
oui
non
Oui
Utilisation des agents sur les machines cibles
oui
non
oui
oui
oui
Oui
Monitoring d’instances Windows
oui
oui
oui
oui
oui
Oui
Reporting de la qualité de service en vue d’un rapport
non
non
oui
oui
oui
Oui
Intégration d’un nouvelle host dans un système de conf centralisé type Puppet
oui
non
non
non
oui
Oui
Possibilité de mettre en place un système de monitoring distribué entre plusieurs sites
non
non
non
oui
non
Oui
Intégration de fonctionnalités avancées, plage horaires, escalade…
non
non
oui
oui
oui
Oui
Utilisation de RRDTool
oui
oui
non
oui
non
Oui
Zoom sur les graphes et scroll sur la période sélectionnée
non
oui
oui
oui
non
Oui
Interface web responsive
non
non
non
non
non
Oui
Gestion d’alarmes
oui
oui
oui
oui
oui
Oui
SNMP
oui
oui
oui
oui
oui
Oui
Base de données
Postgre sql
MySQL
Oracle
Postgre
sql
MySQLOracle
Postgresql
MySQL
MySQL
MySQL/
Oracle/
Postgresql
Les avantages de l’utilisation d’un produit libre  sont multiples :
- Le code source disponible
- L’interopérabilité
- La possibilité de superviser des applications internes sans connecteur « propriétaire »
- Un développement collaboratif et ouvert
- Moins d’administration (car on n’administre que ce qu’on installe)
- Des coûts non liés au périmètre