Comment suivre la latence du réseau avec SmokePing sur FreeBSD 11

introduction

SmokePing est un outil de suivi de la latence du réseau. Le suivi de la latence du réseau de votre serveur peut vous donner une image utile de la santé et de la disponibilité générales de votre serveur. Par exemple, il peut vous aider à déterminer si votre réseau est surchargé ou à vous alerter en cas de perte de paquets, ce qui peut indiquer une configuration de routeur incorrecte ou un périphérique hors service.

Le créateur de SpokePing, Tobias Oetiker, a également créé un utilitaire d’enregistrement de données et de graphe de séries chronologiques appelé RDDtool. SmokePing utilise RDDtool, vous avez donc également accès à ses fonctionnalités graphiques sophistiquées.

Ce tutoriel va vous montrer comment installer et configurer SmokePing avec Apache sur FreeBSD.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin de:

  • Un serveur FreeBSD 11 avec un utilisateur * root *. Sur DigitalOcean, l’utilisateur * freebsd * par défaut est correct.

Un Droplet FreeBSD nécessite une clé SSH pour l’accès à distance. Pour obtenir de l’aide sur la configuration d’une clé SSH, consultez Comment configurer SSH Authentification par clé sur un serveur FreeBSD. Pour en savoir plus sur la connexion à votre droplet FreeBSD et sur la gestion de base, consultez la série de tutoriels Mettre avec FreeBSD.

Étape 1 - Installer Apache avec le support FastCGI

Pour commencer, nous allons installer le serveur Web Apache et son module FastCGI, que SmokePing utilise pour alimenter son interface Web.

Commencez par mettre à jour les informations du référentiel de votre serveur.

sudo pkg update

Pour installer Apache avec le support FastCGI, vous pouvez simplement dire + pkg + d’installer le module FastCGI. + pkg + gérera toutes les dépendances nécessaires au module lui-même, de sorte qu’il installera automatiquement le paquet principal Apache.

sudo pkg install ap24-mod_fcgid

Confirmez l’installation en appuyant sur + Y +. Une fois Apache installé, nous devrons le personnaliser pour le faire fonctionner.

Étape 2 - Configuration d’Apache

Il faut apporter deux petites modifications à Apache: mettre à jour certaines informations sur le serveur dans + httpd.conf + et activer le module FastCGI.

Commencez par ouvrir + / usr / local / etc / apache24 / httpd.conf + pour le modifier.

sudo ee /usr/local/etc/apache24/httpd.conf

