Projet

Général

Profil

Prometheus-grafana » Historique » Révision 15

Révision 14 (pizzacoca, 07/03/2020 10:00) → Révision 15/17 (pizzacoca, 07/03/2020 10:01)

# Prometheus-grafana 

 **[Prometheus](https://prometheus.io/)** est sous licence **[Apache 2](https://www.apache.org/licenses/LICENSE-2.0)** . Les sources sont disponibles sous **[github](https://github.com/prometheus)** . 
 Prometheus existe aussi sous la forme de paquets pour debian10, ce que nous allons utiliser. 

 > Prometheus est une supervision client / serveur.  
 > Le serveur est consultable sous localhost:9093 
 > Les clients produisent une page localhost:9100 que le serveur écoute 


 ## Installation de Prometheus 

 ### Installation coté serveur 

 ### Configuration 



 La configuration se fait via un fichier yaml. Ici un exemple. 
 **/etc/prometheus/prometheus.yml** 
 ``` 
 # Sample config for Prometheus. 

 global: 
   scrape_interval:       15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. 
   evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. 
   # scrape_timeout is set to the global default (10s). 

   # Attach these labels to any time series or alerts when communicating with 
   # external systems (federation, remote storage, Alertmanager). 
   external_labels: 
       monitor: 'example' 

 # Alertmanager configuration 
 alerting: 
   alertmanagers: 
   - static_configs: 
     - targets: ['localhost:9093'] 

 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. 
 rule_files: 
   # - "first_rules.yml" 
   # - "second_rules.yml" 

 # A scrape configuration containing exactly one endpoint to scrape: 
 # Here it's Prometheus itself. 
 scrape_configs: 
   # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. 
   - job_name: 'prometheus' 

     # Override the global default and scrape targets from this job every 5 seconds. 
     scrape_interval: 5s 
     scrape_timeout: 5s 

     # metrics_path defaults to '/metrics' 
     # scheme defaults to 'http'. 

     static_configs: 
       - targets: ['localhost:9090'] 

   - job_name: noeud_machines_virtuelles 
     static_configs: 
       - targets:  
         - 'domaine.associe.ou.adresse.ip:9100' 
         - 'XXX.XXX.XXX.XXX:9100' 


   - job_name: noeud__machines_maison 
     # If prometheus-node-exporter is installed, grab stats about the local 
     # machine by default. 
     static_configs: 
         # première syntaxe yaml 
         #- targets: ['localhost:9100'] 
         # deuxième syntaxe yaml 
       - targets:  
         - 'localhost:9100' # la machine qui s'écoute 
         - 'XXX.XXX.XXX.XXX:9100' 
         - 'YYY.YYY.YYY.YYY:9100' 
 ``` 

 > Le travail d'écoute du serveur se découpe en nodes. ici noeud_machines_virtuelles et noeud_machines_maison 
 > Une ou plusieurs machines peuvent être dans un node. 
 > La notion de nodes est exploitaée exploitatée dans Grafana. 

  


 ### Lancement 

 ``` 
 systemctl start grafana-server 
 ``` 
 Ou pour relancer 
 ``` 
 systemctl reload prometheus 
 ``` 

 Par défaut le serveur est consultable sous http://localhost:9090 

 ### Client Prometheus 

 Ce client est un serveur qui exporte les métriques sous localhost:9100 
 ``` 
 apt install prometheus-node-exporter 
 ``` 

 # Grafana 

 > Grafana est un outil de rendu graphique des métriques relevées par Prometheus. 
 https://grafana.com/docs/grafana/latest/installation/configuration/ 

 **[Grafana](https://grafana.com/grafana/)** est sous licence **[Apache 2](https://www.apache.org/licenses/LICENSE-2.0)** (en ce qui concerne les sources) disponibles sur **[github](https://github.com/grafana/grafana)** . 

 ## Installation 

 > Si on ne veut pas partir des sources il est nécessaire d'ajouter les dépots grafana  

 **/etc/apt/sources.list** 
 ``` 
 deb https://packages.grafana.com/enterprise/deb stable main 
 ``` 

 Il est nécessaire d'ajouter la clef gpg pour ce dépôt. 
 ``` 
 gpg --receive-key 8C8C34C524098CB6 
 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8C8C34C524098CB6 
 apt update 
 apt install grafana-enterprise 
 ``` 

 ### Lancement 

 ``` 
 systemctl start grafana-server 
 ``` 

 Le serveur est consultable sous localhost:3000 
 Celui-ci est paramétré par défault pour aller chercher les métriques sous Prometheus 

 ### Configuration 

 Au travers de l'interface web on peut se construire un tableau de bord ou partir d'un tableau de bord existant : https://grafana.com/grafana/dashboards 


 ![](apercu_grafana.png)