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 1 à la date du 2017-04-30 18:08:36
CransWiki:
  • CransTechnique
  • AdminSystème
  • Grafana

Grafana

A quoi que ça sert

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