Ldfa Posté(e) le 30 décembre 2019 Partager Posté(e) le 30 décembre 2019 Aujourd’hui on va parler un peu supervision. C’est génial d’avoir des dizaines de serveurs, de faire du clustering, d’avoir des périphériques tels que des routeurs, switchs, onduleurs ou autres joyeusetés. Mais s’il n’y a aucune supervision sur tous ces appareils, cela peut vite devenir catastrophique sans que l’on en s’aperçoive. Alors des systèmes de supervision, il en existe des dizaines, payant ou gratuit, bon ou moins bon. On va ici s’intéresser à Grafana qui est celui que j’ai récemment mis en place. Avec Grafana, vous allez pouvoir monter de magnifiques Dashboard qui plairons à coup sûr à votre direction. Et ce qui plaira encore plus à votre direction, c’est que Grafana est Open-Source. Mon responsable quand il voit mon dashboardVous en doutez ? Regarder bien ces quelques Dashboard : Du Dashboard en veux-tu en voilà ! Dashboard Lab Dans l’exemple ci-dessous un Dashboard qui récupère les infos d’un LAB ESXi, avec les remontées d’info des NAS Synology et de l’onduleur. Dashboard Synology Récupération des infos de serveur NAS Synology via SNMP. Dashboard Hyper-V Récupération des informations à l’aide de telegraf. Dashboard Zimbra Alors convaincu ? Si ce n’est pas encore le cas, une petite vidéo avec toutes les nouveautés de Grafana version 5 : [embedded content] [embedded content] Grafana peut être installé sur de nombreuse plateforme. De Linux à Windows en passant par Mac, Docker ou Arm. Cela reste assez facile à installer, notamment si vous choisissez l’option Docker. Par contre la configuration des Dashboard peut être un peu plus compliquée en fonction de ce que vous souhaitez récupérer. Je vais ici vous décomposer les étapes que j’ai effectuées pour installer mon serveur Grafana sous Linux (Ubuntu Server) Installation du serveur Linux Bon, je ne vais pas détailler l’installation du serveur Linux, ça reste assez basique. Pensez juste à mettre à jour le serveur après l’installation avec les commandes suivantes : <span class="nb">sudo </span>apt-get update<br data-jekyll-commonmark-ghpages="" /><span class="nb">sudo </span>apt-get upgrade <span class="nb">sudo </span>apt-get update<br data-jekyll-commonmark-ghpages="" /><span class="nb">sudo </span>apt-get upgrade On passe dans le dur ensuite avec l’installation de toute la panoplie nécessaire au bon fonctionnement de Grafana. InfluxDB InfluxDB est une base de données Time Series (TSDB) dont les principaux avantages sont les performances, la durée de rétention importante et la scalabilité (enfin ça c’est si tu mets la main au porte-monnaie). Pour être sûr de télécharger et installer la dernière version, n’hésitez pas à faire un tour sur le site InfluxData. Installation InfluxDB Exécuter les commandes suivantes pour le téléchargement et l’installation d’InfluxDB. cd /tmp wget https://dl.influxdata.com/influxdb/releases/influxdb_1.6.0_amd64.deb sudo dpkg -i influxdb_1.6.0_amd64.deb cd /tmp wget https://dl.influxdata.com/influxdb/releases/influxdb_1.6.0_amd64.deb sudo dpkg -i influxdb_1.6.0_amd64.deb Puis démarrer le service : sudo systemctl start influxd sudo systemctl start influxd Configuration InfluxDB Nous pouvons créer une base de données pour pouvoir pousser les données qui seront remontées par Telegraf : influx -execute "CREATE DATABASE influx_db_telegraf" influx -execute "CREATE DATABASE influx_db_telegraf" Créons l’utilisateur influx_user : influx -execute "CREATE USER telegraf_user WITH PASSWORD 'telegraf_password'" influx -execute "GRANT ALL ON influx_db TO influx_user" influx -execute "CREATE USER telegraf_user WITH PASSWORD 'telegraf_password'" influx -execute "GRANT ALL ON influx_db TO influx_user" Il est possible de créer une politique de rétention pour déterminer la durée de conservation des données (52 semaines dans l’exemple ci-dessous) : influx -execute "CREATE RETENTION POLICY "a_year" ON "influx_db_telegraf" DURATION 52w REPLICATION 1 DEFAULT" influx -execute "CREATE RETENTION POLICY "a_year" ON "influx_db_telegraf" DURATION 52w REPLICATION 1 DEFAULT" Telegraf Telegraf est un agent qui collecte des métriques. Cet agent sait récupérer des métriques sur le système sur lequel il tourne. Il est capable de récupérer les métriques via deux modes : push : la métrique est poussée dans Telegraf pull : Telegraf récupère la métrique en interrogeant le composant qui l’expose (le mode le plus utilisé) Ces métriques seront insérées au fil de l’eau dans InfluxDB. Par la suite, vous pouvez installer Telegraf sur chacun des systèmes que vous souhaitez superviser, qu’il tourne sous Linux, Windows ou macOS… Télécharger Telegraf Installation de Telegraf Nous installerons ici Telegraf sur notre serveur Ubuntu. cd /tmp wget https://dl.influxdata.com/telegraf/releases/telegraf_1.7.1-1_amd64.deb sudo dpkg -i telegraf_1.7.1-1_amd64.deb cd /tmp wget https://dl.influxdata.com/telegraf/releases/telegraf_1.7.1-1_amd64.deb sudo dpkg -i telegraf_1.7.1-1_amd64.deb puis on démarre le service sudo systemctl start telegraf sudo systemctl start telegraf Configuration de Telegraf Il est possible de configurer énormément de paramètres sur Telegraf, mais il fonctionne aussi très bien sorti du carton. Puisque nous avons créé une base de données spécifique pour Telegraf sur Influx, autant l’utiliser ! Éditer le fichier /etc/telegraf/telegraf.conf pour y ajouter l’adresse du serveur, mais surtout la base de données à utiliser et les identifiants. sudo vi telegraf.conf sudo vi telegraf.conf Dans mon cas, telegraf est installé sur le même serveur que le serveur de base de données, bien entendu, si c’est sur un autre serveur, il convient d’ajouter également l’url de votre serveur influx. database = "influx_db_telegraf" username = "telegraf_user" password = "telegraf_password" database = "influx_db_telegraf" username = "telegraf_user" password = "telegraf_password" Redémarrer ensuite le service telegraf. sudo systemctl restart telegraf sudo systemctl restart telegraf Chronograf Chronograf n’est pas indispensable, mais il vous permettra de visualiser plus facilement les data récupérées par InfluxDB et de gérer vos bases de données. Télécharger Chronograf Installation de Chronograf Comme pour les autres applications, vérifiez bien que vous téléchargez la dernière version de Chronograf. cd /tmp wget https://dl.influxdata.com/chronograf/releases/chronograf_1.3.3.0_amd64.deb sudo dpkg -i chronograf_1.3.3.0_amd64.deb cd /tmp wget https://dl.influxdata.com/chronograf/releases/chronograf_1.3.3.0_amd64.deb sudo dpkg -i chronograf_1.3.3.0_amd64.deb Démarrer ensuite le service sudo systemctl enable chronograf sudo systemctl start chronograf sudo systemctl enable chronograf sudo systemctl start chronograf Puis vérifier l’installation de Chronograf en visitant l’adresse : http://votre_server_chronograf:8888 Configuration de Chronograf Depuis Chronograf, vous pouvez gérer vos bases de données et vérifier que votre politique de rétention a bien été créé sur votre base de données influx. Vous pouvez même jouer un peu à faire un Dashboard sur Chronograf. Cependant, on ne va pas perdre de temps avec ça puisque nous utiliserons Grafana pour ça. Grafana On y est ! Grafana est un outil supervision simple et élégant, permettant de s’intégrer facilement à une TSDB, ici InfluxDB. Grafana permet de créer des dashboards avec les métriques brutes ou agrégées provenant d’InfluxDB ou d’ailleurs et permet de définir des seuils d’alertes et les actions associées. Télécharger Grafana Installation de Grafana Attention de changer l’url de grafana par la dernière version (vous pouvez vérifier la dernière version ici). <span class="nb">cd</span> /tmp<br data-jekyll-commonmark-ghpages="" /><span class="keyword" data-reactid="797">wget</span> <a href="https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.2.1_amd64.deb" data-reactid="799">https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.2.1_amd64.deb</a> <br data-reactid="801" /><span class="nb">sudo </span>apt-get install <span class="nt">-y</span> adduser libfontconfig<br data-jekyll-commonmark-ghpages="" /><span class="keyword" data-reactid="802">sudo dpkg</span> -i grafana_5.2.1_amd64.deb <span class="nb">sudo </span>service grafana-server start <span class="nb">sudo </span>update-rc.d grafana-server defaults 95 10 <span class="nb">cd</span> /tmp<br data-jekyll-commonmark-ghpages="" /><span class="keyword" data-reactid="797">wget</span> <a href="https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.2.1_amd64.deb" data-reactid="799">https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.2.1_amd64.deb</a> <br data-reactid="801" /><span class="nb">sudo </span>apt-get install <span class="nt">-y</span> adduser libfontconfig<br data-jekyll-commonmark-ghpages="" /><span class="keyword" data-reactid="802">sudo dpkg</span> -i grafana_5.2.1_amd64.deb <span class="nb">sudo </span>service grafana-server start <span class="nb">sudo </span>update-rc.d grafana-server defaults 95 10 Par défaut, l’interface web de Grafana est publiée sur le port TCP 3000 Vous pouvez le changer dans la configuration de Grafana. Ouvrez votre navigateur et allez sur http://ip-de-votre-serveur:3000 pour confirmer que ça fonctionne bien et que vous pouvez accéder à Grafana. Le nom d’utilisateur et le mot de passe sont « admin » par défaut. Vous serez invité à changer le mot de passe dès la première connexion. Configuration de Grafana Vous voilà maintenant sur Grafana, pour commencer à jouer avec, il va falloir ajouter des sources de données. Cliquez sur « Configuration », puis « Data Sources ». Dans notre cas, nous ajouterons notre base de données Telegraf qui est hébergée sur InfluxDB. Cliquez sur « Add data source ». Puis entrer les informations nécessaires. Grafana est compatible avec de nombreux autres types de sources, vous pouvez donc facilement vous amuser à créer des dashboards pour un peu tout et n’importe quoi. Maintenant que vous avez ajouté votre première source de données, vous pouvez commencer à ajouter des « Panel » à votre « Dashboard ». En fonction de ce que vous souhaitez afficher sur votre Dashboard, sélectionner le Panel adéquat. Vous devrez ensuite créer une requête pour récupérer les données que vous souhaitez afficher dans votre dashboard. Voici un exemple ici avec l’utilisation du CPU sur le serveur Grafana : Ou encore, l’espace disque restant sur le serveur Grafana : Avec Grafana, vous pouvez tout customiser ou presque. Par exemple ici, on change la couleur en fonction de l’espace disque restant sur notre serveur. Ensuite, on peut mettre en forme le Dashboard très facilement. Je ne rentrerai pas beaucoup plus dans les détails, cet article est déjà bien long ! Cependant, je reviendrais peut-être dans d’autres articles sur des parties un peu plus spécifiques, comme la récupération des métriques Synology via SNMP. Sachez qu’il existe de nombreux dashboard disponibles gratuitement grâce à la communauté grafana et de nombreux scripts de récupération de métrique sur Github également. Sources : Afficher l’article complet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.