Crans
  • Commentaires
  • Page immuable
  • Menu
    • Affichage
    • Carte locale du site
    • Pièces jointes
    • Informations
    • Code source
  • Connexion

Navigation

  • Modifications récentes
  • Recherche avancée
  • Aide
Version 2 à la date du 2017-04-30 18:29:15
CransWiki:
  • CransTechnique
  • AdminSystème
  • Grafana

Grafana

A quoi que ça sert

C'est une jolie interface web pour monitorer les serveurs (et bientot les bornes wifi) et tracer des graphes
Il tourne actuellement sur fy.

Installation et configuration

Server side

Graphite (carbon)

Installation :
  • On installe le paquet graphite-carbon (il est dans les dépôts officiels debian)
  •  sudo apt-get install graphite-carbon 

Configuration
  • par défaut il écoute sur localhost:2013 et accepte les query sur localhost:7002 (on peut éditer dans /etc/carbon/carbon.conf)

  • On copie le fichier de config par défaut pour l'aggrégation :
  •  sudo cp /usr/share/doc/graphite-carbon/examples/storage-aggregation.conf.example /etc/carbon/storage-aggregation.conf 

  • On autorise le lancement de carbon dans /etc/default/graphite-carbon :
  •  CARBON_CACHE_ENABLED=true 

  • On démarre le daemon :
  •  sudo systemctl start carbon-cache.service 

  • /!\ Il faudra le relancer à chaque fois qu'on ajoute une node collectd

Graphite-api

Installation :
  • Il ne se trouve dans les dépôts officiels debian que depuis stretch.
  • il faut donc piner le paquet depuis stretch
  • Une fois ça fait on installe graphite-api, uwsgi et son plugin python 3

  •  sudo apt install graphite-api uwsgi uwsgi-lpugin-python3 

Configuration :
  • Configuration de graphite-api (dans /etc/graphite-api.yaml)
  • finder:
        - graphite_api.finders.whisper.WhisperFinder
    functions:
        - graphite_api.functions.SeriesFunctions
        - graphite_api.functions.PieFunctions
    whisper:
      directories:
        - /var/lib/graphite/whisper
    carbon:
      hosts:
        - 127.0.0.1:7002
      timeout: 1
      carbon_prefix: carbon
      replication_factor: 1
  • go voir sur http://graphite-api.readthedocs.io/en/latest/configuration.html (j'ai pas compris ce que j'ai fait là)

  • /!\ par défaut le search index n'est pas crée, par défaut c'est /srv/graphite/index.

  • On le crée avec :
  • sudo mkdir /srv/graphite
    sudo touch /srv/graphite/index 
  • Ensuite on configure uwsgi pour servir graphite-api à nginx (dans /etc/uwsgi/apps-available/graphite-api.ini)
  • [uwsgi]
    processes = 2
    socket = localhost:8888 
    plugins = python3
    module = graphite_api.app:app
  • On active graphite-api :
  •  ln -s /etc/uwsgi/apps-available/graphite-api.ini /etc/uwsgi/apps-enabled 

  • On redémarre le service uWSGI :
  •  sudo systemctl restart uwsgi 

  • Enfin, on configure le vhost dans nginx (dans /etc/nginx/sites-available/graphite.conf) :
  • server {
        listen localhost:8083;
    
        location / {
            include uwsgi_params;
            uwsgi_pass localhost:8888;
        }
    }
     
  • On active le vhost :
  •  ln -s /etc/nginx/sites-available/graphite.conf /etc/nginx/sites-enabled 

  • On redémarre le service uWSGI :
  •  sudo systemctl restart nginx.service 

Grafana

Installation :
  • On ajoute le dépôt de grafana dans /etc/apt/sources.list.d/grafana.list :
  •  deb https://packagecloud.io/grafana/stable/debian/ jessie main 

  • On ajoute la clé de packagecloud.io à apt :
  •  curl https://packagecloud.io/gpg.key | sudo apt-key add - 

  • Le paquet s'appelle grafana :
  •  sudo apt-get install grafana 

Configuration :
  • Sur le serveur postgresql :
  • On crée un utilisateur graphite et une base de donnée grafana (dont graphite est owner).
  • Dans /etc/grafana/grafana.ini on peut éditer les lignes suivantes :
  •    1 # pour l'instant c'est du http (c'est pas bieeeen)
       2 ;cert_file =
       3 ;cert_key = 
       4  
       5 protocol = http
       6 http_port = 8084 #en vrai on met ce qu'on veut ici
       7 
       8 [...]
       9 
      10 [database]
      11 # Either "mysql", "postgres" or "sqlite3", it's your choice
      12 type = postgres
      13 host = pgsql.adm.crans.org
      14 name = grafana
      15 user = graphite
      16 password = graphite_password
    
  • On permet à grafana de se lancer sur tous les ports :
  •  sudo setcap 'cap_net_bind_service=+ep' /usr/sbin/grafana-server }

  • On fait en sorte qu'il se lance au boot :
  •  sudo update-rc.d grafana-server defaults 95 10 

  • On démarre grafana-server :
  •  sudo service grafana-server start 

  • On peut alors se connecter sur $server_name:8084

Client side

Collectd

Sources

https://community.rackspace.com/products/f/25/t/6800

http://graphite-api.readthedocs.io/en/latest/index.html

  • Propulsé par MoinMoin
  • Mentions légales