Skip to content

Commit d67d4f4

Browse files
committed
Doc monitoring updated
1 parent d04d6e1 commit d67d4f4

1 file changed

Lines changed: 111 additions & 2 deletions

File tree

docs/documentation/monitoring.md

Lines changed: 111 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,112 @@
1-
# Monitoring
1+
# Monitoring
22

3-
##
3+
## Présentation
4+
5+
Dans une infrastructure DevOps , il est important de supeviser en continue le fonctionne des différents environnement.
6+
7+
## Sélection des outils
8+
9+
Nous avons choisi Prometheus et Grafana pour notre monitoring et l’alerting.
10+
La configuration automatique de notre monitoring est gérée par Prometheus-Operator.
11+
Son rôle est de renvoyer les données à Grafana pour la visualisation.
12+
13+
## Sélection des outils
14+
15+
Nous avons choisi Prometheus et Grafana pour notre monitoring et l’alerting.
16+
La configuration automatique de notre monitoring est gérée par Prometheus-Operator.
17+
Son rôle est de renvoyer les données à Grafana pour la visualisation.
18+
19+
## Installation et configuration
20+
21+
Notre application Prometheus et Grafana sont déployés en utilisant des packages dans des Charts Helm.
22+
23+
La configuration du Chart Helm est défini dans le fichier ci-dessous :
24+
fastapi-k8s/terraform/deployments/releases/kube-prometheus-stack.tf
25+
26+
Pour ne pas mettre de mot de passe dans notre code, nous utilisons une variable d'environnement pour renseigner le mot de passe attendu en valeur
27+
28+
```console
29+
set {
30+
name = "grafana.adminPassword"
31+
value = var.grafana_admin_password
32+
}
33+
values = [
34+
file("${path.module}/kube-prometheus-stack/kube-prometheus-stack-values.yaml")
35+
]
36+
```
37+
38+
La variable d'environnement qu'il faudra enseigner sera dans ce format :
39+
`TF_VAR_grafana_admin_password = [adminPassword]`
40+
41+
42+
Dans le fichier suivant, contient toute la configuration par défaut de notre Prometheus-Operator
43+
/vagrant/fastapi-k8s/terraform/deployments/releases/kube-prometheus-stack/kube-prometheus-stack-values.yaml
44+
Il précise les fonctionnalités à activer tel que alermanger, grafana, prometheusOperator et prometheus.
45+
46+
La persistance des données est comme toujours un élément important à prendre en compte, dès lors, nous avons modifier ces éléments pour conserver les données collectés et la configuration.
47+
48+
Un stockage aws ebs pour Grafana
49+
50+
```console
51+
storageClassName: ebs-sc
52+
accessModes:
53+
- ReadWriteOnce
54+
size: 5Gi
55+
```
56+
57+
Un stockage aws ebs pour prometheus
58+
59+
```console
60+
storageSpec:
61+
volumeClaimTemplate:
62+
spec:
63+
storageClassName: ebs-sc
64+
accessModes:
65+
- ReadWriteOnce
66+
resources:
67+
requests:
68+
storage: 5Gi
69+
```
70+
71+
Cette partie installe un pod-monitor qui va présenter les données à Prometheus en présentant le endpoint.
72+
73+
74+
```console
75+
additionalPodMonitors:
76+
- name: "postgresql"
77+
selector:
78+
matchLabels:
79+
application: spilo # C'est notre Postgres-Cluster
80+
podTargetLabels: # Les labels des pods concernés qui tournent dans le cluster.
81+
- spilo-role
82+
- cluster-name
83+
- team
84+
namespaceSelector:
85+
any: true # Il est autorisé à chercher dans toutes les namespaces
86+
podMetricsEndpoints:
87+
- port: exporter # definition du fonctionnement du endpoint nommé exporter
88+
interval: 15s
89+
scrapeTimeout: 10s
90+
- targetPort: 8008 # Il expose le endpoint et défini son fonctionnement.
91+
interval: 15s
92+
scrapeTimeout: 10s
93+
```
94+
95+
## Dashboards granafa installés
96+
97+
L'installation des ces 2 dashboards est réalisé à partir des IDs fournit par la bibliothèque de Dashbord d du site de l'éditeur Grafana.
98+
99+
https://grafana.com/grafana/dashboards/9628-postgresql-database/
100+
101+
https://grafana.com/grafana/dashboards/16310-docker-and-system-monitoring/
102+
103+
## Sources de documentation
104+
105+
Référence de documentation operator-prometheus
106+
(https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack)
107+
108+
109+
Les articles utiles pour la mise en place de notre monitoring
110+
(https://medium.com/israeli-tech-radar/how-to-create-a-monitoring-stack-using-kube-prometheus-stack-part-1-eff8bf7ba9a9)
111+
112+
(https://devapo.io/blog/technology/how-to-set-up-prometheus-on-kubernetes-with-helm-charts/)

0 commit comments

Comments
 (0)