Monitoring - MELOT

Transcription

MonitoringSupervision des systèmes et réseaux

Monitoring - définitions La supervision, dénommée aussi surveillance informatique oumonitoring, consiste à contrôler en continu le fonctionnement, l’activité etles performances d’un système informatique. Les solutions de supervision, matérielles ou logicielles, s’intègrentdans l’activité quotidienne informatique Elles permettent de surveiller, analyser, piloter en agissantdirectement après avoir reçu des alertes informant de potentiellesanomalies. Ces alertes peuvent être remontées via des scripts, des mails, desappels vocaux ou bien par l’envoi de SMS.

Monitoring - définitions Tout l’existant informatique et téléphonique de l’entreprise peut êtreconcerné : le courant électrique, les disponibilités WAN (FTTx, xDSL) les serveurs, les imprimantes, Les éléments actifs constituant le réseau (switches, routeurs, etc.).

Monitoring - définitions Surveiller les systèmes d’information permet des’assurer d’une bonne disponibilité des services,notamment les plus critiques. En détectant toutes les anomalies, on peut alerter partout moyen à disposition (console de supervision,mail, sms, ) et prévenir ainsi les défaillances. Une automatisation des tâches permettra de relancerles serveurs et d’intervenir à distance si nécessaire, enrelançant ainsi le service concerné.

Comment superviser ? Il existe plusieurs méthodes pour superviser et gérer un systèmed’informations, En général, elles se basent sur : La récupération des résultats de scripts Les scripts en eux-mêmes, qui seront selon les cas, distants ou bien locaux. Analyse des logs (fichiers) et autres bases de données Par l’utilisation des protocoles standards du marché (normalisés)

Monitoring - définitions On peut distinguer trois grandes classes de supervision : Supervision de l’infrastructure matérielle et des éléments actifs du réseau. Supervision des cœurs de systèmes & processus métiers Supervision des services et applications (y compris le « ressenti » utilisateur et le SLA) Les systèmes de supervision utilisent des protocoles, la plupart sontstandardisés par le DMTF (Distributed Management Task Force)

Monitoring - définitions Élément : un aspect unique de l’entité (appareil, logiciel) à surveiller, quirenvoie une ou plusieurs informations (ex. la RAM) Acquisition : la manière d'obtenir des informations. Le système desurveillance attend-il que l’entité envoie une mise à jour de l'état (push), ouest-il proactif et interroge l'appareil (pull) ? Fréquence : la fréquence de l'information est étroitement liée à l'acquisition.L’entité envoie-t-elle un « heart beat » à intervalles réguliers ? Envoie-t-elleuniquement des données en cas de problème ?

Monitoring - définitions Rétention (conservation des données) : la surveillance, de par sa nature même, est « intensive » en données. Que la méthoded'acquisition soit push ou pull, ces statistiques doivent généralement aller quelquepart et peuvent s'accumuler assez rapidement. À son niveau le plus simple, la conservation des données est une option binaire : 1) soit les données sont collectées, évaluées, traitées puis oubliées 2) soit les données sont conservées dans un magasin de données. Pour cette seconde option, la durée de rétention des données est un enjeu à la foistechnique (stockage) et éventuellement juridique, selon la nature des données.

Monitoring - définitions Seuil (threshold) : L'un des principes fondamentaux de la surveillance est de détecter qu’unemesure a dépassé une limite donnée. Cela peut être une simple réponse binaire (le serveur est-il activé ou désactivé?), ou quelque chose de plus complexe (dépassement d’un taux ou d’unevaleur). Quoi qu'il en soit, cette ligne, qui est franchie, s'appelle un seuil.

Monitoring - définitions Reset : le reset ( retour à la normale) est l’opposé logique du seuil. Il marque lepoint où un élément est considéré comme « revenu à la normale ». Response (réponse) : Que se passe-t-il lorsqu'un seuil est dépassé ? La réponsedéfinit cet aspect. Une réponse peut être d'envoyer un e-mail, de lire un fichier audioou d'exécuter un script prédéfini. Requester (demandeur) : à partir de quel point la surveillance se réalise. De façongénéral, on a deux cas : soit un logiciel s'exécutant sur l’entité surveillée elle-même (un agent), soit un emplacement en dehors de l’entité surveillée (agentless, sans agent).

