# Format des silences
#### Démo Point de Synchro du 10/02/2023<!-- .element: style="text-align: center" -->
---
# Objectif
Il s'agit d'améliorer la pose et la vérification des silences (effectuée quasi chaque lundi par l'équipe Supervision) :
- en rendant les silences plus explicites ;
- en éliminant plus facilement les silences non appropriés ;
- en éliminant également les silences qui ne sont plus d'actualité.
---
# Comment s'effectue la vérification d'un silence
### Avant février 2023
L'équipe Supervision allait dans Karma lister les silences un à un.
Inconvénients :
- silence avec référence à un ticket JIRA : pas de vérification systématique des tickets Jira (risque de garder un silence alors que le ticket est fini ou que le lien est mauvais) ;
- le nombre de silences augmente : on y passe plus de temps ;
- il y a plus de 10 pages de silences : risque d'en oublier ;
- on "connait" nos silences : risque de dire OK alors que le sujet a été traité.
---
# Comment s'effectue la vérification d'un silence
### Depuis février 2023
https://git.corp.caascad.com/caascad/applications/silence_cop
Nous nous sommes outillés pour effectuer cette vérification qui gomme les inconvénients ci-dessus.
Cela implique des règles sur le format des silences.
---
# Rappel sur les types de silences
Il existe 2 types de silences :
- Type *Downtime* :
- la fin du silence est déterminée à l'avance,
- le silence ne disparaît qu'à la fin prévue,
- le silence survit à la disparition de l'alerte ;
- Type *Ack* ou *Acknowledgement* :
- la fin du silence correspond à la fin de l'alerte,
- la fin du silence n'est pas prévisible
Avec Alertmanager/Kthxbye, les alertes de type *Ack* ont un commentaire avec un préfixe `ACK!`. Il n'y a pas de préfixe pour les *Downtime*.
---
# Format des silences : 3 règles
Il existe 3 règles selon le type de silence à poser qui s'appliquent de cette façon :
- règle 1 : référence à un ticket JIRA ;
- règle 2 : silences courts < 4h ;
- règle 3 : exceptions.
En cas de non respect des règles, l'équipe Supervision se réserve le droit de supprimer le silence.
---
<!-- .slide: class="regles" -->
# Format des silences : règle 1/3
### Référence à un ticket JIRA
**Contexte** : alertes sur des travaux en cours ou à venir avec référence JIRA.
<div class="regles">
Le commentaire DOIT :<!-- .element: style="margin-bottom: 0" -->
- contenir une référence à au moins un ticket JIRA :
- le ticket JIRA doit être de type `PF`, `CAASINC` ou `CAASCHR`,
- le ticket JIRA ne doit pas être "fini" ;
- contenir minimum 3 mots (incluant le ticket JIRA), soit au moins 2 mots d'explication.
Le commentaire PEUT avoir le préfixe `ACK!`
</div>
Ce silence sera considéré comme valide tant que le ticket JIRA n'est pas "fini".
---
<!-- .slide: class="regles" -->
# Format des silences : règle 2/3
### Silences courts
**Contexte** : alertes sur des opérations en cours.
<div class="regles">
Aucune contrainte sur le commentaire.
Le commentaire NE DOIT PAS avoir le préfixe `ACK!`.
La durée du silence DOIT être inférieure à 4h.
</div>
Ce silence sera toujours considéré comme valide (y compris s'il fait une référence à un ticket Jira, en cours ou même fini).
---
<!-- .slide: class="regles" -->
# Format des silences : règle 3/3
### Exceptions
<span>**Contexte** : alertes "connues" qui ne sont pas liées à des incidents/travaux et où il n'est pas prévu de corriger le problème (car trop rare ou avec un bénéfice travail/résultat trop faible).</span><!-- .element: style="font-size: 0.9em" -->
<div class="regles">
Le commentaire DOIT :<!-- .element: style="margin-bottom: 0" -->
- être au format `silence_cop <date> <explication>`
- note : `silence_cop` est un mot-clé servant à identifier ces exceptions
- avec la date
- doit être dans moins d'un mois
- doit être dans un format accepté, incluant `DD/MM/YYYY`, `DDMMYYYY`...
- avec une explication de 4 mots minimum
Le commentaire PEUT avoir le préfixe `ACK!`.
</div>
<span>Ce silence sera considéré comme valide jusqu'à la date indiquée en commentaire (qui peut être différente de la date de fin du silence).</span><!-- .element: style="font-size: 0.9em" -->
---
# Si je ne respecte pas le format ?
<div>
C'est pas :cool: !
</div><!-- .element: style="text-align: center; font-size: 1.2em" -->
Parce qu'à la vérification chaque semaine, on verra ce silence mal posé.
Puis on devra travailler sur ce silence :
- investiguer pourquoi il est posé ;
- s'il est pertinent ;
- le mettre dans un format acceptable ;
- ou le supprimer si on ne comprend pas (avec potentiellement la création d'un CAASINC) ;
- identifier la personne qui l'a posé si nécessaire.
---
# Conclusion
Avec ces nouveaux formats de commentaire d'alertes :
- la vérification hebdomadaire des silences va plus vite
- elle est plus fiable
- plus de silences sur des tickets JIRA finis
- plus de silences inexpliqués oubliés à la vérification
- on pourra envisager la suite
- automatisation de la vérification (pour ne plus lancer la commande manuellement)
- alerting sur les silences mal posés (pour ne plus avoir à vérifier chaque semaine)
En respectant ces règles, on gagne en *temps* et en *fiabilité*. Aidez-nous en les respectant !
---
# Rappel des 3 formats
- Ticket Jira + 2 mots d'explications (`ACK!` possible)
- silence de moins de 4h (pas de `ACK!`)
- `silence_cop <date> <explication 4 mots minimum>` (`ACK!` possible)
<style type="text/css">
p {
font-size: 0.7em;
}
.reveal ul li {
font-size: 0.65em;
}
.reveal ul ul li {
font-size: 0.8em;
}
.reveal ol li {
font-size: 0.7em;
}
.reveal section {
text-align: left;
}
.reveal h3 {
color: orange;
text-align: left;
font-size: 0.8em;
}
.reveal h1 {
color: orange;
text-align: center;
border-bottom: 1px solid orange;
margin-bottom: 0.4em;
font-size: 1.2em;
}
.reveal code {
color: aquamarine;
font-size: smaller;
}
div.regles {
border: 1px solid orange;
padding: 0 1em;
}
.regles p {
font-size: 0.6em
}
.regles ul li li {
font-size: 0.8em
}
</style>