Cách hoạt động
Bạn tạo một endpoint, gửi đến đó một sự kiện thực, rồi nhấn vào các trường trong sự kiện đó để cho Resolve biết trường nào là tiêu đề, mức độ nghiêm trọng, v.v. Vì bạn chọn từ một payload mà hệ thống của bạn thực sự đã gửi, mọi ánh xạ bạn lưu đều trỏ đến một trường có tồn tại. Trong Pulse, mỗi sự kiện được lọc nhiễu trước. Những gì còn lại là một signal, được nhóm với các signal liên quan và chuyển vào một sự cố khi cần xử lý.Nguồn tùy chỉnh không giống với webhook hội thoại. Nguồn tùy chỉnh cung cấp dữ liệu cho Pulse và mở sự cố. Nếu bạn muốn sự kiện bắt đầu một cuộc chat với CloudThinker, hãy dùng webhook.
Điều kiện tiên quyết
- Vai trò Admin của workspace. Developer và Viewer có thể xem nguồn nhưng không thể thêm hay thay đổi. Xem Vai trò.
- Một hệ thống có thể gửi request
POSTvới body là JSON object. Nguồn mới yêu cầu headerAuthorization. Nếu hệ thống của bạn không thể đặt header, xem Tùy chọn xác thực. - Một cách để kích hoạt một sự kiện tiêu biểu theo yêu cầu, chẳng hạn nút test hoặc lệnh
curl.
Tạo nguồn
Vào Resolve → Integrations, mở thẻ Custom source, và nhấn Add signal. Mọi nguồn tùy chỉnh bạn tạo đều được liệt kê trên thẻ này.1
Đặt tên nguồn
Nhập Source name mà nhóm của bạn sẽ nhận ra, ví dụ
Acme uptime, và nhấn Create endpoint.2
Sao chép URL và secret
Hộp thoại hiển thị Webhook URL và Secret Key. Sao chép cả hai vào hệ thống của bạn ngay.Secret Key chỉ hiển thị một lần. Nếu bạn làm mất, xem Xoay vòng hoặc thay thế thông tin xác thực.
3
Gửi một sự kiện thực
Kích hoạt sự kiện từ hệ thống của bạn. Hộp thoại chờ và tự cập nhật khi sự kiện đến. Nếu hộp thoại không cập nhật sau khi bạn gửi, hãy gửi lại và nhấn Check again.Gửi một sự kiện tiêu biểu, không phải body test trống. Bạn chỉ có thể ánh xạ các trường mà sự kiện này chứa.
4
Ánh xạ các trường
Khi hộp thoại hiển thị Payload received, nhấn Map the fields. Mọi trường trong JSON đã ghi nhận được liệt kê cùng giá trị. Chọn trường cho Incident title, rồi bất kỳ trường nào trong Severity, Service, Resource và Description. Nhấn Save mapping. Hộp thoại đóng lại.Các trường bên trong một danh sách hiển thị kèm chỉ số, chẳng hạn
alerts[0].labels.severity, cho ba phần tử đầu tiên. Ở đây bạn chỉ có thể chọn từ sự kiện đã ghi nhận. Để dùng một đường dẫn mà sự kiện không chứa, hãy nhập nó vào trường tương ứng trong Edit, nơi mọi đường dẫn là một trường văn bản.Resource ở đây chỉ là tên hiển thị (màn hình Edit gọi nó là Resource Name Path). Pulse nhóm sự kiện bằng Resource ID Path, mà bạn đặt ở bước tiếp theo.Nếu một sự kiện sau này thiếu một trường đã ánh xạ, Resolve dùng giá trị dự phòng: tiêu đề dùng key title cấp cao nhất hoặc Webhook signal, mức độ nghiêm trọng dùng key severity hoặc priority cấp cao nhất rồi đến Medium, dịch vụ dùng unknown, và timestamp dùng thời điểm nhận.5
Hoàn tất trong Edit
Mở menu … của nguồn trong Signals to Resolve và chọn Edit. Đặt ba trường sau, vốn không có trong hộp thoại thiết lập:
- Resource ID Path: một định danh ổn định, chẳng hạn host ID hoặc check ID. Pulse dùng nó để nhóm các lần lặp lại của cùng một lỗi, kể cả khi tiêu đề khác nhau. Nếu không có, sự kiện chỉ được nhóm theo tiêu đề hoặc dịch vụ chung. Xem Cách signal gia nhập một cluster.
- Severity Mapping: một hàng cho mỗi giá trị mức độ nghiêm trọng mà hệ thống của bạn gửi không phải
critical,high,medium,lowhoặcinfo. Nếu không có, các sự kiện đó đến dưới dạng Medium. - Rate limit (requests per hour): tăng từ 1.000 nếu hệ thống của bạn có thể gửi nhiều hơn trong một giờ.
Sửa một nguồn
Mở Resolve → Integrations → Custom source, tìm nguồn trong Signals to Resolve, và chọn Edit từ menu … của nó. Màn hình sửa có mọi trường ánh xạ (kể cả Resource ID Path và Timestamp Path), Severity Mapping, Auto-investigate với Only from a minimum severity, và Rate limit (requests per hour). Severity Mapping khớp giá trị không phân biệt hoa thường. Ví dụ:Gửi sự kiện
Nguồn tùy chỉnh mới yêu cầuAuthorization: Bearer <secret>, với Secret Key sau Bearer. Nguồn này không chấp nhận x-api-key cho đến khi bạn đổi phương thức (xem Tùy chọn xác thực). Đây là một ví dụ đầy đủ:
Với ánh xạ từ bảng trên, sự kiện này đến Pulse dưới dạng một signal có tiêu đề
Checkout latency above 2s, mức độ nghiêm trọng Critical, dịch vụ checkout-api, tài nguyên web-03.
Tùy chọn xác thực
Đổi phương thức trong màn hình sửa của nguồn, tại Auth Method. Thay đổi phương thức sẽ làm các bên gửi hiện tại lỗi ngay lập tức.Phản hồi
Viết logic thử lại của bên gửi dựa trên các phản hồi sau:
Mỗi nguồn mặc định cho phép 1.000 request mỗi giờ. Thay đổi trong màn hình sửa tại Rate limit (requests per hour): tối đa 10.000, hoặc
0 để không giới hạn. 429 chỉ trả về khi vượt 10 lần giới hạn: với mặc định 1.000, sau 10.000 request trong cùng một giờ.
Quy tắc cho payload và đường dẫn
Xác minh toàn bộ luồng
Phản hồi HTTP thành công chỉ chứng minh sự kiện đã được gửi đến. Mở Resolve → Pulse: signal sẽ xuất hiện trong vài giây. Xác nhận tiêu đề và mức độ nghiêm trọng của nó. Nếu Auto-investigate đang bật, mức độ nghiêm trọng vượt ngưỡng tối thiểu, và bước phân loại mở một sự cố, sự cố đó hiển thị AI is handling trên Resolve → Investigation. Xem Điều gì khởi động một cuộc điều tra. Sự kiện test được xử lý như sự kiện thực, nên khi Auto-investigate bật, sự kiện đó có thể khởi động một cuộc điều tra thực. Để chỉ kiểm tra việc gửi, hãy tắt Auto-investigate trong màn hình sửa trước, và bật lại sau đó. Tránh tạm dừng On duty cho việc này: thao tác đó ảnh hưởng đến mọi nguồn trong workspace.Xoay vòng hoặc thay thế thông tin xác thực
Regenerate credentials (menu … của nguồn trong Signals to Resolve) thay thế cả Webhook URL và Secret Key. Cặp cũ ngừng hoạt động ngay lập tức, không có thời gian chồng lấn, nên các bên gửi sẽ thất bại cho đến khi bạn cập nhật chúng. Mỗi lần tạo lại được ghi trong Audit Logs. Để xoay vòng mà không bị gián đoạn:- Tạo một nguồn tùy chỉnh thứ hai và ánh xạ nó từ một sự kiện thực, như trong Tạo nguồn.
- Trong màn hình sửa của nguồn mới, sao chép những gì hộp thoại thiết lập không mang theo: Resource ID Path, Timestamp Path, Severity Mapping, Rate limit (requests per hour), Auto-investigate và Only from a minimum severity, và Auth Method nếu bạn đã thay đổi.
- Trỏ từng bên gửi đến URL và secret mới.
- Khi sự kiện của nguồn cũ ngừng đến Pulse, hãy xóa nguồn cũ.
Bảo mật và dữ liệu
Để gửi một sự kiện có chữ ký, đặt Auth Method thành HMAC Signature trong màn hình sửa và lưu. Sau đó đặt signing secret (Provider signing secret của bạn, hoặc secret từ Regenerate credentials) vào
SECRET và ký đúng các byte bạn gửi. Ví dụ dùng tên header mặc định:
Khắc phục sự cố
Hộp thoại cứ chờ payload đầu tiên
Hộp thoại cứ chờ payload đầu tiên
Kiểm tra hệ thống của bạn gửi đến đúng Webhook URL và gửi
Authorization: Bearer <secret>. Nhấn Check again sau khi gửi lại.Sự kiện đã đến nhưng không có trường nào để ánh xạ
Sự kiện đã đến nhưng không có trường nào để ánh xạ
Body không phải là JSON object có giá trị. Gửi một object như
{"title": "..."}, không phải mảng hay body trống, rồi nhấn Check again.Signal có tiêu đề 'Webhook signal'
Signal có tiêu đề 'Webhook signal'
Các sự kiện đến trước khi bạn lưu ánh xạ vẫn trở thành signal. Resolve dùng key
title cấp cao nhất nếu có, nếu không thì dùng giá trị dự phòng Webhook signal. Lưu một ánh xạ để khắc phục cho các sự kiện mới.Không có payload để chọn khi sửa
Không có payload để chọn khi sửa
Bộ chọn hiển thị sự kiện được lưu gần nhất, và body sự kiện được lưu hết hạn sau 90 ngày. Kích hoạt nguồn thêm một lần nữa, rồi ánh xạ.
Mọi sự kiện đều đến với mức độ nghiêm trọng Medium
Mọi sự kiện đều đến với mức độ nghiêm trọng Medium
Hệ thống của bạn gửi giá trị mức độ nghiêm trọng mà Resolve không nhận ra. Thêm hàng vào Severity Mapping trong màn hình sửa, ví dụ
p1 → critical. Xem Sửa một nguồn.Bước tiếp theo
Tìm hiểu Pulse
Xem cách signal được lọc, nhóm và chuyển thành sự cố.
Dùng preset thay thế
Kết nối Datadog, Grafana, PagerDuty và nhiều công cụ khác với ánh xạ được điền sẵn.