Editez les deux directives ci-dessous. Définissez + ServerAdmin + sur votre adresse e-mail, supprimez le commentaire (en supprimant le précédant + # +) et éditez + + NomServeur + sur l’adresse IP de votre serveur.

httpd.conf

. . .
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. [email protected]
#
ServerAdmin

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName
. . .

Enregistrez et fermez le fichier.

FastCGI n’est pas un module par défaut, nous devons donc l’ajouter à la configuration d’Apache pour le charger. Pour charger le module, nous devons créer un nouveau fichier de configuration dans + / usr / local / etc / apache24 / modules.d / + et ajouter les informations sur le module.

Le module README, contenu dans + / usr / local / etc / apache24 / modules.d / README_modules.d +, indique que «les fichiers sont automatiquement inclus si le nom commence par un nombre à trois chiffres suivi de« + _ + »et se terminant par dans + .conf + ”. Pour se conformer à cela, nous allons créer un fichier nommé + 001_fcgid.conf +.

sudo ee /usr/local/etc/apache24/modules.d/001_fcgid.conf

Collez ce qui suit dans le fichier, ce qui indique à Apache de charger le module et de le trouver.

/usr/local/etc/apache24/modules.d/001_fcgid.conf

LoadModule  fcgid_module            libexec/apache24/mod_fcgid.so

Enregistrez et fermez le fichier.

Maintenant que Apache avec FastCGI est configuré, nous pouvons installer SmokePing lui-même.

Étape 3 - Installation et configuration de SmokePing

L’installation de SmokePing est simple car elle se trouve dans le référentiel des packages.

sudo pkg install smokeping

La configuration de SmokePing se trouve par défaut dans + / usr / local / etc / smokeping / config +. Vous devrez modifier ce fichier pour personnaliser quelques champs.

sudo ee /usr/local/etc/smokeping/config

Vous devez modifier quatre champs dans la section * Général *:

  • + owner +, qui devrait avoir votre nom

  • + contact +, qui devrait avoir votre adresse email

  • + imgurl +, qui devrait être mis à jour pour utiliser l’adresse IP de votre serveur

  • + cgiurl +, qui devrait également être mis à jour pour utiliser l’adresse IP de votre serveur

Voici à quoi ressemblera le fichier lorsque vous aurez terminé:

/ usr / local / etc / smokeping / config

*** General ***

owner    =
contact  =
mailhost = my.mail.host
. . .
imgcache = /usr/local/smokeping/htdocs/img
imgurl   = http:///smokeping/img
datadir  = /usr/local/var/smokeping
piddir  = /usr/local/var/smokeping
cgiurl   = http:///smokeping.fcgi
. . .

SmokePing prend en charge une architecture maître / esclave, pour utiliser leur terminologie. Dans ce tutoriel, nous ne configurons SmokePing que sur une seule machine. En conséquence, commentez la section * Slaves * de la configuration en préfacant chaque ligne par un + # +.

/ usr / local / etc / smokeping / config

. . .
*** Slaves ***
secrets=/usr/local/etc/smokeping/smokeping_secrets
+boomer
display_name=boomer
color=0000ff

+slave2
display_name=another
color=00ff00
. . .

Laissez ce fichier ouvert, car nous le modifierons à la prochaine étape pour configurer les cibles de SmokePing.

Étape 4 - Définition des cibles

La dernière chose que nous allons ajouter au fichier de configuration de SmokePing sont des cibles. Pour paraphraser l’explication de SmokePing, targets est une liste hiérarchique d’hôtes marquant les points finaux des connexions réseau que le système doit surveiller. Chaque cible spécifiera le type de probe à utiliser, qui intègre une commande ping externe à SmokePing (comme http://fping.org/ [+ fping +]).

Dans ce tutoriel, nous allons configurer une configuration qui surveille la latence entre votre serveur et deux miroirs FreeBSD + pkg +. Nous allons créer trois graphiques: deux qui indiquent la latence de chacun des deux serveurs miroir de manière indépendante et un qui indique la latence des deux serveurs en même temps.

Les cibles sont configurées dans la section * Targets * du fichier de configuration de SmokePing. Il existe de nombreuses variables que vous pouvez utiliser pour personnaliser vos cibles, mais ici, nous allons simplement utiliser les éléments suivants:

  • * probe *: La commande ping à utiliser pour rechercher la latence.

  • * menu *: Le menu par défaut à afficher dans l’interface graphique.

  • * title *: Le titre de la page SmokePing correspondante.

  • * remarque *: Le texte qui apparaîtra sur la page.

  • * hôte *: l’adresse IP ou le nom d’hôte.

Tout d’abord, supprimez l’exemple de configuration existant pour que la fin de votre fichier ressemble à ceci:

  • Cibles ** Section sur / usr / local / etc / smokeping / config

. . .
*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
        Here you will learn all about the latency of our network

Ensuite, copiez et collez la configuration suivante sous les paramètres par défaut existants.

  • Cibles ** Section sur / usr / local / etc / smokeping / config

. . .
*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
        Here you will learn all about the latency of our network

Expliquons ce que cela fait.

Les cibles sont hiérarchiques, ce qui signifie que vous pouvez imbriquer des niveaux de cibles pour faciliter l’organisation. Chaque niveau imbriqué de cibles créera un nouveau sous-menu dans l’interface graphique de SmokePing, affichant différents graphiques.

Dans notre configuration, la ligne ++ cibles + signifie que nous définissons un niveau imbriqué de cibles. Les cibles imbriquées seront inhérentes aux valeurs de leur configuration parente. Il n’est donc pas nécessaire d’inclure à nouveau la ligne + probe = FPing + si nous voulons que ces cibles utilisent la même sonde. Cependant, nous avons mis à jour les variables + title + et + menu + pour la nouvelle sous-section, de sorte que la page du site aura un titre et un menu différents.

Les lignes +++ pkgmir_ + signifient que nous définissons un deuxième niveau imbriqué comprenant deux cibles. Ceux-ci ont une variable * hôte * pour l’adresse du noeud final, qui sont nos deux serveurs miroirs FreeBSD + pkg +.

La configuration ci-dessus créera un graphique par cible. En dessous, ajoutez une section supplémentaire pour combiner plusieurs cibles dans un graphique.

  • Cibles ** Section sur / usr / local / etc / smokeping / config

. . .
   ++ pkgmir_ydx
   menu = FreeBSD pkg Mirror (YDX)
   title = FreeBSD pkg Mirror Hosted by Yandex, Russia
   host = pkg0.ydx.freebsd.org

Notez que cette section utilise les deux cibles que nous avons déjà configurées (+ / target / pkgmir_nyi + et + / target / pkgmir_ydx +).

Enfin, sauvegardez et fermez le fichier. La configuration de SmokePing étant entièrement configurée, connectons Apache et SmokePing et démarrons les services correspondants.

Étape 5 - Connexion et activation des services

Créez un fichier de configuration pour Apache dans + / usr / local / etc / apache24 / Includes / + appelé + smokeping.conf +.

sudo ee /usr/local/etc/apache24/Includes/smokeping.conf

Nous ajouterons ici les informations dont Apache a besoin pour gérer les demandes sur l’interface Web de SmokePing. Copiez et collez les éléments suivants dans le nouveau fichier:

/usr/local/etc/apache24/Includes/smokeping.conf

ScriptAlias /smokeping.fcgi /usr/local/smokeping/htdocs/smokeping.fcgi
Alias       /smokeping      /usr/local/smokeping/htdocs/
<Directory "/usr/local/smokeping/htdocs/">
       AddHandler      fcgid-script .fcgi
       AllowOverride   None
       DirectoryIndex  index.html smokeping.fcgi
       Options         FollowSymLinks ExecCGI
       Require         all granted
</Directory>

Cela indique à Apache où trouver les fichiers de SmokePing et s’assure qu’il utilise FastCGI.

La configuration de service par défaut pour Apache et SmokePing ne démarrera pas les processus au démarrage. Pour changer cela, exécutez les deux commandes suivantes.

sudo sysrc apache24_enable="YES"
sudo sysrc smokeping_enable="YES"

La sortie pour les deux commandes susmentionnées devrait ressembler à ceci:

Outputapache24_enable:  -> YES
smokeping_enable:  -> YES

Maintenant, vous pouvez démarrer le service Apache.

sudo service apache24 start

Si cela commence avec succès, vous verrez:

OutputPerforming sanity check on apache24 configuration:
Syntax OK
Starting apache24.

Sinon, vous verrez une erreur que vous pourrez utiliser pour déboguer tout problème dans le fichier de configuration. Enfin, démarrez le service SmokePing.

sudo service smokeping start
OutputStarting smokeping.
Note: logging to syslog as local0/info.
Daemonizing /usr/local/bin/smokeping ...

Tout fonctionne, voyons nos graphiques en action.

Étape 6 - Accéder à l’interface Web de SmokePing

Vous pouvez accéder à l’interface Web de SmokePing en visitant + http: /// smokeping + dans votre navigateur préféré. Vous verrez une page avec le titre et la remarque que vous avez spécifiés à l’étape 5. Si vous n’avez modifié aucune des valeurs, cela ressemblera à ceci:

image: https: //assets.digitalocean.com/articles/smokeping/GVyPSgX.png [page d’accueil de SmokePing]

Vous pouvez voir vos graphiques en naviguant dans le menu de gauche. Notez les options * Cibles * et * Cibles multiples * dans le menu; Ce sont les cibles que nous avons définies dans https://www.digitalocean.com/community/tutorials/how-to-tro-network-latency-with-smokeping-on-freebsd-11#step-5-%E2%80% 94-connecter-et-activer-les-services [étape 5].

Cliquez sur * Cibles *. Vous verrez les deux premiers graphiques que nous avons définis, un pour chaque serveur miroir. Sur la gauche, vous verrez la liste imbriquée de cibles, qui reflète notre fichier de configuration.

image: https: //assets.digitalocean.com/articles/smokeping/x4HUZdh.png [Graphes cibles de SmokePing]

Ensuite, cliquez sur * Multi Targets *. Vous verrez le graphique combiné ici.

image: https: //assets.digitalocean.com/articles/smokeping/J46es5e.png [Le graphique à cibles multiples de SmokePing]

Si vous rencontrez des problèmes, vous pouvez consulter les journaux pour vous aider à diagnostiquer le problème. Apache enregistre ses journaux dans deux fichiers: + / var / log / httpd-access.log + et + / var / log / httpd-error.log +. SmokePing a un fichier journal, qui est + / var / log / smokeping.log +. N’oubliez pas que si vous modifiez la configuration de SmokePing, vous devrez recharger le démon avec + sudo service smokeping reload +.

Conclusion

Dans ce tutoriel, vous avez configuré SmokePing avec Apache et créé des exemples de sondes pour tester la journalisation et la représentation graphique. À partir de là, vous pouvez personnaliser vos sondes et graphiques en fonction de ce que vous souhaitez suivre. SmokePing comporte de nombreuses autres fonctionnalités, telles que les esclaves, les alertes et la prise en charge de votre propre serveur de messagerie. Consultez la page SmokePing pour plus de détails.