# 🧾 PromQL Cheat Sheet – Réseau (NOC Covage)
---
## 🔹 Interfaces réseau
### 🔧 Débit entrant par interface
```promql
rate(if_in_octets[1m]) * 8
```
### 🔧 Débit sortant par interface
```promql
rate(if_out_octets[1m]) * 8
```
### 🔧 Débit total (entrant + sortant)
```promql
rate(if_in_octets[1m]) * 8 + rate(if_out_octets[1m]) * 8
```
### 🔧 Top 5 interfaces par débit total
```promql
topk(5, rate(if_in_octets[1m]) * 8 + rate(if_out_octets[1m]) * 8)
```
### 🔧 Débit moyen par site
```promql
avg(rate(if_in_octets[1m]) * 8 + rate(if_out_octets[1m]) * 8) by (site)
```
---
## 🔹 Erreurs & Paquets perdus
### ❌ Erreurs entrantes
```promql
rate(if_in_errors[1m])
```
### ❌ Erreurs sortantes
```promql
rate(if_out_errors[1m])
```
### ❌ Taux d’erreur global
```promql
(rate(if_in_errors[1m]) + rate(if_out_errors[1m]))
/
(rate(if_in_ucast_pkts[1m]) + rate(if_out_ucast_pkts[1m])) * 100
```
---
## 🔹 Utilisation bande passante
### 📊 Pourcentage d’utilisation (interface 1 Gbps par ex.)
```promql
(rate(if_in_octets[1m]) * 8) / 1e9 * 100
```
### 📊 Interface à plus de 80 % :
```promql
((rate(if_in_octets[1m]) + rate(if_out_octets[1m])) * 8) / 1e9 * 100 > 80
```
---
## 🔹 Disponibilité & Ping (poller ICMP Covage)
### đź“¶ Serveur accessible (perte < 100%)
```promql
ping_loss_ratio < 1
```
### 🔍 Serveur KO (perte totale)
```promql
ping_loss_ratio == 1
```
### ⏱ Temps de réponse ping
```promql
ping_avg_duration_seconds
```
### ⏱ Temps min
```promql
ping_min_duration_seconds
```
### ⏱ Temps max
```promql
ping_max_duration_seconds
```
---
## 🔹 Alertes types NOC
### 🔔 Interface saturée > 90%
```promql
((rate(if_in_octets[1m]) + rate(if_out_octets[1m])) * 8) / 1e9 * 100 > 90
```
### 🔔 Trop d’erreurs sur une interface
```promql
(rate(if_in_errors[5m]) + rate(if_out_errors[5m])) > 100
```
### đź”” Perte de lien
```promql
if_oper_status == 2
```
---
## 🔹 Agrégations utiles
| Fonction PromQL | Usage réseau |
|------------------------|---------------------------------------------|
| `sum()` | Total par site, zone, ou équipement |
| `avg()` | Moyenne trafic/erreurs sur 5min |
| `topk()`, `bottomk()` | Interfaces les plus actives/inactives |
| `max()`, `min()` | Détection des extrêmes |
| `rate(metric[1m])` | Vitesse d’évolution par seconde |
| `irate(metric[1m])` | Dernière vitesse instantanée |
---
## 🔹 Bonnes pratiques NOC Covage
- Utiliser les labels `site`, `equipement`, `interface`, `region`, `vlan`
- Grouper les panels par région ou typologie d’équipement (CPE, PE, L2…)
- Créer des dashboards de supervision par POP ou backbone
- Prioriser les panels réseau critiques : disponibilité, saturation, erreur
- Documenter les seuils d’alerte (normal, warning, critique)
---