Monitoring - définitions En général, la supervision consiste à collecter des mesures numériques selonune certaine fréquence. Ces mesures s’appellent des métriques. La collecte – on l’a déjà évoqué – s’effectue de deux façons : Push : la source émet vers le collecteur Pull : le collecteur va chercher l’information à la source On distingue plusieurs catégories de métriques.

Métriques système Liées à l'infrastructure servant la partie applicative. De bas niveau : CPU, RAM, Stockage, Réseau De haut niveau (middleware) : serveur de base de données, serveur PHP, Ces métriques sont de trois types : Taux de disponibilité : % de temps durant lequel la ressource est capable de répondre à desrequêtes. Taux d'utilisation : % de temps durant lequel la ressource est occupée à répondre à desrequêtes, ou % d’utilisation de la capacité totale de stockage ou de débit. Contention : quantité de requêtes que la ressource ne peut servir car elle est occupée (filed'attente, buffers, swap, )

Métriques applicatives On mesure ici l’expérience utilisateur et la santé du service. Ceci permet de rapidement répondre aux questions qui intéressent les utilisateurs finaux duservice (le service est-il disponible et remplit-il sa mission ? A quelle vitesse le fait-il ? Avec quelsrésultats ?) Ici aussi, plusieurs catégories. Performance : quantifie l'efficacité d'un composant, notamment via la latence, exprimée soit en temps effectif,soit en percentiles (%), du type « X % des requêtes ont reçu une réponse en moins de 0,2 secondes ». Débit (ou entrées/sorties) : quantité de requêtes traitées par unité de temps (par ex. un nombre de pagesaffichées par seconde) Succès : % d'entrées/sorties traitées dont l’exécution s'est bien déroulée (par ex. le nombre de réponses HTTP2XX). Echec : % de requêtes dont l’exécution s'est mal déroulée (par ex. HTTP 5XX).

Les évènements En plus des métriques, certaines informations seront récupérées de façon plus sporadique,voire exceptionnelle : les évènements Les évènements sont par nature (quasiment) imprévisibles. Par exemple : Tâche planifiée en échec Virus détecté dans un système de fichiers Trap SNMP Contrairement aux métriques qui doivent être analysées dans leur contexte, les évènementscontiennent en général en eux-mêmes suffisamment d'informations pour être directementinterprétés (via des logs notamment).

Collecte des données Les systèmes de supervision s’appuient souventsur des bases de données chronologiques (timeseries database : TSDB) Il s’agit d’un SGBD optimisé pour le stockage etla diffusion de séries chronologiques, sous laforme de paires [clé temporelle, valeur] Exemples : influxDB, Kdb , Prometheus,Graphite, RRDtool, ApacheDruid, .

Collecte des données Pour optimiser la supervision, on peut être tenté de maximiser : les métriques et évènements collectés La fréquence de collecte La granularité (ou la précision de l’information) Mais le risque est d’avoir un système de supervision surchargé d’informationsinutiles (avec un fort besoin de ressources), et de solliciter inutilement le système supervisé, et paradoxalement impacter sesperformances.

ProtocolesLes principaux protocoles, normes ou référentiels pour lasupervision.

Monitoring – protocoles principaux IPMI Intelligent Platform Management Interface Ensemble de spécifications d'interfaces communes avec du matériel informatique(principalement des serveurs) permet de surveiller certains composants (ventilateur, sonde de température, BIOS, .), mais également de contrôler l'ordinateur à distance : reboot, démarrage, console àdistance, Implémentations : HP ILO, DELL DRAC, Linux ipmitool

Monitoring – protocoles principaux CIM Common Information Model Standard ouvert qui définit un modèle d’administration d’environnement informatiquepar des objets et des relations entre ces objets. Le but est d'avoir une administration système cohérente et unifiée des éléments gérés, etcela de façon totalement indépendante de leurs fabricants ou fournisseurs. Implémentations : Microsoft WMI

Monitoring – protocoles principaux SNMP Simple Network Management Protocol Protocole de communication qui permet aux administrateurs réseau de gérer leséquipements du réseau, de superviser et de diagnostiquer des problèmes réseaux etmatériels à distance. Les objets gérables d’un équipement (paramètres, sondes, informations, ) sonthiérarchisés selon un modèle standardisé : la MIB (Management Information Base)

Monitoring – protocoles principaux ICMP Internet Control Message Protocol Un des protocoles fondamentaux constituant la suite des protocoles Internet. Il est utilisé pour véhiculer des messages de contrôle et d’erreur au niveau 3 OSI pourcette suite de protocoles, par exemple lorsqu’un service ou un hôte est inaccessible. Son utilisation est habituellement transparente du point de vue des applications et desutilisateurs présents sur les réseaux (idéal donc pour la supervision).

Monitoring – protocoles principaux Syslog protocole définissant un service de journaux d'événements d'un système informatique.C'est aussi le nom du format qui permet ces échanges. Les messages Syslog sont similaires aux traps SNMP. Un service ou un agent Syslogprend les événements qui se produisent sur le périphérique et les envoie à un serveurd'écoute (distant ou local). Les données de log sont stockées de façon permanente. Implémentations : MS Windows Observateur d’évènements, Unix syslog (rsyslog,syslog-ng)

Monitoring – protocoles principaux ITIL Information Technology Infrastructure Library Référentiel très large de bonnes pratiques (« best practices ») du management du systèmed'information (SI). Il aborde les sujets suivants : Comment organiser un système d'information ?Comment améliorer l'efficacité du système d'information ?Comment réduire les risques ?Comment augmenter la qualité des services informatiques ?

ITIL – cycle de vie

Les outilsQuelques outils simples de monitoring

ping Ping envoie un paquet à l’entité cible, qui (si elle est opérationnelle) envoieune réponse de type « Je suis ici ! », avec un certain nombre de donnéescomplémentaires en vue d’un diagnostic. Le résultat d'un ping vous indique donc notamment si un service répond (ilest « up ») et à quelle vitesse il a répondu (temps de latence). L’application la plus connue est le ping ICMP (contrôle d’une connexion IP),mais le concept de « ping » est plus large.

Windows Task Manager Ou : gestionnaire de tâches, accessible en lançant :taskmgr Accessibles aussi par CTRL SHIFT ESC Il permet de monitorer les applications/processus,services et utilisateurs, ainsi que les ressources utilisées Les informations qu’il donnent sont nombreuses etutiles. Voir aussi : resmon (moniteur de ressources)

Autres utilitaires Windows de base Observateur d’évènements : eventvwrAnalyseur de performances : perfmonMoniteur de fiabilité : perfmon /relCes outils locaux s’appuient sur WMI (WindowsManagement Instrumentation) WMI est aussi au cœur de la solution MicrosoftSCCM (System Center Configuration Manager)

Utilitaires Linux (Debian Buster) Commandes de base pour réaliser des scripts de supervision : watch, tail, df [-hm], free [-hm], ps [-aux], ss [-ntaup], systemctl, Commandes évoluées : De base : top Intégrés (à installer) : htop, iotop, iptraf-ng, nmon, glances Scriptables : iostat, vmstat (paquet sysstat)

Solutions évoluées de supervision Il existe un nombre assez important de solutions de supervision, open sourceou propriétaire, en mode on-prem ou SaaS Open Source : Nagios, Centreon, Zabbix, Icinga, Shinken, Grafana, ELKStack, Cacti, Netdata, LibreNMS, EON, Propriétaires : Microsoft SCCM, Paessler PRTG, Solarwinds, Gestion globale (ITSM ITIL) : Splunk, Jira, FreshServices,

SYSLOGOu : comment un serveur peut raconter ce qu’il fait et ce qui luiarrive, alors que personne ne s’occupe de lui ?

YvesRougyFR

Monitoring - définitions La supervision, dénommée aussi surveillance informatique ou monitoring, consiste à contrôler en continu le fonctionnement, l'activité et les performances d'un système informatique. Les solutions de supervision, matérielles ou logicielles, s'intègrent dans l'activité quotidienne informatique Elles permettent de surveiller, analyser .