Projet

Général

Profil

Prometheus-grafana » Historique » Version 13

pizzacoca, 07/03/2020 09:56

1 1 pizzacoca
# Prometheus-grafana
2
3 13 pizzacoca
**[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)** .
4
Prometheus existe aussi sous la forme de paquets pour debian10, ce que nous allons utiliser.
5
6 3 pizzacoca
> Prometheus est une supervision client / serveur. 
7 1 pizzacoca
> Le serveur est consultable sous localhost:9093
8
> Les clients produisent une page localhost:9100 que le serveur écoute
9
10
11 4 pizzacoca
## Installation de Prometheus
12 1 pizzacoca
13 4 pizzacoca
### Installation coté serveur
14 1 pizzacoca
15
16
17
### Configuration
18
19 4 pizzacoca
> Le travail d'écoute du serveur se découpe en nodes. Plusieurs machines peuvent être dans un node.
20
> Il sera intéressant de regrouper les machines dont nous voulons récupérer les mêmes informations dans un même node.
21
> Les machines tournant sous des OS différents devront probablement être placées sous des nodes différents pour permettre une exploitation avec  Grafana.
22
23 2 pizzacoca
La configuration se fait via un fichier yaml. Ici un exemple.
24 1 pizzacoca
**/etc/prometheus/prometheus.yml**
25 2 pizzacoca
```
26
# Sample config for Prometheus.
27 1 pizzacoca
28 2 pizzacoca
global:
29
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
30
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
31
  # scrape_timeout is set to the global default (10s).
32
33
  # Attach these labels to any time series or alerts when communicating with
34
  # external systems (federation, remote storage, Alertmanager).
35
  external_labels:
36
      monitor: 'example'
37
38
# Alertmanager configuration
39
alerting:
40
  alertmanagers:
41
  - static_configs:
42
    - targets: ['localhost:9093']
43
44
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
45
rule_files:
46
  # - "first_rules.yml"
47
  # - "second_rules.yml"
48
49
# A scrape configuration containing exactly one endpoint to scrape:
50
# Here it's Prometheus itself.
51
scrape_configs:
52
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
53
  - job_name: 'prometheus'
54
55
    # Override the global default and scrape targets from this job every 5 seconds.
56
    scrape_interval: 5s
57
    scrape_timeout: 5s
58
59
    # metrics_path defaults to '/metrics'
60
    # scheme defaults to 'http'.
61
62
    static_configs:
63
      - targets: ['localhost:9090']
64
65
  - job_name: Mes_machines_virtuelles
66
    static_configs:
67
      - targets: 
68
        - 'domaine.associe.ou.adresse.ip:9100'
69
        - 'XXX.XXX.XXX.XXX:9100'
70
71
72
  - job_name: noeud_pour_autres_machines
73
    # If prometheus-node-exporter is installed, grab stats about the local
74
    # machine by default.
75
    static_configs:
76
        # première syntaxe yaml
77
        #- targets: ['localhost:9100']
78
        # deuxième syntaxe yaml
79
      - targets: 
80
        - 'localhost:9100' # la machine qui s'écoute
81
        - 'XXX.XXX.XXX.XXX:9100'
82
        - 'YYY.YYY.YYY.YYY:9100'
83
```
84
85 1 pizzacoca
### Lancement
86
87
```
88
systemctl start grafana-server
89
```
90
Ou pour relancer
91
```
92
systemctl reload prometheus
93
```
94 4 pizzacoca
95 9 pizzacoca
Par défaut le serveur est consultable sous http://localhost:9090
96
97 4 pizzacoca
### Client Prometheus
98 5 pizzacoca
99
Ce client est un serveur qui exporte les métriques sous localhost:9100
100
```
101
apt install prometheus-node-exporter
102
```
103
104
# Grafana
105
106 8 pizzacoca
> Grafana est un outil de rendu graphique des métriques relevées par Prometheus.
107
https://grafana.com/docs/grafana/latest/installation/configuration/
108
109
**[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)** .
110
111
## Installation
112
113
> Si on ne veut pas partir des sources il est nécessaire d'ajouter les dépots grafana 
114 7 pizzacoca
115
**/etc/apt/sources.list**
116
```
117
deb https://packages.grafana.com/enterprise/deb stable main
118
```
119
120
Il est nécessaire d'ajouter la clef gpg pour ce dépôt.
121
```
122
gpg --receive-key 8C8C34C524098CB6
123
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8C8C34C524098CB6
124
apt update
125 1 pizzacoca
apt install grafana-enterprise
126 7 pizzacoca
```
127 10 pizzacoca
128
### Lancement
129
130
```
131
systemctl start grafana-server
132
```
133
134
Le serveur est consultable sous localhost:3000
135 12 pizzacoca
Celui-ci est paramétré par défault pour aller chercher les métriques sous Prometheus
136 11 pizzacoca
137
### Configuration
138
139
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
140
141
142
![](apercu_grafana.png)