Configuration de SmokepingÉventuellement, personnaliser le script CGI exécuté par le serveur Web :
# nano -w /usr/lib/cgi-bin/smokeping.cgiÉventuellement, personnaliser la page Web de Smokeping :
# nano -w /etc/smokeping/basepage.htmlEditer le fichier de configuration de Smokeping :
# nano -w /etc/smokeping/configCe fichier est en un seul bloc, pour en faciliter l’administration il est possible d’en déporter certaines parties dans d’autres fichiers avec la syntaxe suivante :
@include chemin_du_fichier
Ainsi le contenu exact du fichier remplacera le “@include” à cet endroit, au moment de l’interprétation par Smokeping.
Le fichier est découpé en sections qui peuvent y figurer dans n’importe quel ordre, la syntaxe est la suivante :
*** Nom_de_section ***
Plusieurs niveaux de sous-sections peuvent y être créées, avec la syntaxe suivante :
+ section_de_premier_niveau
++ section_de_second_niveau
+++ …
Dans ces sections sont définis des paramètres avec la syntaxe suivante :
paramètre = valeur
Certains paramètres sont obligatoires, d’autres facultatifs.
Voici en détail la liste des sections et des paramètres à configurer pour une installation minimale, la plupart des paramètres sont fonctionnels en l’état mais il est nécessaire de vérifier les chemins, et seulement un minimum de paramètres optionnels ont été utilisés :
* Section “General” *** General ***
Cette section contient les paramètres de configuration généraux valides pour l’ensemble de l’installation.
PARAMÈTRES OBLIGATOIRES :
o Nom de l’administrateur de l’installation (il apparaît dans l’interface Web) :
owner = admin
o Répertoire visible par le serveur Web servant de cache pour les graphiques :
imgcache = /var/www/smokeping
o URL absolue vers le répertoire cache “imgcache” ou relative vers le répertoire du script de la page Web :
imgurl = ../smokeping
o Chemin du répertoire des fichiers de la base de données RRD :
datadir = /var/lib/smokeping
o Chemin du répertoire du fichier pid pour le démon Smokeping :
piddir = /var/run/smokeping
o Chemin vers le modèle de mail pour les hôtes dynamiques. Ce modèle doit contenir des mot-clefs de la forme “##mot-clef##”. Smokeping inclut un exemple de modèle :
smokemail = /etc/smokeping/smokemail
o URL complète vers le script de la page smokeping.cgi :
cgiurl =
http://localhost/cgi-bin/smokeping.cgi o Adresse mail de l’administrateur de l’installation :
contact = admin@host
PARAMÈTRES FACULTATIFS :
o Chemin vers le binaire sendmail. Il sera utilisé pour envoyer des mails avec le support des adresse dynamiques :
sendmail = /usr/sbin/sendmail
o Chemin vers le fichier HTML modèle de tSmoke :
tmail = /etc/smokeping/tmail
o Si beaucoup d’instances de Smokeping sont lancées simultanément, elles risquent de provoquer une surcharge des ressources. En utilisant le paramètre “offset” [excentricité], il est possible de faire varier les moments auxquels les sondes sont lancées. L’excentricité est spécifiée en pourcentage d’intervalle total, ou aléatoire. Il est recommandé d’utiliser la valeur “random” [aléatoire]. Ceci n’influence pas la base RRD, mais seulement le moment d’acquisition des données. L’excentricité par défaut est “random” :
offset = random
o Niveau syslog à utiliser, par exemple “local0″, …”local7″. Les logs ne sont utilisés que si ce paramètre est déclaré :
syslogfacility = local0
o Priorité syslog à utiliser, par exemple “debug”, “notice”, “info”. La priorité par défaut est “info” :
syslogpriority = info
o Si plusieurs sondes ou plusieurs instances d’une même sonde sont utilisées, il est possible de les faire fonctionner concomitamment dans des processus distincts, en mettant cette valeur à “yes”. Ceci donne la possibilité de spécifier des paramètre “step” et “offset” propres à chaque sonde et empêche les sondes de se bloquer mutuellement en cas d’indisponibilité de services. La valeur par défaut est “yes”, elle peut être placée à “no” dans des cas spécifiques :
concurrentprobes = yes
o Si la valeur de “concurrentprobes” [sondes concomitantes] est à “yes”, ceci indique aux processus des sondes de modifier ou pas leur chaîne “argv” pour afficher le nom de la sonde dans le nom du processus. Si mis à “yes” (valeur par défaut), le nom de la sonde sera concaténé au nom du processus avec la syntaxe ” [sonde]“, par exemple : “/usr/bin/smokeping [FPing]“. Si ce comportement n’est pas souhaité, mettre sa valeur à “no”. Si le paramètre “concurrentprobes” est mis à “no”, ce paramètre n’a aucun effet :
changeprocessnames = yes
* Section “Database” *** Database ***
IMPORTANT : Cette section décrit le comportement de la base de données RRD pour stocker les données de Smokeping. Il est impossible de changer la base existante en modifiant ce fichier de configuration. Pour prendre en compte les changements de paramètres dans cette section, il faut supprimer les fichiers de la base ou les convertir.
o Intervalle de base d’exécution des sondes de Smokeping en secondes. Smokeping répartira les étapes pour pinger les hôtes cibles. Si “concurrentprobes” est mis à “yes”, cette valeur peut être adaptée par chaque sonde. Le paramètre “step” est fixé dans la base RRD lorsque les fichiers sont générés :
step = 300
o Nombre de pings devant être envoyés à chaque cible. Recommandé : 20. Minimum : 3. Ceci peut être adapté par chaque sonde. Certaines sondes (celles dérivées de basefork.pm, c’est-à-dire la plupart excepté les variantes de FPing) permettront même d’adapter cette valeur pour chaque cible). Le nombre de pings est fixé dans la base RRD lorsque les fichiers sont générés :
pings = 20
o Configuration de la base de donnée. Les valeurs par défaut ci-dessous conviennent pour la plupart de cas. Il est recommandé de connaître RRDtool et son fonctionnement pour les modifier. Chaque ligne de la table spécifie une moyenne RRA [Roud Robin Average] :
- colonne 0 : méthode de consolidation
- colonne 1 : partie des intervalles consolidés qui doivent être connus pour permettre entrée connue
- colonne 2 : nombre d’étapes à consolider pour chaque entrée RRA
- colonne 3 : nombre de lignes que cette RRA doit avoir
AVERAGE 0.5 1 1008
AVERAGE 0.5 12 4320
MIN 0.5 12 4320
MAX 0.5 12 4320
AVERAGE 0.5 144 720
MAX 0.5 144 720
MIN 0.5 144 720
* Section “Presentation” *** Presentation ***
Cette section définit la manière dont seront présentées les données par Smokeping. Les paramètres de cette section n’altèrent pas les données de la base, ils n’ont d’effet que sur l’affichage. Smokeping propose deux modes d’affichage : les aperçus de graphiques et les graphiques détaillés.
o Le modèle de page Web contient des mots-clefs avec la syntaxe . Smokeping inclut un exemple de modèle qui peut être utilisé comme base pour l’installation. Le modèle par défaut contient un lien vers un compteur de pages Smokeping ainsi que le site officiel. L’auteur de cet outil souhaite que ces liens soient laissés à des fins statistiques :
template = /etc/smokeping/basepage.html
+ overview
Cette sous-section définit l’aspect des aperçus de graphiques.
o Largeur des aperçus :
width = 600
o Hauteur des aperçus :
height = 50
o Longueur de la période de temps affichée par les graphiques d’aperçu. La période doit être spécifiée par un nombre suivi d’une lettre qui marque l’unité de temps. Exemples : “s” pour “seconds”, “m” pour “minutes”, “h” pour “hours”, “d” pour “days”, “w” pour “weeks”, “y” pour “years” :
range = 10h
o Couleur de la ligne médiane en hexadécimal (rouge par défaut) :
median_color = ff0000
o Format de la date affichée en bas à droite des aperçus de graphiques. Elle est spécifiée avec la syntaxe posix strftime (se reporter à la page de manuel de strftime [http://bama.ua.edu/cgi-bin/man-cgi?strftime+3C]) :
strftime = %b %a %t %e %T %Y
+ detail
Cette sous-section décrit l’aspect des graphiques détaillés.
o Largeur des graphiques en pixels :
width = 600
o Hauteur des graphiques en pixels :
height = 200
o Mode d’échelle d’affichage des graphiques, mettre la valeur à “no” pour l’échelle linéaire et à “yes” pour l’échelle logarithmique :
logarithmic = no
o Si un graphique dépasse le maximum médian d’un facteur égal à cette valeur, l’algorithme d’échelle ne sera plus utilisé. Un facteur de “2″ permet de gérer des graphiques avec un maximum inférieur ou égal à deux fois le maximum médian :
unison_tolerance = 2
o Tout RTT [Round Trip Time] supérieur à cette valeur sera coupé dans les graphiques détaillés :
max_rtt = 1000
o Format de la date affichée en bas à droite des graphiques détaillés. Elle est spécifiée avec la syntaxe posix strftime (se reporter à la page de manuel de strftime [http://bama.ua.edu/cgi-bin/man-cgi?strftime+3C]) :
strftime = %b %a %t %e %T %Y
o L’affichage détaillé peut contenir plusieurs graphiques dans plusieurs résolutions de temps. Cette table permet de spécifier les résolutions temporelles de chaque graphique. Faire attention à garder des labels concordant avec les durées spécifiées sous peine d’erreurs d’interprétation :
- colonne 0 : label de la résolution, affiché au-dessus de chaque graphique
- colonne 1 : longueur de la période de temps affichée avec la même syntaxe que pour le paramètre “range” de la sous-section “overview”
"Last 20 Minutes" 20m
“Last 5 Hours” 5h
“Last 24 Hours” 24h
“Last 5 Days” 5d
“Last 10 Days” 10d
“Last 30 Days” 30d
“Last 400 Days” 400d
++ loss_colors
En mode d’affichage détaillé, la couleur de la ligne médiane dépend du nombre de paquets perdus. Les paramètres par défaut conviennent dans la plupart des cas, mais il est possible d’en modifier les valeurs dans cette sous-section. Se reporter à la documentation officielle.
++ uptime_colors
Lors de la surveillance d’hôte utilisant un adressage dynamique, Smokeping garde en mémoire la durée pendant laquelle la machine garde la même adresse IP. Cette durée est tracée en couleur en arrière-plan des graphiques. Les paramètres par défaut conviennent dans la plupart des cas, mais il est possible d’en modifier les valeurs dans cette sous-section. Se reporter à la documentation officielle.
* Section “Probes” *** Probes ***
Cette section sert à configurer les modules sondes. Les sondes permettent d’ajouter des commandes ping externes à Smokeping. Se reporter à la documentation de chaque module.
+ FPing
Cette sous-section est un exemple de sonde intégrée à Smokeping. Il est possible d’y définir plusieurs instances d’une même sonde en y créant des sous-sections de niveau inférieur. Ces instances peuvent avoir des valeurs différentes pour chacune de leurs variables. Le nom de la sous-section détermine le nom de la sonde, il est ainsi possible de choisir des noms descriptifs pour les sondes. Les paramètres d’une section principale déterminent les valeurs par défaut pour ses sous-sections, ainsi une section principale n’est pas une instance de sonde. Les paramètres locaux définis dans une sous-section sont prioritaires sur ceux de la section principale.
o Les paramètres sont propres à chaque sonde, ici le chemin du binaire de la sonde :
binary = /usr/bin/fping
* Section “Alerts” *** Alerts ***
Cette section permet de configurer les motifs détecteurs pour la perte et le RTT. Après chaque cycle de détection, Smokeping examine les données et détermine à quels motifs elles correspondent. Les détecteurs sont activés pour chaque cible et hérités par les cibles enfant (voir la section “Targets”). Les détecteurs ne sont pas de simples seuils qui sont dépassés lors de l’occurrence d’un problème. Ils sont paramétrables pour détecter des motifs particuliers de perte ou de RTT. Ils permettent de prendre en compte plusieurs lectures passées d’une donnée pour prendre plus intelligemment la décision de l’alerte à envoyer, ou ne pas envoyer d’alerte. Les motifs sont des nombres préfixés par un opérateur indiquant le type de comparaison à faire.
PARAMÈTRES OBLIGATOIRES :
o Adresse e-mail ou nom du programme à exécuter lors de la détection d’un motif. Pour appeler un programme, le premier caractère de la valeur doit être “|”. Le programme sera appelé à chaque motif détectée. Il est possible de donner une liste d’e-mails ou de programmes séparés par des virgules :
to = admin@domain
o Adresse e-mail ou nom qui apparaît dans le champs expéditeur de l’alerte :
from = admin@smokeping
PARAMÈTRES FACULTATIFS :
Se reporter à la documentation officielle.
DÉCLARATIONS DES MOTIFS :
Se reporter à la documentation officielle pour la syntaxe.
+bigloss
type = loss
pattern = ==0%,==0%,==0%,==0%,>0%,>0%,>0%
comment = suddenly there is packet loss
+someloss
type = loss
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a row
+startloss
type = loss
pattern = ==S,>0%,>0%,>0%
comment = loss at startup
+rttdetect
type = rtt
pattern = 100,>100,>100
comment = routing mesed up again ?
* Section “Targets” *** Targets ***
Cette section définit le travail effectif de Smokeping. Elle contient une liste hiérarchisée des hôtes organisés en sous-sections qui marquent les limites du réseau que le système doit surveiller. Chaque sous-section peut contenir soit un hôte soit plusieurs sous-sections de niveau inférieur avec leurs hôtes respectifs. Il y a propagation des paramètres globaux aux sous-sections, et écrasement de ces paramètres par un paramètre identique local à la sous-section.
PARAMÈTRES OBLIGATOIRES :
o Nom du module de sonde à utiliser pour l’hôte, ce paramètre est propagé :
probe = FPing
o Nom du menu de la section ou de la sous-section, nom d’hôte par défaut. Ceci est un identifiant :
menu = Top
o Label de la section ou de la sous-section, nom d’hôte par défaut. Ceci est le titre le la page correspondante dans l’interface Web :
title = Network Latency Grapher
PARAMÈTRES FACULTATIFS :
o Remarque pour la section, affichée sur l’interface Web :
remark = Welcome to the SmokePing website
+ Local
menu = Local
title = Local Network
++ LocalMachine
menu = Local Machine
title = Local Machine for Smokeping
o Nom d’hôte ou adresse IP :
host = localhost
++ ...
+ World
menu = World
title = Worldwide Connectivity
++ SearchEngines
menu = Search Engines
title = Search Engines Connectivity
+++ SomeSearchEngine
...
Éventuellement, personnaliser la page Web de Smokeping :
vi /etc/smokeping/basepage.html