
Alerting with Amelia Harrison
Durée: 26m54s
Date de sortie: 19/04/2022
Amelia Harrison advises on when and how to alert, ideal coverage, and tuning.
Visit https://sre.google/prodcast for transcripts and links to further reading.
Hello and welcome to the Google SRE podcast or as we affectionately like to call it the podcast.
I am your host for today MP and here with me is Vip.
Hi.
L'année dernière, on a parlé de monétrisme.
Donc aujourd'hui, on a quelqu'un ici pour nous parler de monétrisme,
Closybille, alerté.
Amelia, pourquoi ne pas vous introduire?
Salut, je suis Amelia.
Je travaille sur Auto Alert, un service sur Google pour alerter les services sur Google
si il y a quelque chose de l'inconstitue.
C'est génial.
Donc, pour nous commencer, comment vous distinguer un alerté de monétrisme?
Donc, j'aime penser à la main distingue entre monétrisme et alerté
comme l'un des timers.
Donc monétrisme est essentiellement asynchronous.
À quel point, comme service owner, vous devez pouvoir voir des graffes,
des dashboards et répondre aux questions qui peuvent arriver à votre service.
Encore, alerté est synchronisé.
Donc, le temps s'intéresse.
Vous voulez avoir des alertés quand quelque chose va faire le mal et est actionnel
et ne pas les prendre quand les choses travaillent comme intended.
Dans l'an dernier, nous avons parlé beaucoup de toutes les différentes manières
pour obtenir de l'argent.
Et nous avons parlé de, je pense, des termes qui ont été popés.
Nous avons parlé de monétrisme client, de monétrisme du travail, de monétrisme du service.
Il y a juste tellement de données que nous avons de nos systèmes de monétrisme.
Comment je vais s'en aller de cela pour un alerté significatif?
Donc, je pense qu'il y a deux côtés à ce coin.
Comme sur l'un des côtés, il y a des aspects spécifiques de service
où vous avez besoin d'un service.
Vous avez besoin d'être en train de penser sur les journeys de l'utilisation,
les interactions de l'utilisation avec votre service et ce qui se passe,
peut-être que cela nous permet de faire votre service et, en tout cas, leur sens de l'utilisation.
Et vous voulez faire sure que vous avez de la recette d'alerte
pour quand ces journeys ne ne ne travaillent pas comme intended.
Encore une fois, je pense qu'il y a un niveau de structure d'alerte
qui, à l'extérieur, est assez service et dépendant.
Donc, si vous utilisez des ressources de structure communes,
comme des storages de données, ou des balanches de la recette,
ou si vous utilisez une solution de la recette,
pose-rell bets,
ou si vous collapsez des ressources
de la vie.
Ou beaucoup de choses qui peuvent être mises, je pense.
C'est un grand monde là-bas.
Oui, il y a beaucoup de choses qui peuvent être mises.
Je pense que dans un monde idéal, je pense que l'onus devrait être sur les services
des providers pour penser à ne pas dire comment les choses peuvent être mises, mais comment
les choses qui vont être mises peuvent manifester comme impact de l'usage et faire sure que
si c'est manifester comme impact de l'usage, il y a une coverage d'alerte pour ça.
Mais puis, d'autre côté, je pense que si vous êtes en train de construire un service en utilisant
des blocs de construction, comme une source de storage,
ideally, ce ne devrait pas être sur les services des providers pour assurer que
ils pensent à toutes les manières que ces blocs de construction peuvent être mises
et avoir une coverage d'alerte pour ces modes de fail.
Vous avez mentionné l'impact de l'usage et comment l'alerte vous donne à vous
de la preuve de failures de les users et de votre service en général,
ou tout le système.
Je pense que vous ne voulez pas l'alerte après que les users vous voient de failures.
Quand vous vous alertez ? Quand est-ce trop tard ?
Et où est ce spot-là ?
Je pense que l'answer est vraiment dépendante de la mode de fail.
Et aussi, je pense que c'est une question controversée.
Parce que je pense que vous allez trouver des gens qui vont prendre la ligne
si vous avez l'alerte avant que vous avez un issue d'usage, c'est trop tard.
Je pense que, ideally, on pourrait aimer que vous voiez toutes les outages,
c'est pourquoi, pour exemple, alerter quand vous approchez de l'alerte,
c'est une chose raisonnable.
Si l'alerte va causer une outage, vous devez savoir avant que vous vous aurez l'outage.
Mais, en beaucoup de cas, ce n'est pas raisonnable à l'expect,
que vous pourrez pouvoir s'attendre à un issue de production
avant d'impact avec les users.
Vous pouvez faire toutes les choses comme avoir des outages sain,
et avoir vos outages de binary,
aller dans un certain sort de analysis canaire,
ou en décembre et en environnement sain.
Mais, parfois, surtout si la cause de l'outage n'est pas interne à votre service,
mais c'est parce que de la dépendance,
ce n'est pas suffisant pour vous d'être capable de s'attendre à un issue avant d'intérêt.
En summation, je pense que l'answer est de la dépendance.
Il y a des modes de failure que vous pouvez reasonably attendre
avant d'impact avec les users,
mais il y a d'autres qui ont une expectation moins raisonnable.
Qu'est-ce qu'il y a de la mode de failure?
Je peux brainstormer beaucoup de choses que je peux attendre aux users pour voir un outage,
mais je sais toujours qu'il y a quelque chose que j'ai vu dans mon expérience,
des modes de failure qui sont hyper spécifiques
et presque impossible d'y capturer dans un façon succincte,
qu'il n'y a que de la dégager dans des lois.
Ça veut dire que c'est impossible d'attendre la mode de failure
ou que c'est impossible de détecter la façon dont les users sont percevés le mode de failure?
On avait des signes qui ont réglé l'expérience de l'usage,
mais ce n'était pas ce que nous devions avoir pu avoir en tête,
comme que ce soit un moyen de ce qui peut se détecter.
Nous étions pu le voir après le facteur,
après un temps important,
mais ça a été un peu en train de se faire tourner dans notre data.
C'était l'issue que l'impact n'était pas assez widespread?
C'était un impact très localisé.
C'est une question intéressante,
c'est de savoir où vous étiez le point entre le bug et l'outage.
Je ne sais pas comment vous étiez le point.
Le point de étier le point est quelles sont les personnes qui ont été affectées,
comment la population de votre target est affectée,
un autre est la sévérité,
comment l'impact est le problème.
Je pense que, au moins, pour les questions de sévérité et de widespread,
je pense que ces sont les personnes qui sont plus qualifiées que les outages.
Vous devez définir que vous avez des besoins de la sévérité
pour ces modes de défait.
Ce serait en formation de la montagne de la black box,
avec des probés,
c'est une approche très raisonnable
pour détecter ces outages.
Mais je pense que pour ce que vous dites,
c'est une situation où c'est dans l'arrière gré
ou est-ce que c'est clair?
C'est un outage très évidemment.
Je ne pense pas que c'était un outage
parce que de la manière dont il a manifesté pour l'utilisateur,
c'était juste un certain workflow
qui crasse
sur le client mais qui s'est passé sur le service.
Et puis, quand l'utilisateur a repris,
l'effet du complet du workflow
était encore là sur le service
pour qu'ils ne ne viendraient pas le workflow.
C'était une chose d'une manière spéciale.
Et donc, il y avait ces outages qui se sont réveillés
à un certain point et nous n'avons pas vraiment remarqué.
Donc, dans l'an dernier de cette question,
avez-vous essayé de formaliser des préoccupations
sur le workflow,
mettre un SLO sur le processus?
Pas moi, mais quelques outages que j'ai travaillé avec
ont ajouté un extrait
pour monitorer et alerter
sur ce certain workflow.
Oui, je pense que c'est un problème
que les utilisateurs utilisent
les services de votre service
dans des manières inassimiles.
Et donc, votre notion
de la façon dont les journeys de l'utilisateur
sont critiques
peut-être pas vraiment
réveillées
comme les outages de la façon dont les utilisateurs
utilisent et interagent avec votre service.
Et donc, je pense que ce que ça va donner
c'est que, même si vous n'avez pas
explicitement étendu un SLO
sur un certain moyen que l'utilisateur interagisse
avec votre service,
si un peu de gens le font et c'est
normalement travaillé,
il y a une expectation
d'implicité
qui est presque un SLO.
Et je pense que ces sont les
issues avec ces SLOs
qui peuvent être
vraiment difficiles d'avoir
parce que vous n'avez
explicitement décédé un objectif
pour le service avec respect à cette interaction.
Mais je vous aime la pensée que vous pouvez
je pense que c'est intéressant que
la formation de la formation
peut-être change
comme peut-être
votre service s'évolue
ou les utilisateurs s'évoluent
dans les manières qui utilisent les choses.
Ce n'est peut-être seulement
tangentially, mais je pense que
parce que je pense que nous avons mentionné
les outages versus les outages,
je pense que c'est une autre question
qui est la question de qui
les outages sont.
Est-ce que c'est la SRA
des outages ou des outages
des outages ?
Est-ce que c'est mal
d'avoir des outages
ou des outages
des outages ?
Qu'est-ce que vous avez
pensé sur ces outages ?
C'est un point très bon.
On devrait parler un peu de ce que nous
devons dire par outages,
je ne pense pas de l'alerte
que de les outages,
mais je pense que
comme que les outages
sont émettus,
donc, des outages automatiques
qui sont émettus,
c'est des e-mails,
c'est des outages, je ne sais pas,
c'est des outages
et des IRC,
le mécanisme de delivery
ne matters pas
beaucoup.
Et je pense que
ideally,
si vous avez une alerte sur les pages,
c'est vraiment important que ce soit urgent
et que ce soit actionnel.
Donc,
en refléchissant un issue
qui doit être adressé
rapidement et qui peut être
adressé par la personne
qui répond.
En le fait,
les mécanismes que mon équipe utilise
les plus sont les outages ou les tickets.
Je me sens que les alertes émettent
où les alertes sont à mort.
Oui, ils ne peuvent pas
exister bien.
J'ai eu des alertes d'email
qui ont été informées avant, c'est intéressant.
Ça se dérange
dans l'email filter
de la haine.
Oui, c'est certain.
Donc,
une des choses que nous avons étendu
sur mon équipe est que c'est un
lien intéressant entre ce que nous
signifiquons par l'urgence.
Si la dichotomie est que vous avez
des alertes d'adressé par la page
ou des alertes d'email,
comment vous décidez
de quoi être urgent
d'être pagée ?
La criterion
que nous avons utilisée
est que si
cette alerte s'étend
à 5 p.m.
il y aura assez de temps
pour réacte et
poursuivre la preuve
d'être un outage
dans les prochaines 48 heures.
Est-ce que c'est bon
si ça s'étend jusqu'à la fin de la semaine ?
Donc,
l'urgence ne signifie pas
que ça doit être réacte
ce moment.
Mais ça signifie que
nous ne pouvons pas attendre
pour le team de devs.
Il y a peut-être
quelques heures avant qu'il y soit un problème
et peut-être 12 heures.
Mais si c'est moins que 48 heures,
ça devrait probablement être pagé
parce que ça ne peut pas attendre la semaine.
J'ai-je dit la question ?
Oui, je pense.
Je pense que dans ce scénario,
peut-être que vous pourrez avoir un outage
et si les conditions ne changent
avec tout ce que c'est,
votre team peut être pagée de toute façon
ou peut-être que ça n'a pas été pas possible
et que vous venez juste de retourner en 48 heures.
Oui.
Je me sens nerveux
quand je prends des tickets,
parce que je me sens toujours
que c'est le précarceur
pour une page.
Ça signifie que
je dois être actif et agir
pour éviter
des failures de large.
Mais je pense que ça,
c'est un ticket qui est intéressant
et c'est un bon point.
Je me sens comme si il y avait
une classe de tickets
que j'ai rencontrées
où
c'est
internait
mais pas un outage
où c'est comme si vous devriez probablement
faire ce que vous pouvez
parce que ça peut faire des vies
difficiles,
mais c'est pas vraiment un outage.
Les utilisateurs ne noteraient pas
que ce petit-queur est bloqué,
mais vous allez faire des vies
difficiles de l'autre.
Je dois avoir un exemple
très précis
et le fait de faire des failures
augmente le risque.
Mais vous parlez toujours de l'alerte
automatique, pas de ça.
Mais c'est un niveau ticket
dans votre queue de bug.
Oui, et la question est
ce que vous faites
avec ces... est-ce approprié
que ça soit un ticket ?
Oui.
Je sais que le fact est
que si la justification que j'ai utilisé
pour être un ticket c'est que
si je voulais un ticket à 7 p.m.
ce n'est pas en train de
regarder jusqu'à la prochaine matin.
Et plus ou moins
les gens peuvent attendre jusqu'à la prochaine matin.
Et ça peut être un moment de week-end
aussi en ce cas, parce que
les workflows internaites sont
disruptives.
Ce n'est pas quelque chose que personne ne va vraiment
être internait en un samedi ou un samedi.
Oui, je pense que l'une des choses
que ça donne est
que vraiment beaucoup de ces décisions
sont service dépendants.
Il n'y a pas un bon
généralisé.
Il y a des règles de thème
et des frameworks
pour penser à ce que
l'urgence est appropriée.
Mais finalement,
ça dépend
de votre service.
Et l'une des choses qui peut informer
c'est l'existence de pague
qui inclure un whole bunch de services différents
et le load est très
très haut.
Ce n'est pas possible
d'adresser
ce sort de
n'est pas broken
ce moment, mais il sera broken
dans 36 heures si personne ne fait
aucune action.
Ce n'est pas possible d'adresser
ceci à la pague.
J'espère que personne ne peut
faire ça.
Je pense que
c'est un moment de re-définition
de comment
augmenter la service envers
les loads de pague
pour que vous puissiez
coucher ces choses.
Je pense que
si vous pouvez
avoir votre système de l'alerte
parfait,
comment structurer
cela ?
Quelle est la chose
que je pense ?
Je voudrais vraiment voir
quelque chose de plus
de données.
Je pense que
beaucoup de l'approche
d'alerte
a souvent un peu comme
votre service
d'alerte.
Vous pensez à
ce qui est important pour vos utilisateurs,
ce qui est le genre de journeys
critiques.
Vous
vous avez
montré et
vous avez
apprécié
ce genre de journeys.
Et puis
les alertes commencent
à se faire.
Vous vous avez dit
que
ce n'est pas un problème
mais c'est trop
brouillant.
Vous vous avez dit
montré et vous vous avez apprécié
l'alerte.
Ou vous vous avez
mis un outage
et vous vous avez dit
que vous avez montré
mais votre alerte ne était pas
suffisamment sensible
à ce mode de défaut.
Vous vous avez
apprécié un alerte en ce moment
ou vous vous avez fait
l'alerte plus sensible.
Votre
équipe et chaque
équipe de service
de service, ou chaque équipe de SRA
est en train de faire
l'exercice de la tuning
d'alerte en les faisant
plus sensible, moins sensible,
parfois la même alerte.
Ou
pas sensible, mais pas assez.
Je n'ai pas trouvé le spot
qui est le plus sweet.
Ça me semble malade.
Oui.
Le problème
est que
d'individuellement explorer
l'espace de threshold,
l'espace de paramètres pour un
l'alerte individuel,
on ne peut pas faire
des décisions data-driven
sur ce que le l'alerte
semble.
On ne peut pas
lever les autres personnes
dans le même exercice
pour s'envergir
sur le bon
alerte.
Je pense que, idéalement,
vous avez un système
où vous avez un service
et vous pouvez
mettre des services pour votre service.
Mais, à part ça, vous n'avez pas
vraiment besoin de penser
sur les détails,
ou de la paramètres pour le
l'alerte pour s'assurer que vous
pouvez apporter ces SOOs.
Ça peut être
élevé
séparément
par le service d'alerte.
Et ce service
va avoir
une visibilité
pour
aller
vers un whole bunch de services différents.
Et, comme résultat,
on va
pouvoir
lever
toutes les données
que vous avez
de cette visibilité
.
Peut-être
que, de voir
tous ces exemples
vers les services différents,
quand un alerte n'est pas sensible
il serait possible de
le faire.
Je pense que c'est...
Je ne sais pas
quelle direction vous pensez, mais vous savez...
C'est quelque chose comme ça.
C'est vrai.
Et aussi, vous pouvez
apprendre de la commune,
de les défauts,
parfois,
alerte le bonheur, et c'est un fals
positif
que vous avez à faire
avec le moyen
de la data monitor
qui est installée.
Ce n'est pas
même lié à la
déchouée, mais c'est
comme un blip
dans la monitoring
en soi-même.
Ou c'est
comme
un issue
avec la
repository.
Peut-être
qu'il y a un problème
avec la
base de la
time
de votre
database,
et donc,
tout le monde
a un fals positif
qui est installé
dans un certain
service
qui n'est pas
en train de
Et je suis en train
de mettre des pages
et des tickets
pour la première partie
d'un service
que je supporte.
Et je suis comme,
c'est
frac.
Et c'est
tout le monde
d'aujourd'hui,
Google.
Quand vous avez
centralement
offert
d'alerte
comme service,
la team
a des ressources
pour
penser
sur la mode
d'alerte
avec le service
qui est
très
Et c'est
un
service
qui
est
très
Et je suis
très
fort.
Et c'est
pour
l'alerte
que
l'on
service
qui
de ce qu'ils ont vu?
Oui, absolument.
C'est un autre chose qui fait que l'alerte
en service particulièrement attractif.
Nous avons parlé un peu plus tard
sur l'imposé de SOOs.
Nous savons que les clients
vont utiliser un service comme celui-ci
et qu'on veut donner
ce niveau d'expérience pour eux.
Si vous avez un service en alerte,
vous pouvez permettre aux utilisateurs
de spécifier leurs objectifs.
Ou non.
Peut-être qu'ils spécifient
leurs SOIs, les indicators
qu'ils savent
sont importants
aux indicators de santé service.
Et les services centralisés
qui ont été alertés
monitorent ces indicators
et savent
ce qu'ils font
pour les utilisateurs
qui sont en alerte.
Et qui peuvent vous montrer
si c'est un service en alerte.
Ça me rappelle un des choses
qui se dévouent
dans le fond de ma main.
Ne pensez pas que l'alerte
qu'on a écrit 3 ans auparavant
et si les thresholds sont encore
significants.
Et que chaque alerte
que vous ajoutez
crée plus de travail.
Parce que à un moment,
vous devez faire sure que l'alerte
encore fonctionne.
C'est vrai.
J'ai l'impression
que si les thresholds ne sont pas
significants,
alors que quelqu'un
n'est pas capable de les faire
mais si les thresholds ne sont pas
significants, alors que
peut-être que vous avez
vraiment des problèmes
avec votre service et que vous ne le savez pas.
Je pense
que si vous avez un service
et que vous vous dites
que vous allez commencer à 2 nines
et que vous vous avez
dépassé tout pour 2 nines
et que vous vous avez
travaillé sur les improvements
et que vous vous êtes en train de 4 nines
mais que votre alerte est encore
à 2 nines.
Et que les utilisateurs
sont venus d'expecter 4 nines
et que votre alerte ne va pas
s'éteindre jusqu'à ce que c'est vraiment mal.
Et si vous vous vous faites
un tapis à 2 nines, vous allez avoir
de l'envers des utilisateurs
qui n'est pas fun,
c'est ça qui me donne
des nightmares.
C'est difficile, il y a beaucoup de choses
qui nous protègent.
C'est pourquoi il y a des choses
qui nous aide mais
il y a beaucoup de challenges
de faire sure que vous êtes en train de
faire le date avec tout.
Mais comment est-ce que vous pensez
que nous sommes de votre ideal
d'aller en train de faire le service?
C'est certain que, à Google,
nous avons des preuves d'adaptation
d'un concept
qui peut travailler.
Nous avons un foothold et
nous sommes en train de bouger
dans la même direction.
Nous aussi savons que ce n'est pas le cas
ou que nous avons des idées
de ce qui ne marche pas.
Donc, par exemple,
ce que nous avons vu est
que l'anomaly, la détection
pour la détection ne
généralement ne marche pas.
Et je pense que part du
issue,
peut-être, mais ce que nous avons vu
à l'heure est qu'il n'est pas très
affectif. Et je pense que part du
issue, c'est que les métriques ne sont pas
créées en même temps.
Il y a des indicateurs
d'un service important
qui vous disent quelque chose
sur la santé de l'entraînement.
Et puis il y a
un whole bunch de
métriques qui sont utiles
pour la monitoring,
que vous êtes probablement
en train de retraîner.
Mais les anomalies
sont probablement
poursuivies
à la détection
et à la détection.
Le noise de l'inherent
est trop haut pour
les anomalies, pour être
un concept significatif,
c'est ce que je vois.
Ou
même juste que
le signal ne tient pas.
Il ne te dit pas que c'est
plus utile pour votre service.
Je pense
que vous ne vous en avez pas vraiment
besoin
pour les propriétés de service
pour avoir l'input
sur ce qu'ils croient.
Les propriétés de service
identifiant
les métriques importants
qui
reflèrent
la santé de la service,
je pense que nous avons vu que
nous ne serons probablement pas
poursuivies à l'inherent.
Et aussi, instrumenter le service
avec ces métriques.
Parce que
je pense que, en général,
ce n'est pas une solution
de la solution de l'inherent.
Je pense que
si
personne n'a plus de commentaires
ou d'autres,
je pense que nous devons dire merci
à Emilia pour sa temps.
Je suis super heureuse d'être ici. Merci pour m'avoir
apprécié. C'était un plaisir.
A bientôt.
...
Episode suivant:
Les infos glanées
GoogleSREProdcast
SRE Prodcast brings Google's experience with Site Reliability Engineering together with special guests and exciting topics to discuss the present and future of reliable production engineering!
Tags