# [Supervision] Outils SNMP par le web (résolu)

## kwenspc

Bon là se pose un ultimatum pour moi:

je dois installer/configurer d'ici jeudi 18 une supervision via SNMP pour plusieurs serveurs.

Pour SNMP ça va, install de net-snmp et roulez jeunesse. 

Problème désormais: un outil web éfficace me permettant de voir et manipuler les données SNMP de ces serveurs.

Alors y a Nagios, OpenNMS... mais ce sont de véritables usines à gaz!   :Shocked: 

Ça va me prendre un temps non négligeables à configurer ces bouzins. (je pige pas l'ebuild de nagios, il file même pas des exemples de fichiers de config... pas sympa ça)

Je ne veux pas d'outil par ping ou autre: tout passe par SNMP sur mon réseau. (Nagios a bien un plugin SNMP mais je sais pas ce que ça vaut. OpenNMS semble géré SNMP super bien...mais alors comment c'est pas simple ça fait peur)

Connaitriez-vous des outils plus "simples" mais néanmoins relativement souples? (auquels on peut faire avaler une MIB customisé et surtout faire ses propres graphes et statistiques)

Y en a tout un tas si on cherche sur le net mais difficile de savoir ce que ça donne, c'est pour ça que je vous pose la question en me basant sur votre propre expèrience  :Smile: 

Bon c'est surtout pour gagner du temps et parce que je voudrais savoir si y a moyen de pas "trop" se faire ch***, surtout que c'est pour une démo. 

Merci d'avance!  :Wink: 

----------

## Il turisto

Mrtg est une surcouche a rrdtool.

Je ne sais pas si c'est ce que tu recherches mais ca permet de tout monitorer sur une machine. Du traffic réseau en passant par l'espace, l'uptime d'apache, les hits apache, ... et ca et fais des jolis graph par heure, semaine, mois, année et c'est facile. De simple script de récolete des données (bash, python, perl, ce que tu veux), un fichier de conf qui appelle ces scripts et rouler jeunesse  :Smile: .

----------

## Bapt

Regarde du côté de Cacti : http://cacti.net/ je pense que ça correspond à tes besoins, simple efficace, web et SNMP.  :Smile: 

----------

## Il turisto

Cacti est aussi basé sur rrdtool.

Perso je l'avais essayé mais je trouve mrtg bcp plus simple.

----------

## nico_calais

http://www.oreon-project.com/

Oreon est basé sur nagios mais semble être plus aisé à configurer

----------

## kwenspc

Merci Il turisto, Bapt et nico_calais je vais regarder ça  :Very Happy: 

----------

## Grat

Tu peux oublier Nagios, c'est sans doute ce qui se fait de mieux mais il faut pas mal de temps et comme tu l'as dit, SNMP y est représenté comme un plugin parmis d'autres, on est loin de l'outil spécialisé.

