« Smokeping master et slave » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
 
(15 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :
[[Category:monitoring]]
[[Category:monitoring]]
=Master=
=Master=
<pre>aptitude install smokeping apache2-mpm-itk makepasswd postfix</pre>
<pre>apt install smokeping apache2-mpm-itk makepasswd postfix</pre>


==configuration de smokeping==
==configuration de smokeping==
Ligne 74 : Ligne 74 :


==Préparation pour le slave==
==Préparation pour le slave==
<pre>echo "slave1.domain.tld:`makepasswd --chars=60`" > /etc/smokeping/smokeping_secrets</pre>
<pre>echo "slave1.domain.tld:$(makepasswd --chars=60)" > /etc/smokeping/smokeping_secrets</pre>


==configuration de apache==
==configuration de apache==
<pre>
<pre>
a2dissite default
cp /etc/apache2/site-available/default /etc/apache2/site-available/smokeping
a2ensite smokeping
a2ensite smokeping
</pre>
</pre>


Editez <code>/etc/apache2/site-available/smokeping</code> de manière à ajouter dans la virtualhost :
Editez <code>/etc/apache2/site-enabled/smokeping</code> de manière à ajouter dans la virtualhost :
<pre>
<pre>
ServerAdmin root@server.domain.tld
ServerAdmin root@server.domain.tld
Ligne 91 : Ligne 89 :
</pre>
</pre>


UNIQUEMENT si vous utilisez mpm-itk, modifiez les permissions :
<pre>
<pre>
chown -R smokeping:smokeping /var/lib/smokeping
chown -R smokeping:smokeping /var/lib/smokeping
chown -R smokeping:root /var/cache/smokeping
chown -R smokeping:root /var/cache/smokeping
</pre>
UNIQUEMENT si vous utilisez un autre mpm, ajoutez les lignes suivantes dans <code>/etc/smokeping/config.d/pathnames</code> :
<pre>
dyndir  = /var/lib/smokeping/__cgi
precreateperms = 2775
</pre>
</pre>


Ligne 101 : Ligne 106 :
=Slave=
=Slave=


<pre>aptitude --without-recommends install smokeping</pre>
<pre>apt --without-recommends install smokeping</pre>


Modifiez <code>/etc/default/smokeping</code> :
Modifiez <code>/etc/default/smokeping</code> :
Ligne 118 : Ligne 123 :


Ajoutez la clé secrète que vous aviez générez plus tôt dans <code>/etc/smokeping/slavesecrets.conf</code>
Ajoutez la clé secrète que vous aviez générez plus tôt dans <code>/etc/smokeping/slavesecrets.conf</code>
==debian buster==
<pre>
mkdir /etc/systemd/system/smokeping.service.d/
cp /usr/share/doc/smokeping/examples/systemd/slave_mode.conf /etc/systemd/system/smokeping.service.d/
</pre>
editer /etc/systemd/system/smokeping.service.d/slave_mode.conf :
* ajout de <code>Environment="PERL_LWP_SSL_CA_PATH=/etc/ssl/certs/"</code>
* configurer --master-url et --shared-secret
* NB : possibilité aussi d'utiliser EnvironmentFile
==Problème de permissions fping==
Si l'utilisateur smokeping n'a pas le droit de lancer des pings :
<pre>
chmod +s /usr/bin/fping
chmod +s /usr/bin/fping6
</pre>


==Utilisation de login http==
==Utilisation de login http==
Ligne 131 : Ligne 155 :
==Utilisation d'un certificat SSL==
==Utilisation d'un certificat SSL==


Placez le certificat de votre CA dans /etc/ssl/certs/myca.pem
Placez le certificat de votre CA dans <code>/etc/ssl/certs/myca.pem</code> puis lancez les commandes suivantes :
<pre>
<pre>
cd /etc/ssl/certs/
cd /etc/ssl/certs/
Ligne 149 : Ligne 173 :


; binary = /usr/bin/fping
; binary = /usr/bin/fping
: Défini le binaire à utiliser. fping6 ou fping.<br/>
: Défini le binaire à utiliser.<br/>
 
; protocol = 4|6
: Spécifie s'il faut utiliser le protocole IPv4 ou IPv6


; blazemode = true
; blazemode = true
Ligne 185 : Ligne 212 :


<pre>
<pre>
aptitude install tcptraceroute bc  
apt install tcptraceroute bc  
wget -O /usr/local/bin/tcpping https://lafibre.info/images/tcpping/tcpping ; chmod +x /usr/local/bin/tcpping
wget -O /usr/local/bin/tcpping https://lafibre.info/images/tcpping/tcpping ; chmod +x /usr/local/bin/tcpping
</pre>
</pre>

Dernière version du 21 février 2024 à 10:52

Master

apt install smokeping apache2-mpm-itk makepasswd postfix

configuration de smokeping

Les fichiers de configurations se trouvent dans /etc/smokeping/config.d/

  • Dans le fichier Alerts, éditez les champs to et from
  • Dans le fichier General éditez les champs suivants :
owner    = votre nom
contact  = votre mail
mailhost = adresse de votre serveur smtp
cgiurl = http://localhost/smokeping/smokeping.cgi
display_name = serveur_name, localisation
  • Dans le fichier Probes éditez le comme cela :
*** Probes ***
+ FPing
binary = /usr/bin/fping
mininterval = 0.025
+ FPing6
binary = /usr/bin/fping6
mininterval = 0.025
  • Dans le fichier Slaves ajoutez le nom de votre slave (vous pouvez récupérer les couleurs sur http://html-color-codes.info/ attention cependant, elles doivent être en minuscule !) :
+slave1.domain.tld
display_name=slave1, localisation de slave1
color=33cc33
  • Exemple de fichier Targets :
*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Poney

+ Online
menu = Online
title = Online Network

++ ping
menu = ping.online.net
title = ping.online.net ICMPv4 Latency
probe = FPing
host = ping.online.net
slaves = slave1.domain.tld

++ ping6
menu = ping6.online.net
title = ping6.online.net ICMPv6 Latency
probe = FPing6
host = ping6.online.net
slaves = slave1.domain.tld

+ OVH
menu = OVH
title = OVH Network (AS16276)

++ demo
menu = demo.ovh.eu
title = demo.ovh.eu ICMPv4 Latency
probe = FPing
host = demo.ovh.eu
slaves = slave1.domain.tld

Préparation pour le slave

echo "slave1.domain.tld:$(makepasswd --chars=60)" > /etc/smokeping/smokeping_secrets

configuration de apache

a2ensite smokeping

Editez /etc/apache2/site-enabled/smokeping de manière à ajouter dans la virtualhost :

ServerAdmin root@server.domain.tld
ServerName server.domain.tld
AssignUserId smokeping smokeping
Include /etc/smokeping/apache2.conf

UNIQUEMENT si vous utilisez mpm-itk, modifiez les permissions :

chown -R smokeping:smokeping /var/lib/smokeping
chown -R smokeping:root /var/cache/smokeping

UNIQUEMENT si vous utilisez un autre mpm, ajoutez les lignes suivantes dans /etc/smokeping/config.d/pathnames :

dyndir   = /var/lib/smokeping/__cgi
precreateperms = 2775

Activez le module cgi de apache :

a2enmod cgi

Slave

apt --without-recommends install smokeping

Modifiez /etc/default/smokeping :

MODE=slave
MASTER_URL=http://votre_master/cgi-bin/smokeping.cgi
SHARED_SECRET=/etc/smokeping/slavesecrets.conf
SLAVE_NAME=slave1.domain.tld
touch /etc/smokeping/slavesecrets.conf
chmod 0400 /etc/smokeping/slavesecrets.conf
chown smokeping:root /etc/smokeping/slavesecrets.conf

Ajoutez la clé secrète que vous aviez générez plus tôt dans /etc/smokeping/slavesecrets.conf

debian buster

mkdir /etc/systemd/system/smokeping.service.d/
cp /usr/share/doc/smokeping/examples/systemd/slave_mode.conf /etc/systemd/system/smokeping.service.d/

editer /etc/systemd/system/smokeping.service.d/slave_mode.conf :

  • ajout de Environment="PERL_LWP_SSL_CA_PATH=/etc/ssl/certs/"
  • configurer --master-url et --shared-secret
  • NB : possibilité aussi d'utiliser EnvironmentFile

Problème de permissions fping

Si l'utilisateur smokeping n'a pas le droit de lancer des pings :

chmod +s /usr/bin/fping
chmod +s /usr/bin/fping6


Utilisation de login http

Vous pouvez activer l'authentification HTTP basic (digest ne fonctionne pas) afin de protéger le fichier cgi de votre master.
Pour que les slaves puissent continuer à contacter le cgi du master, il faudra ajouter le login et le pass défini dans le fichier htpasswd du master a la ligne MASTER_URL du fichier /etc/default/smokeping :

MASTER_URL=http://login:password@votre_master.tld/cgi-bin/smokeping.cgi

Gardez a l'esprit que ce mot-de-passe sera librement accessible à toute personne pouvant se connecter au slave, il est donc préférable de définir un couple login/pass par slave.

Utilisation d'un certificat SSL

Placez le certificat de votre CA dans /etc/ssl/certs/myca.pem puis lancez les commandes suivantes :

cd /etc/ssl/certs/
chmod o+r myca.pem
ln -s myca.pem `openssl x509 -hash -noout -in myca.pem`.0
cd

Ajoutez la ligne suivante dans /etc/default/smokeping :

export PERL_LWP_SSL_CA_PATH=/etc/ssl/certs/

Probes

FPing et FPing6

http://oss.oetiker.ch/smokeping/probe/FPing.en.html

binary = /usr/bin/fping
Défini le binaire à utiliser.
protocol = 4|6
Spécifie s'il faut utiliser le protocole IPv4 ou IPv6
blazemode = true
Dans ce mode, 1 paquet supplémentaire est envoyé par rapport à la valeur pings (définie dans /etc/smokeping/config.d/Database), et le premier paquet envoyé est ignoré (ce premier paquet a souvent un RTT plus long et non significatif).
hostinterval
Le paramètre "-p" de fping en secondes. Ce paramètre défini le temps que fping attendra entre deux paquets vers une même cible.
default : 1s (1000ms, fping default)
mininterval
Le paramètre "-i" de fping en secondes. Ce paramètre défini le temps que fping attendra entre deux paquets quelque soit la cible. Permet d'éviter de flooder votre propre réseau.
default : 0.01s (10ms)
timeout
Le paramètre "-t" de fping en secondes. Ce paramètre n'a pas d'effet car fping est utilisé en mode comptage (-C).
default : 0.5s (500ms, fping default)

Curl

http://oss.oetiker.ch/smokeping/probe/Curl.en.html

binary = /usr/bin/curl
Défini le binaire à utiliser.
forks = 5
Défini le nombre de processus à utiliser au maximum.
Default: 5
urlformat = http://%host%/
Le format d'url a charger. %host% sera remplacé par la valeur host dans la définition de la cible. Paramètre obligatoire.
pings
Le nombre de requête à envoyer. Défini globalement dans /etc/smokeping/config.d/Database, mais il peut être bon d'utiliser une valeur plus basse pour la probe curl car elle peut générer une charge importante sur le serveur web distant si vous avez beaucoup de slaves.
expect
Donne la valeur qui doit être présente dans le retour de curl. Ne laissez pas cette variable vide, sinon le plugin considérera le site comme up si il n'arrive pas a le contacter (timeout par exemple)

TCPing

apt install tcptraceroute bc 
wget -O /usr/local/bin/tcpping https://lafibre.info/images/tcpping/tcpping ; chmod +x /usr/local/bin/tcpping
+TCPPing
binary = /usr/local/bin/tcpping # mandatory