Bandwidthd/fr

From SME Server
Revision as of 17:55, 2 March 2022 by Gieres (talk | contribs)
Jump to navigation Jump to search


Bandwidthd pour le serveur SME KOOZALI

  Skill level: Easy
Les instructions de cette page peuvent être suivies par un débutant.


Contrib 10:
Contrib 9:
smeserver-bandwidthd
The latest version of smeserver-bandwidthd is available in the SME repository, click on the version number(s) for more information.


Mainteneur

Jean-Philippe Pialasse

Description

Bandwidthd est un service UNIX/Windows pour représenter graphiquement le trafic généré par chaque machine sur plusieurs sous-réseaux configurables. C'est beaucoup plus facile à configurer que MRTG, et il fournit beaucoup plus d'information utile. MRTG vous indique uniquement la quantité de bande passante que vous utilisez, Bandwidthd vous le dit aussi et qui l'utilise.

Chaque adresse IP qui a utilisé un volume important de trafic a son propre graphique. Les graphiques sont codés par couleur pour vous aider à comprendre en un coup d'œil si votre utilisateur navigue sur le Web ou sur Kazaa.

Bandwidthd est destiné à fonctionner sur des plates-formes de routage. La surcharge est très faible. Représentation graphique facile du trafic des petites entreprises sur un Elan 486 à 133Mhz toutes les 2,5 minutes. Un FAI complet (2000-3000 adresses IP sur 4 états) peut être représenté sur un Celeron 450 toutes les 10 minutes.

 

Conditions

Cette contribution a été développée et testée à la fois sur les versions 7 et 8 du serveur SME KOOZALI et devrait fonctionner sur les suivantes.

Installation 8.x, 9.x, 10.x

yum install smeserver-bandwidthd --enablerepo=smecontribs

puis

signal-event conf-bandwidthd
service mysql.init restart

or

signal-event post-update; signal-event reboot

et attendre que votre base de données commence à collecter des données (au moins 3 minutes).

Configuration avec les commandes db

Il n'y a pas d'entrée dans le menu du gestionnaire du serveur manager, vous pouvez facilement configurer la contribution avec une commande db (voir ci-dessous) :

Pour afficher les réglages actuels :

config show bandwidthd

qui montreront quelque chose comme :

bandwidthd=service
   DbName=bandwidthd
   DbPassword=xxxxxxxxxxxx
   DbUser=bandwidthd
   Name=bandwidthd
   status=enabled
   webaccess=private

Les paramètres disponibles indiquant la propriété et la valeur de la clé db sont répertoriés ci-dessous :

c'est-à-dire que, dans le premier exemple, le sous-réseau est une propriété et désactivé est une valeur ; notez qu'une propriété et une valeur par défaut ne sont pas répertoriées dans l'entrée de la base de données, mais sont en vigueur.

  • 'subnet' : « disabled » par défaut ; vous pouvez mettre ici un sous-réseau qui n'est ni votre LAN, ni votre WAN, ni votre réseau SME autorisé.
  • 'device' : « any » par defaut ; vous pouvez mettre ici un interface que vous voulez surveiller. Vous devriez envisager de définir une interface réseau. « Any » pourrait faire compter deux fois le trafic de vos hôtes du LAN.
  • 'skipInterval' : « 0 » par défaut ; un intervalle dure 2,5 minutes ; le nombre indique combien d'intervalles sont décomptés avant de calculer un graphique.
  • 'grapCutofff' : default is "1024", Graph cutoff is how many k must be transferred by an ip before we bother to graph it
  • 'promiscuous' : default is "false", Put interface in promiscuous mode to score to traffic that may not be routing through the host machine.
  • 'output_cdf' : default is "false", Log data to cdf file htdocs/log.cdf (NB: 'graph'="true" will override this if at false and consider it at true).
  • 'recover_cdf' : default is "false", Read back the cdf file on startup ( might loose some data while reading the file)
  • 'graph' : default is "true", Draw Graphs - This default to true to graph the traffic bandwidthd is recording. Usually set this to false if you only want cdf output or you are using the database output option. Bandwidthd will use very little ram and cpu if this is set to false. If you want to only use mysql or pgsql (need some configuration) or sqlite (not tested), you probably want to set this at
  • 'meta_refresh' : default is "150", Set META REFRESH seconds (use 0 to disable)
  • 'sensor' : default is "$SystemName.$DomainName", Arbitrary sensor name, I recommend the sensors fully qualified domain name, but you can do whatever you want!
  • 'DbType' : default is "mysql", Database type, possible values, pgsql, mysql or none.
  • 'Dbhost' : default is "localhost"
  • 'Dbport' : default is "0", which means default mysql port (ie 3306)
  • 'DbName' : mysql and pgsql DB name
  • 'DbUser' : mysql and pgsql DB user
  • 'DbPassword' : mysql and pgsql DB password
  • 'status' : default is "enabled", will disable or enable bandwidthd
  • 'webaccess' :default is private (default - admin user only, LAN and trusted network only), local (anybody, LAN and trusted network only), public ( admin user only, anywhere), global (anybody, anywhere)
  • 'Name' : you can set the name of the login page
  • 'webinterface' : "both" "html" "php"
  • 'URL' : let you choose a personal alias to reach bandwidthd web interface , could be monitor, band ...
  • 'width' : default is "900", this php graph width
  • 'height' : default is "256", this php graph height
  • 'interval' : default is "INT_DAILY", this is default selection for php interface, could be INT_DAILY, INT_WEEKLY,INT_MONTHLY, INT_YEARLY


