Auteur Sujet: Graphes SmokePing  (Lu 305 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
Graphes SmokePing
« le: 04 novembre 2008 à 00:10:56 »
Cet article est basé exclusivement sur la documentation officielle.

Smokeping [http://oss.oetiker.ch/smokeping/] est un outil qui permet de mesurer, de stocker et de montrer la latence, la distribution de latence et la perte de paquets. Il utilise la base RRDtool pour stocker ses données sur le long terme et dessiner des graphiques faciles à interpréter, donnant une information précise sur chaque connexion surveillée.

Smokeping est totalement libre et open-source. Smokeping utilise des “sondes” écrites en Perl pour remonter les informations. De nombreuses sondes sont déjà disponibles. N’importe quelle sonde écrite pour Smokeping capable de remonter une information à travers le réseau peut permettre à Smokeping de générer des graphiques, des latences de ping en particulier. Smokeping s’appuie sur la base de données RRD [Round Robin Database] [http://oss.oetiker.ch/rrdtool/], qui occupe une taille fixe et déterminée à l’avance sur le disque, et renouvelle les données récentes une fois la base pleine en écrasant les plus anciennes. Elle gère intelligemment les données par “consolidation”, en synthétisant les données selon leur ancienneté et en ne conservant les statistiques les plus détaillées que pour les données récentes.

Smokeping requiert un système Unix ou Linux (ici Debian Etch) disposant d’un serveur Web (ici Apache 2.2.3). La consultation des graphiques se fait par interface Web.

Cet article ne traite que d’une installation basique de Smokeping, il ne traite pas des points suivants :
- utilisation avancée de sondes
- écriture d’un script de sonde
- paramétrage et conversion de la base de donnée RRD
- configuration des droits sur le serveur Web
- et bien d’autres…

Cet article explique aussi comment intégrer Smokeping à Nagios d’une manière basique.

Sommaire

    * Installation de Smokeping
    * Configuration de Smokeping
          o Section “General”
          o Section “Database”
          o Section “Presentation”
          o Section “Probes”
          o Section “Alerts”
          o Section “Targets”
    * Lancement de Smokeping
    * Accès à l’interface et lecture des graphiques
    * Interprétation des graphiques de Smokeping
    * Intégration de Smokeping à l’interface de Nagios

vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
Re : LAMP : Smokeping
« Réponse #1 le: 04 novembre 2008 à 00:11:14 »
Installation de Smokeping

# aptitude install smokeping

vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
Re : LAMP : Smokeping
« Réponse #2 le: 04 novembre 2008 à 00:12:11 »
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.html

Editer le fichier de configuration de Smokeping :
# nano -w /etc/smokeping/config

Ce 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

vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
Re : LAMP : Smokeping
« Réponse #3 le: 04 novembre 2008 à 00:12:38 »
Mode master - slave

Tuto : http://oss.oetiker.ch/smokeping/doc/smokeping_master_slave.en.html

Editer le fichier /etc/init.d/smokeping :

nano -w /etc/init.d/smokeping

Modifier les 2 lignes suivantes :
MODE=slave
DAEMON_ARGS="--master-url=http://lafibre.info/smokeping/smokeping.cgi \
             --cache-dir=/var/cache/smokeping/ \
             --shared-secret=/etc/smokeping/secret.txt"

Créer le secret : nano -w /etc/smokeping/secret.txt
Changer le propriétaire : chown smokeping:smokeping /etc/smokeping/secret.txt
Le rendre lisible que par le propriétaire : chmod og-rw /etc/smokeping/secret.txt

Note : Cette étape est indispensable sinon vous aurez le message d'erreur suivant :
Citation
# /etc/init.d/smokeping start
 * Starting latency logger daemon smokeping
ERROR: the shared secret file (/etc/smokeping/secret.txt) is world-readable or writable at /usr/share/smokeping/lib/Smokeping.pm line 4008.



vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
Re : LAMP : Smokeping
« Réponse #4 le: 04 novembre 2008 à 00:12:52 »
Lancement de Smokeping

Lancer le service :

/etc/init.d/smokeping start

Pour charger les fichiers de configuration seulement sans redémarrer le service :

/etc/init.d/smokeping reload



Accès à l’interface et lecture des graphiques

Il suffit d’entrer l’URL du site dans un navigateur Web, elle est composée de l’URL d’accès au serveur Web suivie de l’URL relative du site configuré sur le serveur :

http://smokeping_host/cgi-bin/smokeping.cgi

Interface de Smokeping, page des graphiques détaillés d’un hôte

Si vos graphiques ne sont pas encore peuplés, voici trois exemples d’utilisation de Smokeping :

Site officiel : [http://oss.oetiker.ch/smokeping-demo/]

OVH : [http://smokeping.ovh.net/]

IPsyn : [http://www.ipsyn.net/cgi-bin/smokeping.cgi]

vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
Re : LAMP : Smokeping
« Réponse #5 le: 04 novembre 2008 à 00:13:22 »
Interprétation des graphiques de Smokeping

Les graphiques sont accompagnés du nom de l’hôte concerné, de l’heure de lecture dans la base, ainsi que d’une légende suffisante pour la lecture.

Les aperçus de graphiques présentent la médiane des relevés de latence RTT au cours du temps. Ils indiquent aussi les moyennes de latence et de perte pour la période considérée :

Exemple d’aperçu de graphique généré par Smokeping

Les graphiques détaillés présentent les relevés de latence, la médiane des relevés de latence, ainsi que des encadrements des pertes de paquets au cours du temps. Les graphiques détaillés indiquent aussi les moyennes de latence et de perte et la perte maximale pour la période considérée. Ils indiquent de plus la perte courante au moment de la génération du graphique ainsi que les paramètres de la sonde.

Exemple de latences de ping sur google.fr

Les dégradés de gris sont proportionnels à la densité de population des latences pour un relevé donné. La couleur de la médiane de cette population indique l’importance des pertes de paquets suivant la légende.

vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
Re : LAMP : Smokeping
« Réponse #6 le: 04 novembre 2008 à 00:13:33 »
Intégration de Smokeping à l’interface de Nagios

Ce paragraphe est destiné aux utilisateurs de Nagios [http://www.nagios.org/] souhaitant intégrer Smokeping à leur interface, il suppose une connaissance minimale de sa configuration.

Il s’agit simplement d’ajouter un lien au bon endroit de l’interface vers les graphiques de l’hôte concerné, ceci peut s’appliquer de la même manière aux groupes d’hôtes mais n’est pas traité ici.

Editer le fichier de configuration des informations étendues des hôtes, le chemin peut varier selon votre installation :

vi /usr/local/nagios/etc/hostextinfo.cfg

Dans les définitions étendues, ajouter pour chacun des hôtes la ligne suivante :

notes_url /cgi-bin/smokeping.cgi?target=Local.LocalMachine

La syntaxe employée pour “Local.LocalMachine” est l’arborescence des sous-sections séparées par un point jusqu’à la sous-section terminale qui contient l’hôte.

Vérifier la configuration et débugger le cas échéant, le chemin peut varier selon votre installation :

/usr/local/nagios/sbin/nagios -v

Charger la nouvelle configuration :

/etc/init.d/nagios reload

Si les paramètres ne sont pas pris en compte redémarrer le service :

/etc/init.d/nagios restart

Cette méthode est quelquefois instable, dans ce cas utiliser :

/etc/init.d/nagios stop && pkill nagios
/etc/init.d/nagios start

Accéder à l’interface Web de Nagios, et dans la rubrique “Host Detail”, en face de chaque “Host” l’icône “View Extra Host Notes” est un lien vers les graphiques correspondant à l’hôte dans une nouvelle fenêtre (ou un nouvel onglet).

http://aikeya.net/2007/02/02/installation-de-smokeping-209-sur-debian-etch-et-apache-223/

vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
Re : LAMP : Smokeping
« Réponse #7 le: 04 novembre 2008 à 22:50:06 »
J’ai eut besoin de déplacer des bases RRD entre 2 serveurs, je pensais qu’il suffisait de déplacer les base RRD, mais non, on obtiens l’erreur suivante :

ERROR : This RRD was created on other architecture

J’ai donc créer un script d’export et un autre d’import pour résoudre ce petit problème.

Le script d’export :

#!/bin/bash

SOURCE="/repertoire/ou/se/trouvent/les/bases/rrd/a/exporter"
DESTINATION="/repertoire/ou/vont/se/trouver/les/exports"

for file in $SOURCE/*
        do
                BASENAME=`basename ${file} .rrd`
                rrdtool dump "${file}" $DESTINATION/$BASENAME.xml
        done

Le script d’import :

#!/bin/bash

SOURCE="/repertoire/ou/vont/se/trouver/les/exports"
DESTINATION="/repertoire/ou/on/veux/placer/les/fichier/rrd"

for file in $SOURCE/*
        do
                BASENAME=`basename ${file} .xml`
                rrdtool restore ${file} $DESTINATION/$BASENAME.rrd
                echo $BASENAME
        done

vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
Re : LAMP : Smokeping
« Réponse #8 le: 19 décembre 2008 à 07:48:08 »
Taille des bases (emplacement par default : /var/lib/smokeping/ ) :


i386 :
40 ping toutes les 5 min ou 20 min : 5452 Ko
20 ping toutes les 5 min : 2917 Ko
10 ping toutes les 5 min : 1659 Ko
7 ping toutes les 5 min : 1269 Ko
5 ping toutes les 5 min / 10 min / 20 min: 1015 Ko

AMD64 :
20 ping toutes les 5 min : 2917 Ko

Expérience : xxx hosts 5 ping toutes les 5 min
=> 42 Kb/s pendant 2min 45sec
=> rien pendant 2min 15sec

Expérience : xxx hosts 20 ping toutes les 5 min
=> 42 Kb/s pendant 660,3 sec soit 11 minues et 0,3 sec
=> on dépasse les 5min SmokePing HS

Expérience : 6 hosts (dont 1 localhost) 20 ping toutes les 5 min
=> 4,0 Kb/s pendant 19,2 sec
=> rien pendant 5min - 19,2 sec

Expérience : 6 hosts (dont 1 localhost) 100 ping toutes les 5 min
=> 4,0 Kb/s pendant 100,1 sec
=> rien pendant 5min - 100,1 sec

vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
LAMP : Smokeping
« Réponse #9 le: 14 mai 2010 à 18:04:39 »
Configuration Apache2 pour SmokePing avec mot de passe :

############ SMOKEPING
ScriptAlias /smokeping /usr/lib/cgi-bin
<Directory "/usr/lib/cgi-bin">
  AllowOverride None
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
  AllowOverride None
  AuthUserFile /etc/apache2/pwd/sondeqoe.pwd
  AuthName "Mot de passe necessaire ici !! Vivien"
  AuthType Basic
  require valid-user
</Directory>

Alias /smokeping-img /var/www/smokeping
<Directory "/var/www/smokeping">
  Options None
  AllowOverride None
  AuthUserFile /etc/apache2/pwd/sondeqoe.pwd
  AuthName "Mot de passe necessaire ici !! Vivien"
  AuthType Basic
  require valid-user
</Directory>

vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
LAMP : Smokeping
« Réponse #10 le: 02 juin 2010 à 17:59:12 »
Code perl pour générer un fichier de configuration smokeping depuis un ficheir csv (a adapter selon vos besoins) :

#!/usr/bin/perl -w
use strict;

###################### ARGUMENTS
#my $IP = "$ARGV[0]";
#my $Nom = "$ARGV[1]";
#my $Zone = "$ARGV[2]";
#my $CMTS = "$ARGV[3]";
#if ("$CMTS" eq "") { print "\nErreur : Manque arguments\n"; die "===> Manque arguments\n"; }

###################### PARAMETRES ######################

# PARAMETRES DISQUES (A modifier également dans fichier config_sondeqoe.pl)
my $fichier_lire = "IP.csv";
my $fichier_ecrire = "config_smokeping";

# INITIALISATION DES VARIABLES
my @valeur1 = "";
my $tmp = "0";


###################### Lecture du fichier CSV

open (F_LIRE,"$fichier_lire") or die ("E/S : $!\n");

while( defined( $tmp = <F_LIRE> ) )
{
###################### Début de la boucle, effectué pour chaque ligne
chomp $tmp; # supression d'un éventuel retour chariot
print "Traitement de la ligne $. : Contenu $tmp\n";
@valeur1 = split(/;/, $tmp);
my $IP = $valeur1[0];
my $Nom = $valeur1[1];
my $Zone = $valeur1[2];
my $Debit = $valeur1[3];
my $C = $valeur1[4];

###################### Traitement de l'IP

@valeur1 = split(/\./, $IP);

my $IP_chiffre1 = $valeur1[0];
$IP_chiffre1 =~ s/(\D)//g; # Remplacer (s pour substitute) tout ce qui n'est un chiffre (\D) par // (vide)

my $IP_chiffre2 = $valeur1[1];
$IP_chiffre2 =~ s/(\D)//g; # Remplacer (s pour substitute) tout ce qui n'est un chiffre (\D) par // (vide)

my $IP_chiffre3 = $valeur1[2];
$IP_chiffre3 =~ s/(\D)//g; # Remplacer (s pour substitute) tout ce qui n'est un chiffre (\D) par // (vide)

my $IP_chiffre4 = $valeur1[3];
$IP_chiffre4 =~ s/(\D)//g; # Remplacer (s pour substitute) tout ce qui n'est un chiffre (\D) par // (vide)

my $IP_point = $IP_chiffre1.".".$IP_chiffre2.".".$IP_chiffre3.".".$IP_chiffre4;
my $IP_tiret = $IP_chiffre1."_".$IP_chiffre2."_".$IP_chiffre3."_".$IP_chiffre4;


###################### Traitement des autres champs

$Nom =~ s/(\W)//g; # Remplacer (s) pas alphanumérique (\W) par // (vide) toutes les occurrences (g)
$Zone =~ s/(\W)//g; # Remplacer (s) pas alphanumérique (\W) par // (vide) toutes les occurrences (g)
$Debit =~ s/(\D)//g; # Remplacer (s pour substitute) tout ce qui n'est un chiffre (\D) par // (vide)
$C =~ s/(\W)//g; # Remplacer (s) pas alphanumérique (\W) par // (vide) toutes les occurrences (g)


###################### Ecriture dans un fichier

open (F_ECRIRE,">>$fichier_ecrire") or die ("E/S : $!\n");

print F_ECRIRE "\n";
print F_ECRIRE "+++ ".$IP_tiret."\n";
print F_ECRIRE "probe = TCPPing\n";
print F_ECRIRE "menu = ".$Nom." ".$Debit."\n";
print F_ECRIRE "title = IAD de ".$Nom." - Zonne ".$Zone." ".$Debit." Mb/s - IP ".$IP_point." - C ".$C."\n";
print F_ECRIRE "host = ".$IP_point."\n";
print F_ECRIRE "port = 51005\n";

###################### Fin de la boucle
}
close F_LIRE;
close (F_ECRIRE);

Une autre version :

#!/usr/bin/perl -w
use strict;

###################### PARAMETRES ######################

# PARAMETRES DISQUES (A modifier également dans fichier config_sondeqoe.pl)
my $fichier_lire = "IP.csv";
my $fichier_ecrire = "config_smokeping.txt";

# INITIALISATION DES VARIABLES
my @valeur1 = "";
my $tmp = "0";


###################### Lecture du fichier CSV

open (F_LIRE,"$fichier_lire") or die ("E/S : $!\n");

while( defined( $tmp = <F_LIRE> ) )
{
###################### Début de la boucle, effectué pour chaque ligne
chomp $tmp; # supression d'un éventuel retour chariot
print "Traitement de la ligne $. : Contenu $tmp\n";
@valeur1 = split(/;/, $tmp);
my $Site = $valeur1[0];
my $Dslam = $valeur1[1];
my $NRA = $valeur1[2];
my $IP = $valeur1[3];

###################### Traitement de l'IP

@valeur1 = split(/\./, $IP);

my $IP_chiffre1 = $valeur1[0];
$IP_chiffre1 =~ s/(\D)//g; # Remplacer (s pour substitute) tout ce qui n'est un chiffre (\D) par // (vide)

my $IP_chiffre2 = $valeur1[1];
$IP_chiffre2 =~ s/(\D)//g; # Remplacer (s pour substitute) tout ce qui n'est un chiffre (\D) par // (vide)

my $IP_chiffre3 = $valeur1[2];
$IP_chiffre3 =~ s/(\D)//g; # Remplacer (s pour substitute) tout ce qui n'est un chiffre (\D) par // (vide)

my $IP_chiffre4 = $valeur1[3];
$IP_chiffre4 =~ s/(\D)//g; # Remplacer (s pour substitute) tout ce qui n'est un chiffre (\D) par // (vide)

my $IP_point = $IP_chiffre1.".".$IP_chiffre2.".".$IP_chiffre3.".".$IP_chiffre4;
my $IP_tiret = $IP_chiffre1."_".$IP_chiffre2."_".$IP_chiffre3."_".$IP_chiffre4;
my $IP_x = $IP_chiffre1.".".$IP_chiffre2.".".$IP_chiffre3.".x";


###################### Traitement des autres champs

#$Site =~ s/(\W)//g; # Remplacer (s) pas alphanumérique (\W) par // (vide) toutes les occurrences (g)
#$Dslam =~ s/(\W)//g; # Remplacer (s) pas alphanumérique (\W) par // (vide) toutes les occurrences (g)
#$NRA =~ s/(\W)//g; # Remplacer (s) pas alphanumérique (\W) par // (vide) toutes les occurrences (g)


###################### Ecriture dans un fichier

open (F_ECRIRE,">>$fichier_ecrire") or die ("E/S : $!\n");

print F_ECRIRE "\n";
print F_ECRIRE "+++ ".$Dslam."\n";
print F_ECRIRE "menu = ".$Dslam." ".$NRA."\n";
print F_ECRIRE "title = DSLAM ".$Dslam." - NRA ".$NRA." ".$Site." - IP ".$IP_x."\n";
print F_ECRIRE "host = ".$IP_point."\n";


###################### Fin de la boucle
}
close F_LIRE;
close (F_ECRIRE);

vivien

  • Administrateur
  • *
  • Messages: 1 154
    • Voir le profil
    • La Fibre
Graphes SmokePing
« Réponse #11 le: 22 août 2010 à 12:19:56 »
Voire la durée d'exécution des probes :

cat /var/log/syslog | grep smokeping | grep 300

Exemple :
Aug 22 11:43:56 lafibre smokeping[27538]: TCPPing: WARNING: smokeping took 304 seconds to complete 1 round of polling. It should complete polling in 300 seconds. You may have unresponsive devices in your setup.
Aug 22 12:13:44 lafibre smokeping[3963]: Smokeping version 2.003006 successfully launched.
Aug 22 12:13:44 lafibre smokeping[3964]: EchoPingHttp: probing 3 targets with step 300 s and offset 30 s.
Aug 22 12:13:44 lafibre smokeping[3965]: TCPPing1a: probing 193 targets with step 300 s and offset 0 s.
Aug 22 12:13:44 lafibre smokeping[3966]: DNS: probing 31 targets with step 300 s and offset 15 s.
Aug 22 12:13:44 lafibre smokeping[3967]: TCPPing1b: probing 241 targets with step 300 s and offset 51 s.
Aug 22 12:13:44 lafibre smokeping[3968]: FPing: probing 33 targets with step 300 s and offset 60 s.
Aug 22 12:13:44 lafibre smokeping[3969]: TCPPing: probing 1 targets with step 300 s and offset 120 s.
Aug 22 12:19:08 lafibre smokeping[3965]: TCPPing1a: NOTE: smokeping took 248 seconds to complete 1 round of polling. This is over 80%% of the max time available for a polling cycle (300 seconds).
Aug 22 12:24:09 lafibre smokeping[3965]: TCPPing1a: NOTE: smokeping took 249 seconds to complete 1 round of polling. This is over 80%% of the max time available for a polling cycle (300 seconds).