Ալերտներ և ծանուցումներ ՝ PagerDuty, Opsgenie
Ալերտներ և ծանուցումներ ՝ PagerDuty, Opsgenie
1) Ինչու՞ է ալտերտերի առանձին պլատֆորմը
Նպատակն է վերը նշված և ռելեվանտային ազդանշան հասցնել ճիշտ մարդուն/թիմին և սկսել մրցույթի գործընթացը 'ճանաչում (ակկ), էսկալացիա, հաղորդակցություն, հետմորտը։ PagerDuty-ը և Opsgenie-ը տալիս են
Ծառայություններ/թեստեր/միջավայրեր։
Էսկալացիաները և նկարները (հերթապահություններ, follow-the-sun)։
Դեդուպլիկացիա/իրադարձությունների հարաբերակցություն։
Հանգիստ պատուհանները (maintenae/freeze) և մութ կանոնները։
Կարդացեք մոնիտորինգի հետ, CI/CD և ChatOps-ը։
Օպորա: SLO-շեմն 240 մարդ/ավտոմատ www.runbook wwww.runbook/fix-ը հետմորտով։
2) Ազդանշանային մոդելը և լրջությունը (severity)
Առաջարկվող սանդղակը
critical (page) - SLO/կանխիկ ուղու սխալ (դեպոզիտ/եզրակացություն), հասանելիության անկում, burn-rate։
high (page/ticet) - նշանակալի քայքայումը առանց ակնհայտ SLO-poy։
Black (tiket) - հզորություն, bek, retray։
low (inform) - միտումներ, զգուշացումներ։
Կանոն 'page միայն SLO-ով կամ ակնհայտ բիզնես-գրավիչով։
3) Ուղղորդման ճարտարապետությունը
1. Աղբյուրը (Prometheus/Alertmanager, Grafana, ամպի շարժիչ, սեփական webhuks)։
2. Шлюз (PagerDuty/Opsgenie service/integration).
3. Քաղաքական գործիչները ՝ թեգերի երթուղիները («07», «env», «region»), severity, payload։
4. Էսկալացիաները 'հերթապահ մակարդակների հաջորդականությունը (L1/L2 գլխավոր մենեջեր)։
5. Հաղորդակցություն ՝ ChatOps-ալիքներ, կարգավիճակ-էջեր, հաղորդագրություններ։
Հիմնական թեգերի օրինակը (ստանդարտ)
, «env», «region», «version», «runbook», «relement _ id», «roult», «tenae» (եթե V2V/multi-tenant)։
4) Նկարչություն on-call և էսկալացիա
Schedules: primary/secondary, роли (SRE, DBRE, Sec).
Rotom: օր/գիշերային, follow-the-sun, հանգստյան օր։
Overrides: արձակուրդ/հիվանդություն։
Էսկալացիաներ ՝ ack-timaut 5-10 րոպե հաջորդ շերտն է։ Աշխատանքային ժամերով 'պրոֆիլային բաժին; @-@ call խաղահրապարակից դուրս։
Խորհուրդ 'գիշերվա էսկալացիայի կարճ քայլեր պահեք (ավելի քիչ հոգնածություն) և ավելի երկար, քան օրվա ընթացքում (համատեքստը)։
5) Ինտեգրումը Alertmanager-ի հետ (հիմնական pattern)
yaml receivers:
- name: pagerduty pagerduty_configs:
- routing_key: ${PAGERDUTY_ROUTING_KEY}
severity: '{{ if eq. Labels. severity "critical" }}critical{{ else }}error{{ end }}'
class: '{{.Labels. service }}'
component: '{{.Labels. env }}'
group: '{{.Labels. region }}'
description: '{{.Annotations. summary }}'
details:
service: '{{.Labels. service }}'
env: '{{.Labels. env }}'
runbook: '{{.Annotations. runbook }}'
release: '{{.Annotations. release }}'
route:
receiver: pagerduty group_by: ["service","env","region"]
group_wait: 30s group_interval: 5m repeat_interval: 2h
Opsgenie (webhook)
yaml receivers:
- name: opsgenie opsgenie_configs:
- api_key: ${OPSGENIE_API_KEY}
responders:
- name: "SRE Primary"
type: team priority: '{{ if eq. Labels. severity "critical" }}P1{{ else }}P3{{ end }}'
details:
trace: '{{.Labels. trace_id }}'
runbook: '{{.Annotations. runbook }}'
6) Աղմուկ, գլուխգործոց և հարաբերակցություն
Dedup-բանալին 'օգտագործեք կայուն fingerprint (օրինակ ՝ www.+ rome + code)։
Խումբը '«group _ by» ծառայությամբ/շրջապատով, որպեսզի 5xx x-ի կասկադը տասնյակ էջեր չառաջացնի։
Մյուտներ/հանգիստ պատուհաններ 'միգրացիայի/ռոտացիայի/բեռի թեստերի ժամանակ։
Suppression-ի պատճառով, եթե արդեն տեղի է ունենում P1-ի դեպքը 'api-gateway @ 71-ի համար, ճնշեք դուստր P2/P3։
Anti-pattern 'CPU/Memory-ի լանդշաֆտը առանց SLO-ի վրա հաստատված ազդեցության։
7) Հաղորդագրությունների և ավտոմեքենաների հետ կապը
CI/CD pause/rollback (Argo Rollouts/Helm) CI/CD webhook (Argo Rollouts/Helm)։
Ալերտը պարունակում է ՝ "releult _ id", "image. www.pline-ի և runbook-ի հղումը կրկնապատկվում է։
Օրինակ runbook աքսորման օրինակը ծանոթագրություններում
runbook: https://runbooks. company/rollback/api-gateway#canary
8) ChatOps-ը և հաղորդակցությունները
Ջրանցքի աուտո-ստեղծումը կատարվում է Slack/Teams-ում, որը կապված է տիկետի հետ։
Slash-команды: `ack`, `assign @user`, `status set`, `postmortem start`.
Կարգավիճակ-էջ 'ավտոմատ նորարարություն P1/P2-ում։
9) Կյանքի ցիկլը (նվազագույն)
1. Trigger (SLO/սենսորների ալերտ)։
2. Page (primary on-call).
3. Ack (հաստատում, TTA)։
4. Communicate (ջրանցք/կարգավիճակ)։
5. Mitigate (rollback/feature-flag/մեկուսացում)։
6. Resolve (TTR).
7. Postmortem (թայմլին, պատճառներ, գործողություններ, դասեր, առաջադրանքների սեփականատեր)։
Role-kit: IC (incident commander), Ops lead, Comms, Scribe.
10) Օգտակար դաշտերը (normalize)
json
{
"service": "payments-api",
"env": "prod",
"region": "eu-central-1",
"severity": "critical",
"event_class": "slo_burn",
"summary": "Withdraw 5xx > 0. 5% for 10m",
"runbook": "https://runbooks/payments/withdraw-5xx",
"release_id": "rel-2025-11-03-14-20",
"image": "ghcr. io/org/payments:1. 14. 2",
"trace_id": "8a4f0c2e9b1f42d7",
"annotations": { "canary": "25%" }
}
11) Ազդանշանների աղբյուրները
Prometheus/Alertmanager-ը SLO/RED հիմնական աղբյուրն է։
Grafana Alerting-ը ավելի հեշտ է dashbords/բիզնես մետրիկի համար։
OpenTelemetry/Windows Metrics - latency/error երթուղիներով։
K8s-իրադարձությունները 'պատահականության վթարներ (www.l-plane, PDB խախտումներ)։
BD/Հերթեր - lag/www.ks/repl.ru։
Հավելվածների Webhuks-ը հիբրիդային ազդանշաններ են (PSA-ի սխալ, ֆրոդի աճը)։
12) Քաղաքականություններ և համադրություններ
RBAC-ը քաղաքական, ժամանակացույցների, մյուտերի ստեղծման/փոփոխության համար։
Աուդիտ 'ով ընդունեց/108/փոխեց կարգավիճակը, թայմստեմպները։
PII-նվազեցումը pailoades-ում (ID ticet փոխարեն email/օգտագործողի հեռախոսի փոխարեն)։
DR պլանը 'ինչ ենք անում PagerDuty/Opsgenie (fallback ջրանցք) անհասանելիության դեպքում։
13) Պրակտիկայի օրինակներ (PagerDuty vs Opsgenie)
14) Հանգիստ պատուհաններ և ցրտահարություններ
Freeze 'լանդշաֆտային լանդշաֆտի արգելքը ածխաջրածինների պլանավորված պատուհաններին, թողնելով միայն P1։
Մյութը թեորեմներով '«env = stage», «region = dr», «07 = batch»։
Ժամանակավոր mox 'BD/blutests-ի մասնակցությամբ' ակնհայտ սեփականատիրոջ հետ։
15) Արդյունավետության մետրիկները (MSE/DORA ալտերի համար)
MTTA/MTTR (թիմերի/ծառայությունների կտրվածքում)։
Ալերտների% -ը runbook (նպատակը 95%)։
Page-alerts մասնաբաժինը SLO-ով (նպատակը 3690 տոկոսն է)։
Ratio օգտակար/աղմկոտ (նպատակը 243: 1)։
ավտոմեքենաների% (pause/rollback webhuk) - աճեցնել։
Burn-down postmortem action items 14/30 օրվա ընթացքում։
16) Anti-patterna
Փեյջը «երկաթով» (CPU, սկավառակ) առանց օգտագործողի վրա ազդեցության։
«Group _ by» -ի բացակայությունը ալտերտերի «փոթորիկ» է։
Ոչ մի հանգիստ պատուհաններ չկան, ալգորիթմները ներկում են ամեն ինչ կարմիր։
Pailoade առանց '07/env/runbook "- անհնար է ուղղել/գործել։
Չկա մեկ severity և կանոններ (յուրաքանչյուր աղբյուրը իր ձևով)։
«Հավերժական» նախազգուշացումները, որոնք ոչ ոք չի ընդունում (ալերտ պարտք)։
17) Ներդրման թուղթ (0-45 օր)
0-10 օր
Համակարգել severity-ի մասշտաբը և ստանդարտացնել tegs/անվանումները։
Ստեղծել ծառայություններ PagerDuty/Opsgenie-ում, տեղադրել schedules և հիմնական էսկալացիա։
Կապել Alertmanager/Grafana, ներառել «group _ by» և dedup։
11-25 օր
Ներդրել SLO-alerts (multi-winburn), ավելացնել runbook հղում։
ChatOps 'ավտոկանգառներ, ack/ass.ru թիմեր։
Միացրեք հանգիստ պատուհանները ածխաջրածինների վրա/2019։
26-45 օր
Ինտեգրել Auto-pause/rollback-ը կանացիների համար (webhuki)։
Ներդնել MTTA/MTTR և ալերտ հիգիենան (աղմուկի մաքրություն)։
Ստանդարտացնել հետմորտը և վերահսկել action items-ը։
18) Պատրաստի նիպետներ
Grafana Alerting no PagerDuty (JSON body mapping)
json
{
"routing_key": "${PAGERDUTY_ROUTING_KEY}",
"event_action": "trigger",
"payload": {
"summary": "{{.RuleName }}: {{ index. Labels \"service\" }}",
"severity": "{{ if eq (index. Labels \"severity\") \"critical\" }}critical{{ else }}error{{ end }}",
"source": "grafana",
"component": "{{ index. Labels \"env\" }}",
"group": "{{ index. Labels \"region\" }}"
},
"links": [
{ "href": "{{.DashboardURL }}", "text": "Dashboard" },
{ "href": "{{ index. Labels \"runbook\" }}", "text": "Runbook" }
]
}
Webhook alert-ից Argo Rollouts pause-ը
bash curl -X POST "$ARGO_API/rollouts/pause" \
-H "Authorization: Bearer $TOKEN" \
-d '{"name":"api-gateway","namespace":"prod"}'
Opsgenie - Routing Rule (կեղծ)
yaml if:
tags: ["service:payments","env:prod"]
severity: ["P1","P2"]
then:
route_to: "SRE-Payments"
notify: ["Primary OnCall","Secondary"]
19) Եզրակացություն
Ուժեղ ռոտալերտները + կարգապահության գործընթացն են 'SLO-կողմնորոշված ստրատիֆիկացիա, գրագետ միկրոօրգանիզացիա և էսկալացիա, միասնական թեգեր և պեյլոադներ, հանգիստ պատուհաններ, ChatOps և ավտոմատ գործողություններ (pause/rollback)։ Ընտրեք PagerDuty-ը կամ Opsgenie-ը և UX-ը, բայց պահպանեք աղմուկի, հերթապահության և պատասխանատվության նույն կանոնները, ապա լանդշաֆտը կլինի հազվադեպ, ճշգրիտ և օգտակար, իսկ միջադեպերը կարճ և վերահսկվող։