To change a setting use the following db command syntax

db configuration setprop bandwidthd property value

or in the special case only for the configuration db, this can be abbreviated to

config setprop bandwidthd property value

where property and value are obtained from the list of options above.

eg to change webaccess

config setprop bandwidthd webaccess public

eg to change login page name

config setprop bandwidthd Name 'My Monitoring Login Page'

After changing any setting, you need to apply it:

signal-event conf-bandwidthd

Access

you can access it through the server-manager in the administration panel, and also at the URL https://SERVER/bandwidthd or https://SERVER/"URL" ( default is php, html if php deactivated), https://SERVER/bandwidthd-static (html version only),https://SERVER/bandwidthd-sql (php version only)

Advanced Monitoring (experienced users)

Using the sensors you can monitor multiple server or interface. However you need to configure a host for the mysql db to contact if monitoring multiple host or to run multiple instances of bandwithd if you want to monitor multiple interface ( but not all) or want to avoid multiple accounting while using any on local hosts.

Let's say you want to monitor your adsl connection, while the main installation is already monitoring your local interface

cp -a /etc/bandwidthd.conf /etc/bandwidthd-adsl.conf

then edit /etc/bandwidthd-adsl.conf : change sensor to "adsl" and dev to "ppp0" or your network interface you want to monitor.Adjust what you want, and I suggest you to put off to graph and falt to cdf

cp -a /etc/rc.d/init.d/bandwidthd /etc/rc.d/init.d/bandwidthd-adsl
chkconfig --add bandwidthd-adsl
ln -s /etc/rc.d/init.d/bandwidthd-adsl /etc/rc.d/rc7.d/S85bandwidthd-adsl
vim /etc/rc.d/init.d/bandwidthd-adsl

Here you need to edit PROGNAME to go to the link "usr/sbin/bandwidthd-adsl" Add the following line under PROGNAME : OPTIONS='-c /etc/bandwidthd-adsl.conf' Also edit subsys lock file and add -adsl : /var/lock/subsys/bandwidthd-adsl (3 times)

ln -s /usr/sbin/bandwidthd /usr/sbin/bandwidthd-adsl

then just do

service bandwidthd-adsl start

and wait for your db to start collecting data (at least 3 minutes)

Uninstall

yum remove smeserver-bandwidthd bandwidthd

Bugs

Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-bandwidthd component or use this link .

"No open bugs found."

Changelog

Only released version in smecontrib are listed here.

smeserver-bandwidthd Changelog: SME 10 (smecontribs)

2024/05/28 Jean-Philippe Pialasse 2.0.1.2-18.sme
- expand config and restart on ip-up event [SME: 12697]

also add external Gateway to monitor
2022/12/27 Jean-Philippe Pialasse 2.0.1.2-17.sme
- fix Can't modify constant item in scalar assignment [SME: 12292]
2022/12/02 Jean-Philippe Pialasse 2.0.1.2-16.sme
- fix preset disabled [SME: 12251]
2022/07/30 Brian Read 2.0.1.2-15.sme
- Re-build and link to latest devtools [SME: 11997]

2022/07/25 Jean-Philippe Pialasse 2.0.1.2-14.sme
- add to core backup [SME: 11046]

- access syntax for httpd 2.4 [SME: 12037]