GH GambleHub

Alerty жана билдирүүлөр: PagerDuty, Opsgenie

Alerty жана билдирүүлөр: PagerDuty, Opsgenie

1) Эмне үчүн өзүнчө платформа alertov

Максаты - керектүү адамга/командага токтоосуз жана тиешелүү сигнал жеткирүү жана окуя процессин баштоо: таануу (ack), эскалация, байланыш, постмортем. PagerDuty жана Opsgenie берет:
  • Тейлөө/тегдер/чөйрөлөр боюнча багыттоо.
  • Эскалация жана расписание (нөөмөт, follow-the-sun).
  • Дедупликация/корреляция.
  • Тынч терезелер (maintenance/freeze) жана мют эрежелери.
  • мониторинг менен бириктирүү, CI/CD жана ChatOps.

Колдоо: SLO-босого → alert → адам/автоматтык → runbook → артка/fix → postmortem.

2) Сигнал модели жана олуттуу (severity)

Сунушталган шкала:
  • critical (page) - SLOнун бузулушу/акча жолунун катасы (депозит/чыгарып кетүү), жеткиликтүүлүктүн төмөндөшү, burn-rate.
  • high (page/тикет) - так SLO тешиги жок олуттуу деградация.
  • medium (тикет) - сыйымдуулугу, бэк деградациясы, ретрациясы.
  • low (маалымат) - тренддер, эскертүүлөр.

Эреже: page SLO же ачык бизнес триггер боюнча гана.

3) багыттоо архитектурасы

1. Булак (Prometheus/Alertmanager, Grafana, булут мониторинг, өз Webhucks).
2. Шлюз (PagerDuty/Opsgenie service/integration).
3. Саясат: тегдер боюнча каттамдар ('service', 'env', 'region'), severity, payload.
4. Эскалация: нөөмөт деңгээл ырааттуулугу (L1 → L2 → менеджер).
5. Байланыш: ChatOps каналдары, статус-беттер, жөнөтүү.

Негизги тегдердин үлгүсү (стандартташтыруу)

'service', 'env', 'region', 'version', 'runbook', 'release _ id', 'route', 'tenant' (эгерде B2B/multi-tenant).

4) On-call тартиби жана эскалация

Schedules: primary/secondary, роли (SRE, DBRE, Sec).
Rotations: күндүзгү/түнкү, күн-күн, дем алыш.
Overrides: эс алуу/оору.
Эскалация: ack-убакыт 5-10 мүнөт → кийинки катмар. Иш сааттары боюнча - профилдик бөлүмгө; - on-call аянтча.

Кеңеш: түнкү кыска эскалация кадамдарын (азыраак чарчоо) жана күндүзү узакка созулган (контексти бар).

5) Alertmanager менен бириктирүү (негизги үлгү)

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) Ызы-чуу, дедуп жана корреляция

Дедуп ачкыч: туруктуу fingerprint (мисалы, service + route + code) колдонуу.
Топ: 'group _ by' кызматы/айлана-чөйрө боюнча, 5xx каскадынын ондогон барактарды пайда кылбашы үчүн.
Мьют/тынч терезелер: миграция/релиздер/жүктөө тесттери учурунда.
Suppression себеби: буга чейин P1 окуясы 'api-gateway @prod' үчүн болсо, туунду P2/P3 басуу.

Анти-үлгү: SLO боюнча тастыкталган таасири жок CPU/Memory боюнча пейдж.

7) Releases жана auto-аракет менен байланыш

PagerDuty/Opsgenie канареялык деплейлерде алар SLO-гейтинен алерт алышат → webhook в CI/CD → pause/rollback (Argo Rollouts/Helm).
Alert камтыйт: 'release _ id', 'image. tag ', pipline шилтеме жана runbook кадам кайра.

Мисал runbook шилтемелер аннотациялар


runbook: https://runbooks. company/rollback/api-gateway#canary

8) ChatOps жана байланыш

Slack/Teams-жылы Auto-түзүү окуя канал, тикет байлап.
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) Paiload пайдалуу талаалар (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 - dashboard/бизнес-метр үчүн жеңил.
OpenTelemetry/SpanMetrics - каттамдар боюнча latency/error.
K8s-окуялар - кырсык кластер (control-plane, PDB бузуулар).
BD/кезек - lag/locks/replication.
Webhook колдонмолор - домендик сигналдар (PSP ката, Frode жарк).

12) Саясат жана комплаенс

