Visage : Une interface web pour Collectd

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

Visage est aujourd'hui la meilleure interface pour Collectd. Elle a encore besoin d'avoir pas mal de nouvelles fonctionnalités, mais c'est pour l'heure actuelle une superbe interface qui permet de faire des comparatifs par exemple.

2 Installation

Sur Debian, on va installer les prérequis :

Command aptitude
aptitude install build-essential librrd-ruby ruby ruby-dev rubygems libsinatra-ruby collectd

Puis via gem (car aujourd'hui il n'existe pas packagé), nous allons l'installer :

Command gem
gem install visage-app

3 Lancement

Puis pour le lancer, c'est très simple :

Command visage-app
$(dirname $(dirname $(gem which visage-app)))/bin/visage-app start

ou

/var/lib/gems/1.8/gems/visage-app-0.9.4/bin/visage-app start

Ce qui aura pour effet de vous montrer ceci :

 _    ___
| |  / (_)________ _____ ____
| | / / / ___/ __ `/ __ `/ _ \
| |/ / (__  ) /_/ / /_/ /  __/
|___/_/____/\__,_/\__, /\___/
                 /____/
 
will be running at http://nala.deimos.fr:9292/
 
Looking for RRDs in /var/lib/collectd/rrd
 
[2011-04-23 19:19:14] INFO  WEBrick 1.3.1
[2011-04-23 19:19:14] INFO  ruby 1.8.7 (2010-08-16) [x86_64-linux]
[2011-04-23 19:19:14] INFO  WEBrick::HTTPServer#start: pid=5409 port=9292

Ca se passe de commentaire, il faut vous connecter à l'interface web indiquée.

4 Mise à jour automatique des hosts

A l'heure ou j'écris ces lignes, les profiles des machines ne se créer pas automatiquement sur Visage, comme ils peuvent se créer automatiquement sur les interfaces concurentes. Je ne sais pas si c'est voulu ou une fonctionnalité manquante.
Quoi qu'il en soit, aujourd'hui j'ai tellement de hosts et j'en rajoute tellement que j'ai besoin que ce soit automatisé, c'est pourquoi j'ai créer un petit script qui me met à jour mes profiles visage :

Configuration File visage_update_profiles.sh
#!/bin/sh
# Visage Update Profiles
# This script will automatically update visage to profile to match with current available rrd graphs
# Made by Pierre Mavro
 
# Config folders and files
visage_profile_yaml='/usr/lib/ruby/gems/1.8/gems/visage-app-0.9.4/lib/visage-app/config/profiles.yaml'
collectd_rrd='/var/lib/collectd/rrd'
 
############# DO NOT EDIT #############
cd $collectd_rrd
echo "--- " > $visage_profile_yaml
for profile in `find . -maxdepth 1 -mindepth 1 -type d` ; do
    profile=`echo "$profile" | sed "s/\.\///g"`
    profile_lower=`echo "$profile" | tr "[:upper:]" "[:lower:]"`
    profile_yaml=`echo "$profile_lower" | sed "s/-/+/g"`
    cat <<EOT >>$visage_profile_yaml
$profile_yaml: 
  :url: $profile_yaml
  :profile_name: $profile_lower
  :hosts: $profile
  :metrics: "*"
EOT
done

Il ne reste plus qu'à modifier les 2 premiers paramètres pour qu'ils fonctionne sur votre plateforme (par défaut c'est une Debian Squeeze) et à le rajouter en crontab si vous voulez que ce soit périodiquement actualisé.

5 References

http://auxesis.github.com/visage/