Je plussois Cacti, par contre j'espère que tu as une machine dédiée pour ou un réseau pas trop étendu parce qu'il est, de base, très gourmand (ou du moins il l'était il y a quelques temps).

Voir aussi du côté de cactid, qui devrait alléger le tout.

----------

## El_Goretto

 *Grat wrote:*   

> Je plussois Cacti, par contre j'espère que tu as une machine dédiée pour ou un réseau pas trop étendu parce qu'il est, de base, très gourmand (ou du moins il l'était il y a quelques temps).
> 
> Voir aussi du côté de cactid, qui devrait alléger le tout.

 

Euh, gare à ne pas confondre le poller/cactid qui par défaut interroge les équipements toutes les 5 mins (si j'ai bien compris, le seul intérêt de cactid codé en C par rapport au poller classique en php étant de permettre de repasser sous la barre des 5 mins quand il y a beaucoup d'équipements à interroger) , et "le reste" qui génère les pages lors de la visite de l'interface web (à la gourmandise "incompressible").

----------

## Grat

Je parlais en effet du poller.

Plus simplement, j'ai eu l'occasion de voir tourner Cacti sur un réseau conséquent (et sans cactid), ça marchait bien (pas de trous dans les graphs, interface rarement ralentie), mais la charge machine était vraiment très très importante.

En fait, je ne suis pas sur que cactid soit une solution miracle, mais je vois difficiliment comment ça peut être pire que le poller php.  :Wink: 

----------

## kwenspc

Nagios me semble en effet pas au poil pour SNMP. 

Et sinon j'ai en effet un serveur dédié pour le monitoring, une assez grosse machine d'ailleurs ^^ (donc cacti ne devrait pas poser de problème)

Petite question subsidiaire: est ce qu'il enregistre dans une base de données toutes les infos reçues afin qu'on puisse ensuite l'interroger sur, par exemple ce qui s'est passé sur telle machine le jour X à telle heure? C'est possible j'imagine?

----------

## Grat

Oui, dépendant à mysql d'ailleurs.

L'interface est vraiment bien foutu (surtout en comparaison aux autres outils de monitoring...), le plus simple est encore de regarder les aperçus réels : http://cacti.net/sites_that_use_cacti.php

----------

## kwenspc

Génial! J'étais sûr, comme toujours, de pouvoir compter sur la pertinence des réponses de ce forum!  :Very Happy: 

----------

## nico_calais

En tout cas, ton topic n'aura pas servi qu'à toi. Il m'a motivé pour installer jffnms et c'est trop de la balle   :Very Happy: 

----------

## kwenspc

Bon je fais mumuse avec cacti depuis ce matin. C'est nettement plus abordable que les autres produits (en tout cas si on a peu de temps comme dans mon cas...)

Petit problème: les graphiques ne sont pas mis à jour et ce parce que le poller en php n'est pas lancé... 

J'ai bien mis la ligne dans crontab: 

```

*/5  *  * * *   apache  /usr/bin/php /var/www/localhost/htdocs/cacti/poller.php > /dev/null 2>&

```

Mais ça veut pas. En fait la première image de mes graphes que j'ai eu c'est parce que j'ai lancé le-dit script en root et à la main. 

J'ai vixie-cron comme démon cron sinon.

Une idée? (j'avoue, j'ai pas trop cherchés. Trop occuppés à configurer net-snmp)

----------

## -KuRGaN-

Et bien je suis dans le même cas que toi kwenspc mais sauf que moi j'ai un peu de temps, ce qui m'a permis de tester Oreon, que je ne trouve pas encore très au point alors je me suis mis sur opennms qui est c'est vrai une usine à gaz mais qui est vraiment super sympa.

Par contre je débute un peu sur la gestion du protocole snmp donc je voudrais savoir si tu pouvais me filer un exemple de ton snmpd.conf si tu as l temps, que je me fasse plusieurs idées de config. Merci.

----------

## kwenspc

Bon je vais passer à cactid alors  :Smile:  (ça évitera de passer par  ce script bancal de poller.php)

[edit]

le snmpd.conf est complètement basique pour le moment, j'ai là encore pas eu le temps d'affiner le bouzin (je prépare une démo, donc j'évite de me mettre à 100% sur chaque truc et je fais plutôt en sorte que ça marche grosso-modo pour le jou J  :Laughing: )

Je l'ai pécho sur je sais plus quel site et j'ai rapido modifié 2 ou 3 lignes sans plus.

```

# First, map the community name "public" into a "security name"

#       sec.name  source          community

com2sec local     localhost       secret

# Second, map the security name into a group name:

#       groupName      securityModel securityName

group MyRWGroup v1         local

group MyRWGroup v2c        local

group MyRWGroup usm        local

group MyROGroup v1         mynetwork

group MyROGroup v2c        mynetwork

group MyROGroup usm        mynetwork

# Third, create a view for us to let the group have rights to:

#       name           incl/excl     subtree         mask(optional)

#view    systemview     included      system

#Grande ouverture! sur la racine des oid

view all    included  .1

# Finally, grant the group read-only access to the systemview view.

#       group          context sec.model sec.level prefix read   write  notif

#access  notConfigGroup ""      any       noauth    exact  systemview none none

access MyROGroup ""      any       noauth    exact  all    none   none

access MyRWGroup ""      any       noauth    exact  all    all    none

syslocation Unknown (edit /etc/snmp/snmpd.conf)

syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)

```

voilà...c'est crade mais suffisant pour ma démo. 

[/edit]

----------

## -KuRGaN-

Rooo merde, on a les mêmes sources   :Wink:  . Tant pis

----------

## kwenspc

 *-KuRGaN- wrote:*   

> Rooo merde, on a les mêmes sources   . Tant pis

 

Ah toi aussi t'es pas allés chercher bien loin?  :Laughing: 

----------

## El_Goretto

Si le poller php marche pas bien, en général faut aller voir du côté des droits d'accès aux données et scripts cacti.

Moi j'ai "bourriné" et mis root au lieu d'apache dans la crontab. Je sais, pas bien, n'empêche que j'ai tout qui marche maintenant, ha!  :Smile:  (lm_sensors powered).

----------

## kwenspc

Bon si ça continue à me saoûler je vais mettre root en crontab aussi moi. Car en fait en passant du poller php à cactid ça revient au même: c'est lescript poller.php qui execute soit cactid soit toutes les commandes lui même. Et comme le crontab fonctionne pas...cactid non plus. Le problème reste entier.

J'ai passé le rep cacti en apache:apache pour être sûr, mais là encore: ça veut pas. bref.

Quelqu'un aurait une idée pour crontab? (avant que je me fasse un script init qui boucle toutes les 5 min et lance cactid...)

----------

## kwenspc

Bon crontab ça veut pas. Serait-ce parce que vixie-cron en a cure? Peut-être...

J'ai fait un init-script du coup. (ah ouais je précise: pour ubuntarglteuhteuh, quelle idée d'utiliser cette distrib en mode desktop pour en faire des serveurs... pas compatible sur gentoo apparemment en tout cas)

```

#!/bin/bash

. /lib/lsb/init-functions

case "$1" in

start)  log_begin_msg "Starting cacti's poller..."

        /var/www/localhost/htdocs/cacti/cacti_poller.sh &

        log_end_msg $?

        ;;

stop)   log_begin_msg "Stopping cacti's poller..."

        pid=`ps ax | grep cacti_poller.sh | cut -d ' ' -f 1`

   kill $pid

        log_end_msg $?

        ;;

restart|reload|force-reload) log_begin_msg "Restarting cacti's poller..."

        pid=`ps ax | grep cacti_poller.sh | cut -d ' ' -f 1`

   kill $pid

   sleep 1

   /var/www/localhost/htdocs/cacti/cacti_poller.sh &

        log_end_msg $?

        ;;

*)      log_success_msg "Usage: /etc/init.d/cactipoller start|stop|restart|reload|force-reload"

        exit 1 

        ;;

esac

exit 0

```

et le script qui boucle toutes les 5min.

```

#!/bin/bash

while true

do

    sudo -u apache /usr/bin/php /var/www/localhost/htdocs/cacti/poller.php

    sleep 300

done;

```

C'est crade mais ça fonctionne et c'est tout ce que je demande  :Laughing: 

----------

## -KuRGaN-

Bon j'ai essayé de me mettre à cacti, mais pas moyen de générer un graph !!! Il me sort une erreur de permission dans /usr/share/cacti/site/rra sui est en fait un lien poitant sur /var/lib/cacti/rra et ce répertoire apartient a root, j'ai essayé de changé en le passant à www-data (et ouai, je suis sous Debian, pas le choix)  mais rien n'y fait.

Une petite idée ??

----------

## kwenspc

Ben c'est surement pas le bon user/group sur ce rep. Moi c'est apache:apache.

Vérifis que tu lances bien le poller avec les droits de celui à qui appartient le rep. Sinon il va te creer les fichiers mais cacti va pas forcément pouvoir lire ceux-ci. Ça vaut pour rra/ et log/  

Ah oui dans mon script faut changer le sudo en conséquence si ton user est différent.

----------

## grosnours

 *kwenspc wrote:*   

> et le script qui boucle toutes les 5min.
> 
> ```
> 
> #!/bin/bash
> ...

 

J'ajouterais un & à la ligne du sudo pour tenter d'assurer la fréquence 5 minutes.

----------

## kwenspc

 *-KuRGaN- wrote:*   

> Bon j'ai essayé de me mettre à cacti, mais pas moyen de générer un graph !!! Il me sort une erreur de permission dans /usr/share/cacti/site/rra sui est en fait un lien poitant sur /var/lib/cacti/rra et ce répertoire apartient a root, j'ai essayé de changé en le passant à www-data (et ouai, je suis sous Debian, pas le choix)  mais rien n'y fait.
> 
> Une petite idée ??

 

Bon en fait j'ai le même problème que toi maintenant que je fais l'intégration...   :Evil or Very Mad: 

J'ai crée un device, avant de créer un graph il me faut créer une data sources... ben là ça fonctionne pas!!! pas de data sources, donc pas de graphes.

Soit cacti arrive pas à manipuler le lien symbolique rra... Soit je vois pas. 

Si je trouve je te tiens au courant (sinon si tu trouves de ton côté, fais de même  :Wink:  )

----------

## kwenspc

Bon y a un foutu bug, c'est pas possible autrement. En fait quand je vais dans new graph, je crée le graph et par défaut il créer le data-sources. problème, malgrè le device séléctionné il ne lie pas le data source au host en question. Je vais dans data-source: y a bien le nouveau data source de listé. Je clique dessus, je séléctionne le host afin qu'il soit lié, je sauve et là... plus de data source. il a disparu. 

Mais pas pour le poller, qui me dit qu'il arrive pas à ouvrir le fichier rrd dans le rep rra. Forcément, ce dernier n'a soit pas été crée soit éffacer à a maj du data-sources qui détruit de toute façon le data-source (donc le fichier rrd attenant). 

la barbe -_-

Tout fonctionne au poil sous gentoo mais pas sous debian. Mouarf.

----------

## kwenspc

Bon la version gentoo c'est la 0.8i et la debian c'est 0.8h ...

d'où des bugs sans doute corrigés depuis.

----------

## kwenspc

je vais suivre ce tuto pour cacti 0.8.6i http://www.debianadmin.com/networkserver-statistics-graphing-using-cacti-in-ubuntu-server.html

[edit] Ok ça roule. Faut "grosso-modo" suivre le tuto ci-dessus mis à part qu'il faut créer soit-même la base "cacti" dans mysql avant d'importer le fichier .sql 

Faire attention au commande mysql aussi, moi je préfixe toujours "mysql -u root -p" puis la commande. Fin voilà quoi.

[/edit]

----------

## nico_calais

Je galère avec l'autodiscovery de jffnms que je n'arrive pas à faire fonctionner. Et sur le net, y a très peu d'informations dessus. Est ce que certains qui auraient utilisé cet outil sauraient ce qui pourrait empêcher l'autodiscovery de fonctionner ?

----------

## kwenspc

Il a l'air pas mal du tout cet outil jffnms. 

Il semble supporte syslog ce qui peut être interessant. Tu peus m'en dire plus?

En ce qui me concerne je suis près pour ma démo de demain et ce grâce à vous   :Cool: 

Si jamais les mecs veulent un truc plus complexe no problème, d'ici là au moins y a un truc qui tourne!

[edit]

génial. Je perds le monitoring sur une machine... space. Je vais sur la machine et je vois que snmpd.conf est revenu comme si j'avais fait aucune modif.

Vais voir les log (phpsyslogng pawa) et hop le fautif est pris sur le fait: un type a résinstallé snmpd. Abruti! pouvait pas faire un pauvre ps ax | grep snmpd ??? nan? bon du coup demain je vais utiliser ce cas là pour montrer que ça marche (et le mec en prendra pour son grade...je sais meme pas qui c'est ^^)  :Razz: 

[/edit]

----------

## nico_calais

Ca y est, l'autodiscovery fonctionne   :Very Happy: 

 *Quote:*   

> Il a l'air pas mal du tout cet outil jffnms.
> 
> Il semble supporte syslog ce qui peut être interessant. Tu peus m'en dire plus? 

 

En fait, jffnms semble être plus orienté dans la gestion des switchs que celle des serveurs. Mais cela n'empêche pas. Je l'ai testé sur des serveurs qui sont déjà monitoré par oreon.

Il permet aussi la gestion des fichiers de conf des switchs. Comme au boulot, on devrait bientot  recevoir nos nouveaux switchs HP, je pourrai voir si ça va pas nous aider à mieux gérer les actifs sans avoir à se taper un soft HP qui coute je sais pas comben et qui en plus connait pas linux (oops...léger moment d'ennervement   :Rolling Eyes:  ).

----------