RBAC түзүү/саясат өзгөртүү, расписание, музыка.
Аудит: ким тааныган/дайындаган/статусун өзгөрткөн, таймстемптер.
PII-pailoads минималдаштыруу (колдонуучунун электрондук почта/телефон ордуна ID билети).
DR-план: PagerDuty/Opsgenie (fallback канал) жеткиликсиз болгондо эмне кылабыз.

13) Практикалык мисалдар (PagerDuty vs Opsgenie)

МүмкүнчүлүкPagerDutyOpsgenie
Эскалация/расписаниеЖетилген, ийкемдүүЖетилген, ийкемдүү
Окуя ролдору/үлгүлөрүКүчтүү Incident WorkflowsIncident Templates/Stakeholders
Авто каналдар/коммсЖакшы интеграцияDeep Slack/MS Teams
Баа түзүү/лицензияларКөбүнчө кымбатыраак, көптөгөн кошумчаларАдатта башында арзан
Тегдер боюнча багыттооКүчтүү (Service Directory)Күчтүү (Routing Rules)
Эки платформа бирдей сценарийлердин 95% жабат; наркы, UX жана жыйнагын бириктирүү боюнча тандоо.

14) Тынч терезелер жана үшүк

Freeze: P1 гана калтырып, пландаштырылган чыгаруу терезелерде пейджинг тыюу.
'env = stage', 'region = dr', 'service = batch' деп аталат.
Убактылуу mute: DD/stresstestah көчүп жатканда - ачык ээси менен.

15) натыйжалуулугун Метрика (SRE/DORA Алерт үчүн)

MTTA/MTTR (командалар/кызматтар/сменалар боюнча).
runbook менен Алерт% (максаты ≥ 95%).
SLO боюнча page-алерттердин үлүшү (максаты ≥ 90%).
Ratio пайдалуу/ызы-чуу (максаты ≥ 3:1).
% autosports (веб-хук аркылуу pause/rollback) - өстүрүү.
14/30 күндүн ичинде Burn-down postmortem action items.

16) Анти-үлгүлөрү

"Темир" боюнча Пейдж (CPU, диск) колдонуучуга таасир этпейт.
Жок 'group _ by' → "бороон" alertov.
Тынч терезелер жок - релиздер баарын кызыл менен боёйт.
Pailoads жок 'service/env/runbook' - багыттоо/иш-аракет кылуу мүмкүн эмес.
severity жана эрежелердин бирдиктүү шкаласы жок (ар бир булак - өз жолу менен).
Эч ким оңдобогон "түбөлүк" эскертүүлөр (алерт-карыз).

17) киргизүү чек-тизмеси (0-45 күн)

0-10 күн

Сүйүү шкаласын макулдашуу жана тегтерди/аннотацияларды стандартташтыруу.
PagerDuty/Opsgenie кызматтарын түзүү, schedules жана негизги эскалацияларды орнотуу.
Alertmanager/Grafana байлап, 'group _ by' жана дедуп кирет.

11-25 күн

SLO-Алерт (multi-window burn) киргизүү, runbook шилтемелерди кошуу.
ChatOps орнотуу: Автомагистралдар, ack/assign буйруктары.
бошотуу/көчүрүү боюнча тынч терезелерди күйгүзүү.

26-45 күн

кошуу auto-pause/rollback үчүн канарейка (Webhuke).
MTTA/MTTR жана allert гигиена отчетторун киргизүү (ызы-чуу тазалоо).
Стандартташтыруу postmortem жана контролдоо action items.

18) Даяр сниппеттер

Grafana Alerting → 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 from 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 багытталган стратификация, компетенттүү багыттоо жана эскалация, бирдиктүү теги жана pailoads, тынч терезелер, ChatOps жана автоматтык аракеттер (пауза/rollback). Бюджет жана UX боюнча PagerDuty же Opsgenie тандоо, бирок ошол эле ызы-чуу, милдети жана жоопкерчилик эрежелерин кармануу - анда пейдж сейрек, так жана пайдалуу болот, ал эми окуялар - кыска жана башкарылуучу.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Telegram
@Gamble_GC
Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.