Пратите сервис и његове кориснике
ЗавршеноПовежите метрике, логове и трагове са циљевима сервиса. Осмислите упозорења, границе података и провере недостајуће телеметрије.
Објављује TaigaКако пишемо
Проверите разумевањеТрајање извоза расте. Узорковани трагови показују споре span-ове базе података. Шта можете да закључите?Урадите вежбу
Шта ћете научити
- Изаберите телеметрију која одговара на одређено оперативно питање.
- Разликујте симптом сервиса од унутрашњег узрока.
- Заштитите телеметрију и откријте доказе који недостају или су застарели.
Почните од питања
Надзор проверава познате услове. Observability помаже да истражите понашање система, укључујући отказе које нисте предвидели. Више контролних табли не доноси аутоматски боље одговоре.
За измишљен сервис извоза почните од корисничког питања: може ли овлашћени корисник да добије исправан извоз у договореном року? Затим изаберите сигнале који подржавају то питање и помажу да се објасне откази.
OpenTelemetry пружа инструментацију и стандарде за телеметрију. Може да шаље сигнале компатибилним backend системима. И даље вам требају складиште, упити, контроле приступа, правила задржавања и људи који поступају на основу доказа. Увод у observability.
Повежите различите облике доказа
Метрика мери величину током времена. Лог бележи догађај. Траг повезује сродне операције док захтев пролази кроз систем. Span представља једну операцију унутар трага.
| Оперативно питање | Пример доказа | Ограничење које треба памтити |
|---|---|---|
| Колико извоза који испуњавају услове не успе? | Број неуспеха и број захтева који испуњавају услове | Погрешан именилац даје стопу која обмањује |
| Шта се догодило једном извозу? | Структурисан лог са ID-јем посла, исходом и верзијом | Недостајући догађаји остављају празнине |
| Где је утрошено време? | Траг кроз API, ред, worker и базу | Узорковање и прекинут пренос контекста могу да сакрију рад |
| Шта се променило пре симптома? | Евиденција постављања и конфигурације | Сам временски след не утврђује узрок |
За асинхрони рад сачувајте безбедну корелацију између предатог посла и извршавања worker-а. Одговор HTTP 202 може да значи да је посао прихваћен. Не доказује да је извоз завршен.
Упозорите када је потребна радња
Дефинишите SLI и његов именилац пре постављања SLO-а. У примеру бројите извозе који испуњавају услове и исправно су завршени у договореном року. Дефинишите како дуготрајни и напуштени послови улазе у мерење.
Буџет грешака описује дозвољени обим неуспеха у SLO периоду. Стопа трошења описује колико брзо неуспеси троше тај буџет. Google смернице користе више временских прозора да уравнотеже правовремено откривање и шум упозорења. Упозорења на основу SLO-а.
Позовите дежурну особу када услов захтева правовремену радњу. Мање хитан посао пошаљите у ред. Сваком упозорењу требају одговорна особа, опис утицаја, веза ка истрази и упутство за реаговање. Прегледајте упозорења која стално не доводе ни до какве радње.
Не користите један општи праг за сваки сервис. Утицај на кориснике, саобраћај, радно време и капацитет за реаговање утичу на одлуку.
Заштитите pipeline телеметрије
Телеметрија може да садржи личне податке, токене, параметре захтева и поверљиве документе. Дефинишите дозвољена поља пре прикупљања. Ограничите приступ и задржавање. Уклоните тајне пре извоза у спољни backend. Осетљива телеметрија.
Не користите адресу е-поште купца или јединствени ID посла као ознаку метрике. Неограничен број вредности ознака повећава број временских серија и може да открије идентификаторе. За метрике користите контролисане димензије. Одобрене идентификаторе корелације смештајте у логове или трагове са контролом приступа.
Мерите и сам pipeline. Проверавајте неуспео пријем, одбачене податке и старост последњег запажања. Раван графикон грешака може да значи да грешака нема или да телеметрија не стиже. Прикажите ту разлику.
Истражите конкретан отказ
Измишљен сервис враћа HTTP 202 за сваки захтев. Старост послова у реду расте са неколико секунди на 15 минута. Логови worker-а показују поновљена прекорачења времена за базу. Узорковани трагови смештају већину времена worker-а у позиве базе.
Ови докази подржавају усмерену истрагу. Не утврђују да ли је узрок промена упита, исцрпљен број веза или капацитет базе. Упоредите те хипотезе помоћу методе отклањања грешака.
Taiga Monitoring пружа преглед стања производа са сигналима доступности и искуства у прегледачу. Допуњује observability инфраструктуре и апликације; не замењује те системе. Monitoring.
Урадите вежбу
За измишљен извоз у овој лекцији дефинишите један SLI, једно упозорење које захтева радњу, три дозвољена поља телеметрије и два забрањена поља. Наведите како бисте открили неисправан pipeline телеметрије.
Преузми радни лист (Markdown)Искључивање ове опције брише сав напредак сачуван у овом прегледачу.
Напредак остаје у овом прегледачу. Без налога и праћења.
Извори и додатно читање
- OpenTelemetry: Observability primer ↗
- OpenTelemetry: Handling sensitive data ↗
- Google SRE: Alerting on SLOs ↗
- Taiga docs: Monitoring ↗