Gửi một cảnh báo thử đến Resolve, xem Pulse nhóm cảnh báo thành cluster, rồi mở sự cố cùng phân tích nguyên nhân gốc.
Trong khoảng 10 phút, bạn tạo một endpoint nhận cảnh báo, gửi cảnh báo thử bằng curl, và theo dõi cảnh báo đó từ Pulse đến sự cố và phân tích nguyên nhân gốc (RCA). Bạn không cần công cụ giám sát nào: một Custom source nhận bất kỳ JSON nào bạn POST đến.
Nhấn Resolve trong thanh bên. Trên workspace chưa có nguồn nào, bạn thấy Connect your first alert source. Nhấn Skip for now. Trình hướng dẫn sau Connect a source yêu cầu bạn gõ đường dẫn trường, còn Custom source trong Integrations ghi lại payload thử để bạn nhấn chọn trường.
2
Thêm Custom source
Vào Resolve → Integrations và chọn Custom source. Trong bảng của Custom source, ở Signals to Resolve, nhấn Add signal.
Resolve Integrations: các nền tảng được nhóm theo mức sẵn sàng, Needs attention trước
3
Đặt tên
Nhập Source name, ví dụ quickstart-test, và nhấn Create endpoint.Trạng thái thành công: hộp thoại hiển thị Webhook URL và Secret Key, rồi báo Waiting for the first payload.
4
Sao chép URL và Secret Key
Sao chép cả hai vào một tệp nháp. Secret Key chỉ hiển thị tại đây. Nếu làm mất key, xem Khắc phục sự cố.
Giữ hộp thoại mở và chạy lệnh sau từ terminal. Thay hai placeholder bằng giá trị bạn đã sao chép.
curl -X POST "<your-webhook-url>" \ -H "Authorization: Bearer <your-secret-key>" \ -H "Content-Type: application/json" \ -d '{ "title": "Checkout API 5xx rate above 5%", "severity": "critical", "service": "checkout-api", "resource": "checkout-api-prod", "description": "Test alert from the Resolve quickstart" }'
Trạng thái thành công:curl trả về trạng thái 2xx với body JSON có "success": true. Hộp thoại tự kiểm tra payload và chuyển sang Payload received. Nếu không, nhấn Check again cạnh thông báo đang chờ.severity nhận critical, high, medium, low hoặc info, không phân biệt hoa thường, nên Critical cũng được. Mọi giá trị khác sẽ thành medium trừ khi bạn thêm ánh xạ mức độ nghiêm trọng.
1
Ánh xạ trường
Khi hộp thoại hiển thị Payload received, nhấn Map the fields. Với mỗi đích, nhấn vào trường tương ứng trong JSON đã ghi lại:
Đích
Chọn
Incident title (bắt buộc)
title
Severity
severity
Service
service
Resource
resource
Description
description
Nhấn Save mapping.
2
Gửi cảnh báo thêm hai lần, cách nhau một phút
Chạy lại lệnh curl, chờ ít nhất một phút, rồi chạy lần thứ ba. Các lần gửi lặp lại sẽ gia nhập cluster của signal đầu tiên thay vì tạo việc mới, vì có cùng tiêu đề và service. Payload không có resource_id, nên tiêu đề và service là yếu tố nhóm chúng ở đây. Cluster có quy tắc đầy đủ.Mỗi lần gửi vượt qua bộ lọc trở thành một signal, kể cả lần đầu. Payload không có trường timestamp ở cấp cao nhất, nên Pulse dùng thời điểm nhận mỗi lần gửi. Lần gửi giống hệt lần trước trong cùng một phút sẽ bị loại vì trùng lặp, đó là lý do bạn phải chờ. Bạn sẽ thấy hai hoặc ba signal, tùy hai lần gửi đầu có rơi vào cùng phút hay không.
Pulse là lớp phát hiện của Resolve. Signal là một event đã vượt qua bộ lọc nhiễu, còn cluster là một nhóm signal liên quan mà Pulse coi là một vấn đề.
1
Mở Pulse
Vào Resolve → Pulse.Trạng thái thành công: một cluster tiêu đề Checkout API 5xx rate above 5% với ít nhất hai signal, trong làn Active. Nếu cluster nằm ở Forming với một signal, các lần lặp quá sát nhau: chờ một phút và gửi lại.Đã ở Routed? On duty được bật trên workspace mới, nên phân loại đã tự nhận cluster. Chuyển đến Mở cuộc điều tra.
2
Chuyển cho phân loại
Nhấn vào cluster, rồi Escalate → Send to triage. CloudThinker đọc cluster rồi khớp cluster với một sự cố đang mở, mở sự cố mới, hoặc quyết định không cần sự cố.Trạng thái thành công: phân loại chạy và xử lý cluster. Cluster chuyển sang làn Routed khi phân loại liên kết cluster với một sự cố đang mở. Nếu phân loại quyết định cluster không cần sự cố, cluster vẫn ở Active (xem ghi chú bên dưới).
Với một cảnh báo giả lập, cả hai kết quả phân loại đều bình thường. Cảnh báo thử về một service mà CloudThinker không tìm thấy trong các kết nối của bạn có thể bị đánh giá là không cần hành động, nên không có sự cố nào được mở và cluster không chuyển sang Routed. Đó không phải lỗi của bạn: hãy ghi nhận sự cố thủ công ở bước tiếp theo. Để tăng khả năng mở sự cố, thay checkout-api bằng tên một service thực từ tài khoản đã kết nối.
Vào Resolve → Investigation. Nếu phân loại đã mở sự cố, sự cố nằm trong hàng đợi, ở AI is handling khi RCA đang chạy. Hàng hiển thị Investigating cho đến khi có kết quả.Không có sự cố? Nhấn Log Incident. Nhập tiêu đề cảnh báo vào What’s happening?, đặt Severity là Critical và lưu. Sự cố được ghi nhận thủ công bắt đầu điều tra ngay khi bạn lưu, kể cả khi On duty đang Paused. Xem Ghi nhận sự cố để biết các trường khác.
2
Bắt đầu RCA nếu chưa bắt đầu
RCA tự bắt đầu khi phân loại mở sự cố từ Pulse, và sự cố ghi nhận thủ công bắt đầu RCA ngay khi bạn lưu. Nếu sự cố nằm ở Not started, mở sự cố và nhấn Investigate. Điều gì bắt đầu một cuộc điều tra có quy tắc đầy đủ.
3
Đọc kết quả
Mở sự cố. CloudThinker hiển thị kết luận, độ tin cậy, bằng chứng đã đọc, dòng thời gian và đề xuất khắc phục.Trạng thái thành công: sự cố rời AI is handling. Với một kết nối bao phủ cảnh báo, sự cố chuyển đến Needs your decision và hàng thường hiển thị Cause found. Khi không có kết nối, bạn sẽ thấy một trong hai kết quả:
Sự cố chuyển đến Needs your decision với Investigation complete, và kết quả cho biết CloudThinker không xác minh được nguyên nhân.
Trạng thái trở thành Not Found, vì bằng chứng không hỗ trợ một nguyên nhân gốc. Sự cố Not Found rời khỏi hàng đợi, nên hãy sao chép URL của sự cố từ trình duyệt trước khi rời trang. Xem Kết quả điều tra.
Kết quả không có nguyên nhân được xác minh là câu trả lời trung thực cho một cảnh báo giả lập. Kết nối hệ thống mà cảnh báo đề cập, và cùng quy trình này sẽ cho ra nguyên nhân gốc thực sự.
Nguồn thử tiếp tục nhận cảnh báo cho đến khi bạn xóa nguồn.
Đóng sự cố thử để sự cố không nằm mãi trong hàng đợi. Mở sự cố từ Resolve → Investigation, nhấn huy hiệu trạng thái trong header của sự cố, chọn False Alarm và nhấn Change Status.
Trong Resolve → Pulse, mở cluster thử và nhấn Resolve. Nút hiển thị khi không còn sự cố đang mở nào giữ cluster. Nếu để nguyên, cluster tự đóng sau 12 giờ không có signal mới.
Vào Resolve → Integrations → Custom source, mở menu ⋯ của hàng quickstart-test và nhấn Delete.
Kiểm tra trạng thái mà curl trả về, rồi nhấn Check again.
Trạng thái
Nguyên nhân thường gặp
401
Thiếu header Authorization, hoặc URL không phải Webhook URL hiện tại (gõ sai, bị cắt ngắn, hoặc đã bị thay bởi Regenerate credentials). Kiểm tra header và dán lại toàn bộ URL.
403
Secret Key sai, hoặc header không có dạng Bearer <secret-key>. Dán lại key.
422
Body không phải đối tượng JSON: JSON không hợp lệ, một mảng hoặc một giá trị đơn.
429
Quá nhiều yêu cầu, hoặc quá nhiều lần xác thực thất bại trong thời gian ngắn. Chờ rồi thử lại.
Nếu hộp thoại báo đã có event đến nhưng không đọc được trường nào từ body, lần gửi đã được chấp nhận nhưng các trường vẫn chưa ánh xạ được. Gửi lại payload mẫu ở trên, rồi nhấn Check again.
Tôi làm mất Secret Key
Key không hiển thị lại. Trên thẻ Custom source, mở menu ⋯ của hàng nguồn và nhấn Regenerate credentials. Thao tác này thay cả Webhook URL và Secret Key, và cặp cũ ngừng hoạt động ngay lập tức, nên hãy cập nhật URL và key ở mọi nơi đang gửi đến.
Không có gì hiển thị trong Pulse
Chuyển sang làn All và mở rộng khoảng thời gian. Sau đó kiểm tra phễu ở đầu Resolve → Pulse: nếu số event thô tăng nhưng không có cluster nào xuất hiện, bộ lọc đã loại event, thường nhất là bản trùng lặp gửi trong cùng phút. Đổi title và gửi lại.
Không thấy Escalate
Escalate chỉ hiển thị trên cluster Forming hoặc Active chưa được định tuyến. Nếu cluster đã ở Routed, phân loại đã nhận cluster: mở sự cố từ Resolve → Investigation.
Công cụ của bạn:Kết nối nguồn cảnh báo đối chiếu công cụ đang gửi cảnh báo của bạn với webhook, nguồn polling hoặc kênh chat.Hướng dẫn chi tiết: xem cùng quy trình này trên một sự cố production thực trong Điều tra sự cố checkout từ đầu đến cuối.
Kết nối nguồn thực
Trỏ cảnh báo Datadog, Grafana, PagerDuty hoặc CloudWatch đến Resolve, và theo dõi các kênh Slack nơi mọi người báo cáo sự cố.
Đọc một cuộc điều tra
Ý nghĩa của kết luận, độ tin cậy và hàng đợi khắc phục.
Thiết lập On-call
Đưa người phản hồi vào Incident Room khi sự cố cần con người.
Tham chiếu Custom source
Đường dẫn trường, xác thực và thay đổi ánh xạ sau này.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"CloudThinker","colors":{"primary":"#0c93c0","light":"#2897c1","dark":"#0c93c0"},"logo":{"light":"https://mintcdn.com/cloudthinker/-4m9DUjwzDxHfABz/logo/light.svg?fit=max\u0026auto=format\u0026n=-4m9DUjwzDxHfABz\u0026q=85\u0026s=a56a571509d1cd246f5b0e68db015e5f","dark":"https://mintcdn.com/cloudthinker/-4m9DUjwzDxHfABz/logo/dark.svg?fit=max\u0026auto=format\u0026n=-4m9DUjwzDxHfABz\u0026q=85\u0026s=4252f33496bbaa527e5408338963a31e"},"favicon":"https://mintcdn.com/cloudthinker/PoYnb4baZ54aMMQW/favicon.ico?fit=max\u0026auto=format\u0026n=PoYnb4baZ54aMMQW\u0026q=85\u0026s=6570e99ed2a763d9632c8f933fe9c164","background":{"color":{"light":"#eef0f3","dark":"#000000"}},"navbar":{"links":[{"href":"https://discord.com/invite/sRBWRWtaNR","label":"Community"},{"href":"https://cloudthinker.io/blogs","label":"Blog"},{"href":"https://cloudthinker.io/contact","label":"Contact us"}],"primary":{"type":"button","label":"Open app","href":"https://app.cloudthinker.io"}},"footer":{"socials":{"x":"https://x.com/cloudthinkerio?s=21","linkedin":"https://www.linkedin.com/company/cloud-thinker","github":"https://github.com/cloudthinker-ai","discord":"https://discord.com/invite/sRBWRWtaNR","youtube":"https://www.youtube.com/@cloudthinkerai"}},"seo":{"indexing":"navigable"},"fonts":{"family":"Poppins"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"metadata":{"timestamp":false},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":""},{"language":"vi","href":"vi"},{"language":"ja","href":"ja"},{"language":"ko","href":"ko"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cloudthinker","hasAudioNarration":false,"actualSubdomain":"cloudthinker","customDomains":["docs.cloudthinker.io"],"gitSource":{"type":"github","owner":"nhat-tranvan","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae15a4fd86e510dddaf7235","collectionId":"4bee09ef-014a-46f1-a560-f2d4cfb62382","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae15a4fd86e510dddaf7235"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{},"buildId":"6ae15a4fd86e510dddaf7235","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"vi","tag":"Nền tảng","count":131},{"language":"vi","tag":"Kết nối","count":101},{"language":"default","tag":"Platform","count":67},{"language":"en","tag":"Platform","count":63},{"language":"ja","tag":"プラットフォーム","count":63},{"language":"ko","tag":"플랫폼","count":63},{"language":"vi","tag":"Sản phẩm","count":55},{"language":"default","tag":"Connections","count":52},{"language":"en","tag":"Connections","count":49},{"language":"ja","tag":"接続","count":48},{"language":"ko","tag":"연결","count":48},{"language":"vi","tag":"Tài nguyên","count":39},{"language":"vi","tag":"Học","count":30},{"language":"en","tag":"Products","count":29},{"language":"ja","tag":"プロダクト","count":29},{"language":"ko","tag":"제품","count":29},{"language":"default","tag":"Products","count":26},{"language":"default","tag":"Resources","count":26},{"language":"vi","tag":"Bắt đầu","count":26},{"language":"vi","tag":"Observability \u0026 Monitoring","count":24},{"language":"vi","tag":"Resolve","count":20},{"language":"default","tag":"Learn","count":18},{"language":"default","tag":"Agentic Infrastructure Operations - Engineer Edition","count":18},{"language":"vi","tag":"Agentic Infrastructure Operations - Engineer Edition","count":18},{"language":"vi","tag":"Databases","count":16},{"language":"en","tag":"Get started","count":15},{"language":"ja","tag":"はじめに","count":15},{"language":"ko","tag":"시작하기","count":15},{"language":"en","tag":"Resources","count":13},{"language":"ja","tag":"リソース","count":13},{"language":"ko","tag":"리소스","count":13},{"language":"en","tag":"Monitoring","count":12},{"language":"en","tag":"Learn","count":12},{"language":"en","tag":"Agentic Infrastructure Operations - Leadership Edition","count":12},{"language":"ja","tag":"Observability \u0026 Monitoring","count":12},{"language":"ja","tag":"学ぶ","count":12},{"language":"ja","tag":"Agentic Infrastructure Operations - Leadership Edition","count":12},{"language":"ko","tag":"Observability \u0026 Monitoring","count":12},{"language":"ko","tag":"배우기","count":12},{"language":"ko","tag":"Agentic Infrastructure Operations - Leadership Edition","count":12},{"language":"default","tag":"Get started","count":11},{"language":"en","tag":"Resolve","count":11},{"language":"ja","tag":"Resolve","count":11},{"language":"ko","tag":"Resolve","count":11},{"language":"default","tag":"Resolve","count":9},{"language":"en","tag":"Enterprise","count":9},{"language":"ja","tag":"Databases","count":8},{"language":"ko","tag":"Databases","count":8},{"language":"default","tag":"Review","count":6},{"language":"default","tag":"Set up","count":6}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":".ct-landing a,a.ct-featured{text-decoration:none!important}a.ct-featured{display:block;margin:1.25rem 0 1rem;padding:1.75rem 1.75rem 1.5rem;border:1px solid rgba(12,147,192,.45)!important;border-radius:16px;background:radial-gradient(120% 160% at 0 0,rgba(12,147,192,.14),transparent 55%),#fff;box-shadow:0 12px 32px -16px rgba(12,147,192,.45);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}a.ct-featured:hover{border-color:#0c93c0!important;transform:translateY(-1px);box-shadow:0 16px 40px -16px rgba(12,147,192,.6)}.dark a.ct-featured{border-color:rgba(40,151,193,.45)!important;background:radial-gradient(120% 160% at 0 0,rgba(40,151,193,.16),transparent 55%),#05070a;box-shadow:0 12px 32px -16px rgba(40,151,193,.35)}.dark a.ct-featured:hover{border-color:#2897c1!important}.ct-featured-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.875rem}.ct-featured-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:999px;background:rgba(12,147,192,.12);color:#0a7aa0}.dark .ct-featured-icon{background:rgba(40,151,193,.14);color:#5bb8e0}.ct-eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#0a7aa0}.dark .ct-eyebrow{color:#5bb8e0}.ct-hero h1,.ct-title{font-weight:600;color:#0b1a2b}.ct-title{font-size:1.375rem;line-height:1.3}.dark .ct-card .ct-card-head span,.dark .ct-card h3,.dark .ct-hero h1,.dark .ct-section>h2,.dark .ct-step h3,.dark .ct-title{color:#f5f5f7}.ct-body{margin:.5rem 0 0!important;font-weight:400!important;font-size:1rem;max-width:46rem;color:#5b6577;line-height:1.6}.dark .ct-body,.dark .ct-hero .ct-promise,.dark .ct-hero p.ct-lead,.dark .ct-section>p.ct-section-lead{color:#a1a1a6}.ct-cta{display:inline-block;margin-top:1rem;font-weight:600;color:#0a7aa0}.dark .ct-cta{color:#5bb8e0}.ct-illustration{margin:1.5rem 0}.ct-illustration img{max-width:720px;margin:0 auto}.ct-iso-scene{margin:1.5rem 0 2rem;border:1px solid rgba(12,147,192,.18);border-radius:16px;background:#fff;overflow:hidden}.dark .ct-iso-scene{border-color:rgba(40,151,193,.22);background:#000}.ct-illustration img,.ct-iso-scene .ct-iso-svg{display:block;width:100%;height:auto}.ct-landing{max-width:1120px;margin:0 auto;padding:3rem 1.5rem 5rem}.ct-landing a{border-bottom-width:0}.ct-kicker{font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#0c93c0}.dark .ct-card .ct-tagline,.dark .ct-hero .ct-promise strong,.dark .ct-kicker{color:#2897c1}.ct-hero{text-align:center;padding:1.5rem 0 1rem}.ct-hero h1{margin:.75rem 0 0;font-size:clamp(2.25rem,5vw,3.75rem);line-height:1.05;letter-spacing:-.03em;-webkit-text-fill-color:currentColor;background:0 0}.ct-hero .ct-promise{margin:1rem auto 0;font-size:clamp(1.125rem,2.2vw,1.5rem);color:#5b6577}.ct-hero .ct-promise strong,.ct-section>h2{color:#0c93c0;font-weight:600}.ct-hero p.ct-lead{max-width:44rem;margin:1rem auto 0;font-size:1.0625rem;line-height:1.65;color:#5b6577}.ct-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.75rem}.ct-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:999px;font-weight:600;font-size:.95rem;transition:transform .15s ease,background .15s ease}.ct-btn:hover{transform:translateY(-1px)}.ct-btn-primary{background:#0c93c0;color:#fff!important}.ct-btn-primary:hover{background:#0a7aa0}.ct-btn-ghost{border:1px solid rgba(12,147,192,.35)!important;color:#0b1a2b!important}.dark .ct-btn-ghost{color:#f5f5f7!important;border-color:rgba(40,151,193,.4)!important}.ct-landing .ct-iso-scene{margin-top:2.5rem}.ct-section{margin-top:4.5rem}.ct-section>h2{margin:.4rem 0 0;font-size:1.75rem;letter-spacing:-.02em;color:#0b1a2b;-webkit-text-fill-color:currentColor;background:0 0}.ct-section>p.ct-section-lead{margin:.5rem 0 0;color:#5b6577;max-width:46rem}.ct-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.ct-step{display:block;padding:1.25rem;border-radius:14px;border:1px solid rgba(12,147,192,.18)!important;background:#fff;transition:border-color .15s ease,transform .15s ease}.dark .ct-step{background:#05070a;border-color:rgba(40,151,193,.22)!important}.ct-step:hover{border-color:#0c93c0!important;transform:translateY(-1px)}.ct-step-num{display:inline-flex;width:1.75rem;height:1.75rem;border-radius:999px;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff;background:#0c93c0}.ct-card h3,.ct-step h3{margin:.75rem 0 .25rem;font-size:1.05rem}.ct-card p,.ct-step p{margin:0;font-size:.925rem;line-height:1.55;color:#5b6577}.dark .ct-card p,.dark .ct-landing td,.dark .ct-step p{color:#a1a1a6}.ct-grid{display:grid;gap:1rem;margin-top:1.5rem}.ct-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ct-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.ct-card{display:flex;flex-direction:column;padding:1.25rem;border-radius:14px;border:1px solid rgba(12,147,192,.18);background:#fff}.dark .ct-card{background:#05070a;border-color:rgba(40,151,193,.22)}.ct-card .ct-card-head{display:flex;align-items:center;gap:.6rem}.ct-card .ct-card-head span,.ct-card h3,.ct-step h3{font-weight:600;color:#0b1a2b}.ct-card .ct-tagline{margin-top:.75rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:#0c93c0}.ct-card .ct-links{margin-top:auto;padding-top:1rem;display:flex;gap:1rem;font-size:.9rem;font-weight:600}.ct-card .ct-links a{color:#0c93c0!important}.dark .ct-card .ct-links a,.dark .ct-card-head .ct-arrow,.dark .ct-landing td a{color:#2897c1!important}a.ct-card{transition:border-color .15s ease,transform .15s ease}a.ct-card:hover{border-color:#0c93c0!important;transform:translateY(-1px)}.ct-strip{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}.ct-strip a{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;border-radius:999px;border:1px solid rgba(12,147,192,.25)!important;font-size:.9rem;font-weight:500;color:#0b1a2b!important}.dark .ct-strip a{color:#f5f5f7!important;border-color:rgba(40,151,193,.3)!important}.ct-strip a:hover{border-color:#0c93c0!important}@media (max-width:900px){.ct-grid-3,.ct-grid-5,.ct-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.ct-landing{padding:2rem 1rem 4rem}.ct-grid-3,.ct-grid-5,.ct-steps{grid-template-columns:minmax(0,1fr)}}.ct-landing table{width:100%;margin-top:1.25rem;border-collapse:collapse;font-size:.925rem}.ct-landing th{text-align:left;font-weight:600;padding:.7rem .9rem;border-bottom:1px solid rgba(12,147,192,.3)}.ct-landing td{vertical-align:top;padding:.8rem .9rem;border-bottom:1px solid rgba(12,147,192,.12);color:#5b6577;line-height:1.55}.ct-landing td:first-child{font-weight:600;color:#0b1a2b;width:22%}.dark .ct-landing td:first-child{color:#f5f5f7}.ct-landing td a{color:#0c93c0!important;font-weight:600}.ct-product{padding:1.1rem 1.2rem}.ct-product .ct-tagline{margin-top:.55rem;font-size:1rem}.ct-product p{margin-top:.3rem}.ct-card-head .ct-arrow{margin-left:auto;font-weight:500!important;color:#0c93c0!important;transition:transform .15s ease}a.ct-product:hover .ct-arrow{transform:translateX(3px)}html:not(.dark) .ct-card,html:not(.dark) .ct-iso-scene,html:not(.dark) .ct-step{background:#f6f7f9}html:not(.dark) .ct-iso-scene{border-color:rgba(12,147,192,.12)}html:not(.dark) #content-area,html:not(.dark) .prose,html:not(.dark) body{color:#2b3240}html:not(.dark) .prose :where(h1, h2, h3, h4, strong){color:#1c2230}html:not(.dark) .ct-card .ct-card-head span,html:not(.dark) .ct-card h3,html:not(.dark) .ct-hero h1,html:not(.dark) .ct-section>h2,html:not(.dark) .ct-step h3{color:#1c2230}"}],"page":{"pagePath":"vi/guide/incident/quickstart","slug":"/vi/guide/incident/quickstart","pageMetadata":{"title":"Bắt đầu nhanh với Resolve","description":"Gửi một cảnh báo thử đến Resolve, xem Pulse nhóm cảnh báo thành cluster, rồi mở sự cố cùng phân tích nguyên nhân gốc.","icon":"rocket","href":"/vi/guide/incident/quickstart"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Gửi một cảnh báo thử đến Resolve, xem Pulse nhóm cảnh báo thành cluster, rồi mở sự cố cùng phân tích nguyên nhân gốc.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,CodeBlock,Frame,Heading,Note,OptimizedImage,Step,Steps,Table}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Trong khoảng 10 phút, bạn tạo một endpoint nhận cảnh báo, gửi cảnh báo thử bằng `,_jsx(_components.code,{children:`curl`}),`, và theo dõi cảnh báo đó từ Pulse đến sự cố và phân tích nguyên nhân gốc (RCA). Bạn không cần công cụ giám sát nào: một Custom source nhận bất kỳ JSON nào bạn POST đến.`]}),`\n`,_jsx(Heading,{level:`2`,id:`điều-kiện-tiên-quyết`,children:`Điều kiện tiên quyết`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Vai trò workspace `,_jsx(_components.strong,{children:`Admin`}),`. Developer và Viewer thấy được `,_jsx(_components.strong,{children:`Resolve → Integrations`}),` nhưng không thể thêm signal. Xem `,_jsx(_components.a,{href:`/vi/guide/security/roles`,children:`Vai trò`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Một terminal có `,_jsx(_components.code,{children:`curl`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Tùy chọn, để có RCA có ý nghĩa: ít nhất một `,_jsx(_components.a,{href:`/vi/guide/connections/overview`,children:`kết nối`}),` cloud hoặc observability, để CloudThinker có thứ để điều tra.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`tạo-endpoint-nhận-cảnh-báo`,children:`Tạo endpoint nhận cảnh báo`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Mở Resolve`,children:_jsxs(_components.p,{children:[`Nhấn `,_jsx(_components.strong,{children:`Resolve`}),` trong thanh bên. Trên workspace chưa có nguồn nào, bạn thấy `,_jsx(_components.strong,{children:`Connect your first alert source`}),`. Nhấn `,_jsx(_components.strong,{children:`Skip for now`}),`. Trình hướng dẫn sau `,_jsx(_components.strong,{children:`Connect a source`}),` yêu cầu bạn gõ đường dẫn trường, còn `,_jsx(_components.strong,{children:`Custom source`}),` trong Integrations ghi lại payload thử để bạn nhấn chọn trường.`]})}),_jsxs(Step,{title:`Thêm Custom source`,children:[_jsxs(_components.p,{children:[`Vào `,_jsx(_components.strong,{children:`Resolve → Integrations`}),` và chọn `,_jsx(_components.strong,{children:`Custom source`}),`. Trong bảng của Custom source, ở `,_jsx(_components.strong,{children:`Signals to Resolve`}),`, nhấn `,_jsx(_components.strong,{children:`Add signal`}),`.`]}),_jsx(Frame,{caption:`Resolve Integrations: các nền tảng được nhóm theo mức sẵn sàng, Needs attention trước`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/cloudthinker/7N5Axt6gSxkmeWiW/images/v2/resolve-integrations.webp?fit=max\u0026auto=format\u0026n=7N5Axt6gSxkmeWiW\u0026q=85\u0026s=0d3985f064960e0c8b5474323648bfed`,alt:`Trang Resolve Integrations với các nền tảng được nhóm theo mức sẵn sàng và ô tìm kiếm`,\"data-og-width\":`2176`,width:`2176`,\"data-og-height\":`1796`,height:`1796`,\"data-path\":`images/v2/resolve-integrations.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/cloudthinker/7N5Axt6gSxkmeWiW/images/v2/resolve-integrations.webp?w=280\u0026fit=max\u0026auto=format\u0026n=7N5Axt6gSxkmeWiW\u0026q=85\u0026s=46509fa3688a3ad60a32207fcf3219f3 280w, https://mintcdn.com/cloudthinker/7N5Axt6gSxkmeWiW/images/v2/resolve-integrations.webp?w=560\u0026fit=max\u0026auto=format\u0026n=7N5Axt6gSxkmeWiW\u0026q=85\u0026s=545ea76b28f76d58a27ad78fb0317a5c 560w, https://mintcdn.com/cloudthinker/7N5Axt6gSxkmeWiW/images/v2/resolve-integrations.webp?w=840\u0026fit=max\u0026auto=format\u0026n=7N5Axt6gSxkmeWiW\u0026q=85\u0026s=dd1b491a4f068f962207030da72dc9b7 840w, https://mintcdn.com/cloudthinker/7N5Axt6gSxkmeWiW/images/v2/resolve-integrations.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=7N5Axt6gSxkmeWiW\u0026q=85\u0026s=6ad494f1bbe2fe16b9fa0ec3ad5657a7 1100w, https://mintcdn.com/cloudthinker/7N5Axt6gSxkmeWiW/images/v2/resolve-integrations.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=7N5Axt6gSxkmeWiW\u0026q=85\u0026s=1e17d64ce66f430a3555a5a83f94a745 1650w, https://mintcdn.com/cloudthinker/7N5Axt6gSxkmeWiW/images/v2/resolve-integrations.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=7N5Axt6gSxkmeWiW\u0026q=85\u0026s=6db3b2ffcf5796035a1bdd29a4d65f9f 2500w`})})]}),_jsxs(Step,{title:`Đặt tên`,children:[_jsxs(_components.p,{children:[`Nhập `,_jsx(_components.strong,{children:`Source name`}),`, ví dụ `,_jsx(_components.code,{children:`quickstart-test`}),`, và nhấn `,_jsx(_components.strong,{children:`Create endpoint`}),`.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Trạng thái thành công:`}),` hộp thoại hiển thị `,_jsx(_components.strong,{children:`Webhook URL`}),` và `,_jsx(_components.strong,{children:`Secret Key`}),`, rồi báo `,_jsx(_components.strong,{children:`Waiting for the first payload`}),`.`]})]}),_jsx(Step,{title:`Sao chép URL và Secret Key`,children:_jsxs(_components.p,{children:[`Sao chép cả hai vào một tệp nháp. `,_jsx(_components.strong,{children:`Secret Key`}),` chỉ hiển thị tại đây. Nếu làm mất key, xem `,_jsx(_components.a,{href:`#kh%E1%BA%AFc-ph%E1%BB%A5c-s%E1%BB%B1-c%E1%BB%91`,children:`Khắc phục sự cố`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`gửi-cảnh-báo-thử`,children:`Gửi cảnh báo thử`}),`\n`,_jsx(_components.p,{children:`Giữ hộp thoại mở và chạy lệnh sau từ terminal. Thay hai placeholder bằng giá trị bạn đã sao chép.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003cyour-webhook-url>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer \u003cyour-secret-key>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"title\": \"Checkout API 5xx rate above 5%\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"severity\": \"critical\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"service\": \"checkout-api\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"resource\": \"checkout-api-prod\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\": \"Test alert from the Resolve quickstart\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Trạng thái thành công:`}),` `,_jsx(_components.code,{children:`curl`}),` trả về trạng thái `,_jsx(_components.code,{children:`2xx`}),` với body JSON có `,_jsx(_components.code,{children:`\"success\": true`}),`. Hộp thoại tự kiểm tra payload và chuyển sang `,_jsx(_components.strong,{children:`Payload received`}),`. Nếu không, nhấn `,_jsx(_components.strong,{children:`Check again`}),` cạnh thông báo đang chờ.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`severity`}),` nhận `,_jsx(_components.code,{children:`critical`}),`, `,_jsx(_components.code,{children:`high`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`low`}),` hoặc `,_jsx(_components.code,{children:`info`}),`, không phân biệt hoa thường, nên `,_jsx(_components.code,{children:`Critical`}),` cũng được. Mọi giá trị khác sẽ thành `,_jsx(_components.code,{children:`medium`}),` trừ khi bạn thêm `,_jsx(_components.a,{href:`/vi/guide/incident/webhook-integrations/custom-source`,children:`ánh xạ mức độ nghiêm trọng`}),`.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Ánh xạ trường`,children:[_jsxs(_components.p,{children:[`Khi hộp thoại hiển thị `,_jsx(_components.strong,{children:`Payload received`}),`, nhấn `,_jsx(_components.strong,{children:`Map the fields`}),`. Với mỗi đích, nhấn vào trường tương ứng trong JSON đã ghi lại:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Đích`}),_jsx(_components.th,{children:`Chọn`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Incident title`}),` (bắt buộc)`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`title`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Severity`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`severity`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Service`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`service`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Resource`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`resource`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Description`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`description`})})]})]})]}),_jsxs(_components.p,{children:[`Nhấn `,_jsx(_components.strong,{children:`Save mapping`}),`.`]})]}),_jsxs(Step,{title:`Gửi cảnh báo thêm hai lần, cách nhau một phút`,children:[_jsxs(_components.p,{children:[`Chạy lại lệnh `,_jsx(_components.code,{children:`curl`}),`, chờ ít nhất một phút, rồi chạy lần thứ ba. Các lần gửi lặp lại sẽ gia nhập cluster của signal đầu tiên thay vì tạo việc mới, vì có cùng tiêu đề và service. Payload không có `,_jsx(_components.code,{children:`resource_id`}),`, nên tiêu đề và service là yếu tố nhóm chúng ở đây. `,_jsx(_components.a,{href:`/vi/guide/pulse/clusters#t%C3%ADn-hi%E1%BB%87u-gia-nh%E1%BA%ADp-cluster-nh%C6%B0-th%E1%BA%BF-n%C3%A0o`,children:`Cluster`}),` có quy tắc đầy đủ.`]}),_jsxs(_components.p,{children:[`Mỗi lần gửi vượt qua bộ lọc trở thành một signal, kể cả lần đầu. Payload không có trường `,_jsx(_components.code,{children:`timestamp`}),` ở cấp cao nhất, nên Pulse dùng thời điểm nhận mỗi lần gửi. Lần gửi giống hệt lần trước trong cùng một phút sẽ bị loại vì trùng lặp, đó là lý do bạn phải chờ. Bạn sẽ thấy hai hoặc ba signal, tùy hai lần gửi đầu có rơi vào cùng phút hay không.`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`xem-pulse-nhóm-cảnh-báo-thành-cluster`,children:`Xem Pulse nhóm cảnh báo thành cluster`}),`\n`,_jsxs(_components.p,{children:[`Pulse là lớp phát hiện của Resolve. `,_jsx(_components.strong,{children:`Signal`}),` là một event đã vượt qua bộ lọc nhiễu, còn `,_jsx(_components.strong,{children:`cluster`}),` là một nhóm signal liên quan mà Pulse coi là một vấn đề.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Mở Pulse`,children:[_jsxs(_components.p,{children:[`Vào `,_jsx(_components.strong,{children:`Resolve → Pulse`}),`.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Trạng thái thành công:`}),` một cluster tiêu đề `,_jsx(_components.code,{children:`Checkout API 5xx rate above 5%`}),` với ít nhất hai signal, trong làn `,_jsx(_components.strong,{children:`Active`}),`. Nếu cluster nằm ở `,_jsx(_components.strong,{children:`Forming`}),` với một signal, các lần lặp quá sát nhau: chờ một phút và gửi lại.`]}),_jsxs(_components.p,{children:[`Đã ở `,_jsx(_components.strong,{children:`Routed`}),`? `,_jsx(_components.strong,{children:`On duty`}),` được bật trên workspace mới, nên phân loại đã tự nhận cluster. Chuyển đến `,_jsx(_components.a,{href:`#m%E1%BB%9F-cu%E1%BB%99c-%C4%91i%E1%BB%81u-tra-v%C3%A0-nguy%C3%AAn-nh%C3%A2n-g%E1%BB%91c`,children:`Mở cuộc điều tra`}),`.`]})]}),_jsxs(Step,{title:`Chuyển cho phân loại`,children:[_jsxs(_components.p,{children:[`Nhấn vào cluster, rồi `,_jsx(_components.strong,{children:`Escalate`}),` → `,_jsx(_components.strong,{children:`Send to triage`}),`. CloudThinker đọc cluster rồi khớp cluster với một sự cố đang mở, mở sự cố mới, hoặc quyết định không cần sự cố.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Trạng thái thành công:`}),` phân loại chạy và xử lý cluster. Cluster chuyển sang làn `,_jsx(_components.strong,{children:`Routed`}),` khi phân loại liên kết cluster với một sự cố đang mở. Nếu phân loại quyết định cluster không cần sự cố, cluster vẫn ở `,_jsx(_components.strong,{children:`Active`}),` (xem ghi chú bên dưới).`]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Với một cảnh báo giả lập, cả hai kết quả phân loại đều bình thường. Cảnh báo thử về một service mà CloudThinker không tìm thấy trong các kết nối của bạn có thể bị đánh giá là không cần hành động, nên không có sự cố nào được mở và cluster không chuyển sang `,_jsx(_components.strong,{children:`Routed`}),`. Đó không phải lỗi của bạn: hãy ghi nhận sự cố thủ công ở bước tiếp theo. Để tăng khả năng mở sự cố, thay `,_jsx(_components.code,{children:`checkout-api`}),` bằng tên một service thực từ tài khoản đã kết nối.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`mở-cuộc-điều-tra-và-nguyên-nhân-gốc`,children:`Mở cuộc điều tra và nguyên nhân gốc`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Tìm sự cố`,children:[_jsxs(_components.p,{children:[`Vào `,_jsx(_components.strong,{children:`Resolve → Investigation`}),`. Nếu phân loại đã mở sự cố, sự cố nằm trong hàng đợi, ở `,_jsx(_components.strong,{children:`AI is handling`}),` khi RCA đang chạy. Hàng hiển thị `,_jsx(_components.strong,{children:`Investigating`}),` cho đến khi có kết quả.`]}),_jsxs(_components.p,{children:[`Không có sự cố? Nhấn `,_jsx(_components.strong,{children:`Log Incident`}),`. Nhập tiêu đề cảnh báo vào `,_jsx(_components.strong,{children:`What’s happening?`}),`, đặt `,_jsx(_components.strong,{children:`Severity`}),` là `,_jsx(_components.strong,{children:`Critical`}),` và lưu. Sự cố được ghi nhận thủ công bắt đầu điều tra ngay khi bạn lưu, kể cả khi `,_jsx(_components.strong,{children:`On duty`}),` đang `,_jsx(_components.strong,{children:`Paused`}),`. Xem `,_jsx(_components.a,{href:`/vi/guide/incident/manual-logging`,children:`Ghi nhận sự cố`}),` để biết các trường khác.`]})]}),_jsx(Step,{title:`Bắt đầu RCA nếu chưa bắt đầu`,children:_jsxs(_components.p,{children:[`RCA tự bắt đầu khi phân loại mở sự cố từ Pulse, và sự cố ghi nhận thủ công bắt đầu RCA ngay khi bạn lưu. Nếu sự cố nằm ở `,_jsx(_components.strong,{children:`Not started`}),`, mở sự cố và nhấn `,_jsx(_components.strong,{children:`Investigate`}),`. `,_jsx(_components.a,{href:`/vi/guide/incident/settings#%C4%91i%E1%BB%81u-g%C3%AC-kh%E1%BB%9Fi-%C4%91%E1%BB%99ng-m%E1%BB%99t-cu%E1%BB%99c-%C4%91i%E1%BB%81u-tra`,children:`Điều gì bắt đầu một cuộc điều tra`}),` có quy tắc đầy đủ.`]})}),_jsxs(Step,{title:`Đọc kết quả`,children:[_jsx(_components.p,{children:`Mở sự cố. CloudThinker hiển thị kết luận, độ tin cậy, bằng chứng đã đọc, dòng thời gian và đề xuất khắc phục.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Trạng thái thành công:`}),` sự cố rời `,_jsx(_components.strong,{children:`AI is handling`}),`. Với một kết nối bao phủ cảnh báo, sự cố chuyển đến `,_jsx(_components.strong,{children:`Needs your decision`}),` và hàng thường hiển thị `,_jsx(_components.strong,{children:`Cause found`}),`. Khi không có kết nối, bạn sẽ thấy một trong hai kết quả:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Sự cố chuyển đến `,_jsx(_components.strong,{children:`Needs your decision`}),` với `,_jsx(_components.strong,{children:`Investigation complete`}),`, và kết quả cho biết CloudThinker không xác minh được nguyên nhân.`]}),`\n`,_jsxs(_components.li,{children:[`Trạng thái trở thành `,_jsx(_components.strong,{children:`Not Found`}),`, vì bằng chứng không hỗ trợ một nguyên nhân gốc. Sự cố `,_jsx(_components.strong,{children:`Not Found`}),` rời khỏi hàng đợi, nên hãy sao chép URL của sự cố từ trình duyệt trước khi rời trang. Xem `,_jsx(_components.a,{href:`/vi/guide/incident/root-cause-analysis#k%E1%BA%BFt-qu%E1%BA%A3-%C4%91i%E1%BB%81u-tra`,children:`Kết quả điều tra`}),`.`]}),`\n`]})]})]}),`\n`,_jsx(_components.p,{children:`Kết quả không có nguyên nhân được xác minh là câu trả lời trung thực cho một cảnh báo giả lập. Kết nối hệ thống mà cảnh báo đề cập, và cùng quy trình này sẽ cho ra nguyên nhân gốc thực sự.`}),`\n`,_jsx(Heading,{level:`2`,id:`dọn-dẹp`,children:`Dọn dẹp`}),`\n`,_jsx(_components.p,{children:`Nguồn thử tiếp tục nhận cảnh báo cho đến khi bạn xóa nguồn.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Đóng sự cố thử để sự cố không nằm mãi trong hàng đợi. Mở sự cố từ `,_jsx(_components.strong,{children:`Resolve → Investigation`}),`, nhấn huy hiệu trạng thái trong header của sự cố, chọn `,_jsx(_components.strong,{children:`False Alarm`}),` và nhấn `,_jsx(_components.strong,{children:`Change Status`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Trong `,_jsx(_components.strong,{children:`Resolve → Pulse`}),`, mở cluster thử và nhấn `,_jsx(_components.strong,{children:`Resolve`}),`. Nút hiển thị khi không còn sự cố đang mở nào giữ cluster. Nếu để nguyên, cluster tự đóng sau 12 giờ không có signal mới.`]}),`\n`,_jsxs(_components.li,{children:[`Vào `,_jsx(_components.strong,{children:`Resolve → Integrations`}),` → `,_jsx(_components.strong,{children:`Custom source`}),`, mở menu `,_jsx(_components.strong,{children:`⋯`}),` của hàng `,_jsx(_components.code,{children:`quickstart-test`}),` và nhấn `,_jsx(_components.strong,{children:`Delete`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`khắc-phục-sự-cố`,children:`Khắc phục sự cố`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Hộp thoại cứ chờ payload đầu tiên`,id:`hop-thoai-cu-cho-payload-dau-tien`,children:[_jsxs(_components.p,{children:[`Kiểm tra trạng thái mà `,_jsx(_components.code,{children:`curl`}),` trả về, rồi nhấn `,_jsx(_components.strong,{children:`Check again`}),`.`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Trạng thái`}),_jsx(_components.th,{children:`Nguyên nhân thường gặp`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsxs(_components.td,{children:[`Thiếu header `,_jsx(_components.code,{children:`Authorization`}),`, hoặc URL không phải `,_jsx(_components.strong,{children:`Webhook URL`}),` hiện tại (gõ sai, bị cắt ngắn, hoặc đã bị thay bởi `,_jsx(_components.strong,{children:`Regenerate credentials`}),`). Kiểm tra header và dán lại toàn bộ URL.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Secret Key`}),` sai, hoặc header không có dạng `,_jsx(_components.code,{children:`Bearer \u003csecret-key>`}),`. Dán lại key.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`422`})}),_jsx(_components.td,{children:`Body không phải đối tượng JSON: JSON không hợp lệ, một mảng hoặc một giá trị đơn.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsx(_components.td,{children:`Quá nhiều yêu cầu, hoặc quá nhiều lần xác thực thất bại trong thời gian ngắn. Chờ rồi thử lại.`})]})]})]}),_jsxs(_components.p,{children:[`Nếu hộp thoại báo đã có event đến nhưng không đọc được trường nào từ body, lần gửi đã được chấp nhận nhưng các trường vẫn chưa ánh xạ được. Gửi lại payload mẫu ở trên, rồi nhấn `,_jsx(_components.strong,{children:`Check again`}),`.`]})]}),_jsx(Accordion,{title:`Tôi làm mất Secret Key`,id:`toi-lam-mat-secret-key`,children:_jsxs(_components.p,{children:[`Key không hiển thị lại. Trên thẻ `,_jsx(_components.strong,{children:`Custom source`}),`, mở menu `,_jsx(_components.strong,{children:`⋯`}),` của hàng nguồn và nhấn `,_jsx(_components.strong,{children:`Regenerate credentials`}),`. Thao tác này thay cả `,_jsx(_components.strong,{children:`Webhook URL`}),` và `,_jsx(_components.strong,{children:`Secret Key`}),`, và cặp cũ ngừng hoạt động ngay lập tức, nên hãy cập nhật URL và key ở mọi nơi đang gửi đến.`]})}),_jsx(Accordion,{title:`Không có gì hiển thị trong Pulse`,id:`khong-co-gi-hien-thi-trong-pulse`,children:_jsxs(_components.p,{children:[`Chuyển sang làn `,_jsx(_components.strong,{children:`All`}),` và mở rộng khoảng thời gian. Sau đó kiểm tra phễu ở đầu `,_jsx(_components.strong,{children:`Resolve → Pulse`}),`: nếu số event thô tăng nhưng không có cluster nào xuất hiện, bộ lọc đã loại event, thường nhất là bản trùng lặp gửi trong cùng phút. Đổi `,_jsx(_components.code,{children:`title`}),` và gửi lại.`]})}),_jsx(Accordion,{title:`Không thấy Escalate`,id:`khong-thay-escalate`,children:_jsxs(_components.p,{children:[`Escalate chỉ hiển thị trên cluster `,_jsx(_components.strong,{children:`Forming`}),` hoặc `,_jsx(_components.strong,{children:`Active`}),` chưa được định tuyến. Nếu cluster đã ở `,_jsx(_components.strong,{children:`Routed`}),`, phân loại đã nhận cluster: mở sự cố từ `,_jsx(_components.strong,{children:`Resolve → Investigation`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`bước-tiếp-theo`,children:`Bước tiếp theo`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Công cụ của bạn:`}),` `,_jsx(_components.a,{href:`/vi/guide/incident/connect-alert-sources`,children:`Kết nối nguồn cảnh báo`}),` đối chiếu công cụ đang gửi cảnh báo của bạn với webhook, nguồn polling hoặc kênh chat.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Hướng dẫn chi tiết:`}),` xem cùng quy trình này trên một sự cố production thực trong `,_jsx(_components.a,{href:`/vi/guide/use-cases/resolve-checkout-incident`,children:`Điều tra sự cố checkout từ đầu đến cuối`}),`.`]}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Kết nối nguồn thực`,icon:`plug`,href:`/vi/guide/incident/integrations`,children:_jsx(_components.p,{children:`Trỏ cảnh báo Datadog, Grafana, PagerDuty hoặc CloudWatch đến Resolve, và theo dõi các kênh Slack nơi mọi người báo cáo sự cố.`})}),_jsx(Card,{title:`Đọc một cuộc điều tra`,icon:`magnifying-glass`,href:`/vi/guide/incident/root-cause-analysis`,children:_jsx(_components.p,{children:`Ý nghĩa của kết luận, độ tin cậy và hàng đợi khắc phục.`})}),_jsx(Card,{title:`Thiết lập On-call`,icon:`users`,href:`/vi/guide/incident/oncall`,children:_jsx(_components.p,{children:`Đưa người phản hồi vào Incident Room khi sự cố cần con người.`})}),_jsx(Card,{title:`Tham chiếu Custom source`,icon:`code`,href:`/vi/guide/incident/webhook-integrations/custom-source`,children:_jsx(_components.p,{children:`Đường dẫn trường, xác thực và thay đổi ánh xạ sau này.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Bắt đầu nhanh với Resolve","description":"Gửi một cảnh báo thử đến Resolve, xem Pulse nhóm cảnh báo thành cluster, rồi mở sự cố cùng phân tích nguyên nhân gốc.","icon":"rocket","href":"/vi/guide/incident/quickstart"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Điều kiện tiên quyết","slug":"điều-kiện-tiên-quyết","depth":2,"children":[]},{"title":"Tạo endpoint nhận cảnh báo","slug":"tạo-endpoint-nhận-cảnh-báo","depth":2,"children":[]},{"title":"Gửi cảnh báo thử","slug":"gửi-cảnh-báo-thử","depth":2,"children":[]},{"title":"Xem Pulse nhóm cảnh báo thành cluster","slug":"xem-pulse-nhóm-cảnh-báo-thành-cluster","depth":2,"children":[]},{"title":"Mở cuộc điều tra và nguyên nhân gốc","slug":"mở-cuộc-điều-tra-và-nguyên-nhân-gốc","depth":2,"children":[]},{"title":"Dọn dẹp","slug":"dọn-dẹp","depth":2,"children":[]},{"title":"Khắc phục sự cố","slug":"khắc-phục-sự-cố","depth":2,"children":[]},{"title":"Bước tiếp theo","slug":"bước-tiếp-theo","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"cloudthinker","siteName":"CloudThinker","title":"Bắt đầu nhanh với Resolve - CloudThinker","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/guide/incident/quickstart","matchLevel":1},"vi":{"href":"/vi/guide/incident/quickstart","matchLevel":0},"ja":{"href":"/guide/incident/quickstart","matchLevel":1},"ko":{"href":"/guide/incident/quickstart","matchLevel":1}}},"lastModified":"2026-10-28T02:14:40.383Z","originalFileLocation":"vi/guide/incident/quickstart.mdx","locale":"vi"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Gửi một cảnh báo thử đến Resolve, xem Pulse nhóm cảnh báo thành cluster, rồi mở sự cố cùng phân tích nguyên nhân gốc.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CloudThinker\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cloudthinker/2UjfrgdSjUW0wAzv/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/cloudthinker/2UjfrgdSjUW0wAzv/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cloudthinker/2UjfrgdSjUW0wAzv/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cloudthinker/2UjfrgdSjUW0wAzv/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cloudthinker/2UjfrgdSjUW0wAzv/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cloudthinker/2UjfrgdSjUW0wAzv/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cloudthinker/2UjfrgdSjUW0wAzv/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cloudthinker/2UjfrgdSjUW0wAzv/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cloudthinker/2UjfrgdSjUW0wAzv/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Bắt đầu nhanh với Resolve - CloudThinker\">\u003cmeta data-mint-head property=\"og:description\" content=\"Gửi một cảnh báo thử đến Resolve, xem Pulse nhóm cảnh báo thành cluster, rồi mở sự cố cùng phân tích nguyên nhân gốc.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CloudThinker\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.cloudthinker.io/vi/guide/incident/quickstart\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cloudthinker.mintlify.app/_mintlify/api/og/v2?division=B%E1%BA%AFt+%C4%91%E1%BA%A7u\u0026amp;title=B%E1%BA%AFt+%C4%91%E1%BA%A7u+nhanh+v%E1%BB%9Bi+Resolve\u0026amp;description=G%E1%BB%ADi+m%E1%BB%99t+c%E1%BA%A3nh+b%C3%A1o+th%E1%BB%AD+%C4%91%E1%BA%BFn+Resolve%2C+xem+Pulse+nh%C3%B3m+c%E1%BA%A3nh+b%C3%A1o+th%C3%A0nh+cluster%2C+r%E1%BB%93i+m%E1%BB%9F+s%E1%BB%B1+c%E1%BB%91+c%C3%B9ng+ph%C3%A2n+t%C3%ADch+nguy%C3%AAn+nh%C3%A2n+g%E1%BB%91c.\u0026amp;theme=a662466b4ca99701c5f8fbf0\u0026amp;signature=46211306c761ccdd847a5d90f7358a53d709c82fcce3e9f897cbb17a5dc259d7\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Bắt đầu nhanh với Resolve - CloudThinker\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Gửi một cảnh báo thử đến Resolve, xem Pulse nhóm cảnh báo thành cluster, rồi mở sự cố cùng phân tích nguyên nhân gốc.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cloudthinker.mintlify.app/_mintlify/api/og/v2?division=B%E1%BA%AFt+%C4%91%E1%BA%A7u\u0026amp;title=B%E1%BA%AFt+%C4%91%E1%BA%A7u+nhanh+v%E1%BB%9Bi+Resolve\u0026amp;description=G%E1%BB%ADi+m%E1%BB%99t+c%E1%BA%A3nh+b%C3%A1o+th%E1%BB%AD+%C4%91%E1%BA%BFn+Resolve%2C+xem+Pulse+nh%C3%B3m+c%E1%BA%A3nh+b%C3%A1o+th%C3%A0nh+cluster%2C+r%E1%BB%93i+m%E1%BB%9F+s%E1%BB%B1+c%E1%BB%91+c%C3%B9ng+ph%C3%A2n+t%C3%ADch+nguy%C3%AAn+nh%C3%A2n+g%E1%BB%91c.\u0026amp;theme=a662466b4ca99701c5f8fbf0\u0026amp;signature=46211306c761ccdd847a5d90f7358a53d709c82fcce3e9f897cbb17a5dc259d7\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/cloudthinker/2UjfrgdSjUW0wAzv/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CloudThinker\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0c93c0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.cloudthinker.io/vi/guide/incident/quickstart\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/vi/guide/incident/quickstart.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"vi\" href=\"https://docs.cloudthinker.io/vi/guide/incident/quickstart\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.cloudthinker.io/guide/incident/quickstart\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.cloudthinker.io/guide/incident/quickstart\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.cloudthinker.io/guide/incident/quickstart\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.cloudthinker.io/guide/incident/quickstart\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.cloudthinker.io/#organization\",\"name\":\"CloudThinker\",\"url\":\"https://docs.cloudthinker.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cloudthinker/-4m9DUjwzDxHfABz/logo/light.svg?fit=max\u0026auto=format\u0026n=-4m9DUjwzDxHfABz\u0026q=85\u0026s=a56a571509d1cd246f5b0e68db015e5f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.cloudthinker.io#website\",\"name\":\"CloudThinker\",\"url\":\"https://docs.cloudthinker.io\",\"publisher\":{\"@id\":\"https://docs.cloudthinker.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.cloudthinker.io/vi/guide/incident/quickstart#webpage\",\"url\":\"https://docs.cloudthinker.io/vi/guide/incident/quickstart\",\"name\":\"Bắt đầu nhanh với Resolve\",\"description\":\"Gửi một cảnh báo thử đến Resolve, xem Pulse nhóm cảnh báo thành cluster, rồi mở sự cố cùng phân tích nguyên nhân gốc.\",\"dateModified\":\"2026-10-28T02:14:40.383Z\",\"isPartOf\":{\"@id\":\"https://docs.cloudthinker.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.cloudthinker.io/vi/guide/incident/quickstart#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.cloudthinker.io/vi/guide/incident/quickstart#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Bắt đầu\",\"item\":\"https://docs.cloudthinker.io/vi/guide/incident/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bắt đầu nhanh với Resolve\",\"item\":\"https://docs.cloudthinker.io/vi/guide/incident/quickstart\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.cloudthinker.io/vi/guide/incident/quickstart#article\",\"headline\":\"Bắt đầu nhanh với Resolve\",\"name\":\"Bắt đầu nhanh với Resolve\",\"description\":\"Gửi một cảnh báo thử đến Resolve, xem Pulse nhóm cảnh báo thành cluster, rồi mở sự cố cùng phân tích nguyên nhân gốc.\",\"url\":\"https://docs.cloudthinker.io/vi/guide/incident/quickstart\",\"mainEntityOfPage\":{\"@id\":\"https://docs.cloudthinker.io/vi/guide/incident/quickstart#webpage\"},\"dateModified\":\"2026-10-28T02:14:40.383Z\",\"publisher\":{\"@id\":\"https://docs.cloudthinker.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.cloudthinker.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CloudThinker\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CloudThinker","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/guide/incident/quickstart"}]},{"language":"vi","tabs":[{"tab":"Bắt đầu","pages":[{"title":"Bắt đầu","href":"/vi"}]},{"tab":"Sản phẩm","anchors":[{"anchor":"Resolve","icon":"triangle-exclamation","groups":[{"group":"Bắt đầu","pages":[{"title":"Resolve","description":"Xem cách Resolve biến cảnh báo thô thành sự cố đã điều tra, bản sửa đã phê duyệt và bài học, và tìm trang cho từng việc.","icon":"triangle-exclamation","href":"/vi/guide/incident/overview"},{"title":"Bắt đầu nhanh với Resolve","icon":"rocket","href":"/vi/guide/incident/quickstart"}]},{"group":"Thiết lập","pages":[{"title":"Kết nối nguồn cảnh báo","description":"Tìm cách đưa cảnh báo vào Resolve phù hợp, dù công cụ của bạn có preset, cần nguồn tùy chỉnh hay được đọc định kỳ cho bạn.","icon":"tower-broadcast","href":"/vi/guide/incident/connect-alert-sources"},{"title":"Tích hợp Resolve","icon":"arrows-rotate","href":"/vi/guide/incident/integrations"},{"title":"Kết nối nguồn Pulse","icon":"plug","href":"/vi/guide/pulse/setup"},{"title":"Webhook Signals","icon":"webhook","href":"/vi/guide/incident/webhook-integrations/overview"},{"title":"Kết nối CloudWatch Alarm","icon":"aws","href":"/vi/guide/incident/webhook-integrations/cloudwatch"},{"title":"Thêm nguồn tín hiệu tùy chỉnh","icon":"plug","href":"/vi/guide/incident/webhook-integrations/custom-source"},{"title":"Cài đặt Resolve","icon":"sliders","href":"/vi/guide/incident/settings"}]},{"group":"Xử lý sự cố","pages":[{"title":"Tổng quan về Pulse","icon":"wave-pulse","href":"/vi/guide/pulse/overview"},{"title":"Signal Clusters","icon":"layer-group","href":"/vi/guide/pulse/clusters"},{"title":"Điều tra và RCA","icon":"magnifying-glass","href":"/vi/guide/incident/root-cause-analysis"},{"title":"On-call và Incident Room","icon":"users","href":"/vi/guide/incident/oncall"},{"title":"Runbooks","icon":"book-open","tag":"Legacy","href":"/vi/guide/incident/runbooks"},{"title":"Ghi nhận sự cố thủ công","icon":"pen-to-square","href":"/vi/guide/incident/manual-logging"}]},{"group":"Học và cải thiện","pages":[{"title":"Detectors","icon":"radar","href":"/vi/guide/incident/detectors"},{"title":"Resolve Insights","icon":"chart-mixed","href":"/vi/guide/incident/insights"},{"title":"Phân tích Pulse","icon":"chart-line","href":"/vi/guide/pulse/analytics"},{"title":"Bộ nhớ sự cố","icon":"brain","href":"/vi/guide/incident/incident-memory"}]},{"group":"Trợ giúp","pages":[{"title":"Khắc phục sự cố Resolve","icon":"wrench","href":"/vi/guide/incident/troubleshooting"}]}]},{"anchor":"Review","icon":"code-pull-request","pages":[{"title":"Review","href":"/vi/guide/code-review/overview"}]},{"anchor":"Cyber (Beta)","icon":"shield-halved","pages":[{"title":"Cyber (Beta)","href":"/vi/guide/security/cyber-overview"}]},{"anchor":"Optimize","icon":"chart-line","pages":[{"title":"Optimize","href":"/vi/guide/cost-optimization/overview"}]},{"anchor":"Automation","icon":"clock","pages":[{"title":"Automation","href":"/vi/guide/automation/quickstart"}]}]},{"tab":"Nền tảng","pages":[{"title":"Nền tảng","href":"/vi/guide/connections/overview"}]},{"tab":"Doanh nghiệp","pages":[{"title":"Doanh nghiệp","href":"/vi/guide/security/overview"}]},{"tab":"Nhà phát triển","pages":[{"title":"Nhà phát triển","href":"/vi/guide/api/overview"}]},{"tab":"Tài nguyên","pages":[{"title":"Tài nguyên","href":"/vi/learn/aio/introduction"}]},{"tab":"Nhật ký thay đổi","pages":[{"title":"Nhật ký thay đổi","href":"/changelog"}]},{"tab":"Bảng giá","href":"https://cloudthinker.io/pricing"}]},{"language":"ja","pages":[{"title":"ja","href":"/guide/incident/quickstart"}]},{"language":"ko","pages":[{"title":"ko","href":"/guide/incident/quickstart"}]}]},"title":"Bắt đầu nhanh với Resolve - CloudThinker","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-BbYRHtLl.js","DynamicMarkdown-DN96a4Ur.js","zoom-image-lightbox-D7yRe3On.js","lightbox-handle-r17bVUz3.js"]}