Sử dụng API phát hiện hoạt động bất thường

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Hầu hết các API mà bạn sử dụng để tạo và quản lý cảnh báo về hoạt động bất thường cũng như để thu thập chỉ số về hoạt động bất thường đều giống như các API mà bạn sử dụng với cảnh báo cố định. Các API cảnh báo sau đây hoạt động theo cùng cách cho cả cảnh báo cố định và cảnh báo bất thường:

Tuy nhiên, một số API có các thuộc tính bổ sung được dùng để hỗ trợ cảnh báo về hoạt động bất thường, bao gồm:

  • Nhận cảnh báo – Liệt kê tất cả cảnh báo, bao gồm cảnh báo đã khắc phục và cảnh báo bất thường.
  • Tạo cảnh báo – Tạo cảnh báo cố định hoặc bất thường.
  • Cập nhật cảnh báo – Cập nhật định nghĩa cảnh báo đã khắc phục hoặc cảnh báo bất thường.

Đặt $ACCESS_TOKEN

Tất cả lệnh gọi API hiển thị bên dưới đều truyền thông tin xác thực của bạn trong một biến môi trường có tên là $ACCESS_TOKEN. Đặt $ACCESS_TOKEN thành mã truy cập OAuth 2.0, như mô tả trong bài viết Lấy mã truy cập OAuth 2.0. Để biết thông tin về các tuỳ chọn cURL được sử dụng trong những ví dụ này, hãy xem phần Sử dụng cURL.

Nhận thông báo

Theo mặc định, API Nhận cảnh báo sẽ trả về thông tin về mọi cảnh báo đã xác định. API này hiện lấy các tham số truy vấn để cho phép bạn lọc kết quả:

  • enabled – Nếu true chỉ định để chỉ trả về các cảnh báo đã bật. Giá trị mặc định là false.
  • alertType – Chỉ định loại cảnh báo cần trả về. Các giá trị được phép là runtime, giá trị mặc định là cert.
  • alertSubType – Chỉ định loại cảnh báo phụ cần trả về. Giá trị mặc định chưa được đặt, nghĩa là trả về tất cả các loại cảnh báo phụ. Chỉ định anomaly để trả về cảnh báo về hoạt động bất thường.

Ví dụ: sử dụng lệnh gọi API sau đây để trả về chỉ bật các cảnh báo cho tổ chức có tên myorg:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

Lệnh gọi sau đây chỉ trả về các cảnh báo bất thường, cả khi bật và tắt:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=runtime&alertSubType=anomaly'

Tạo hoặc cập nhật cảnh báo bất thường

Sử dụng các API tương tự để tạo hoặc cập nhật cảnh báo bất thường như hiện tại đối với một cảnh báo đã khắc phục. Nội dung của lệnh gọi API để tạo hoặc cập nhật cảnh báo bất thường giống như được sử dụng cho cảnh báo đã khắc phục, có các thay đổi sau:

  • Bạn phải thêm các thuộc tính mới sau đây để xác định rằng cảnh báo đó là cảnh báo bất thường:

    "alertType": "runtime"
    "alertSubType": "anomaly"

    Giá trị mặc định của các thuộc tính này là:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • Trong mảng conditions:

    • Thuộc tính metrics chỉ nhận các giá trị của:

      • count – Tăng cảnh báo về số lỗi HTTP.
      • totalLatency – Tăng cảnh báo về độ trễ.
    • Thuộc tính threshold nhận một chuỗi thay vì một số. Các giá trị được hỗ trợ bao gồm: slight, moderatesevere.
    • Thuộc tính durationSecondscomparator không được hỗ trợ.
  • Trong phần tử dimensions của mảng conditions:

    • Bạn phải đặt giá trị của thuộc tính proxy thành ALL.
    • Thuộc tính statusCode chỉ hỗ trợ giá trị 4xx, 503, 504, and 5xx.
    • Các thuộc tính developerApp, collection, faultCodeCategory, faultCodeSubCategory, faultCodeName không được hỗ trợ.
  • Không hỗ trợ thuộc tính reportEnabled cho cảnh báo bất thường.

Lệnh gọi API ví dụ sau đây tạo một cảnh báo bất thường được kích hoạt khi mã trạng thái 5xx xảy ra ở tốc độ vừa phải cho tất cả các proxy API trong môi trường chính thức cho bất kỳ khu vực nào. Hệ thống sẽ gửi một thông báo đến địa chỉ email đã chỉ định khi cảnh báo được kích hoạt:

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
 -X POST \
 -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -d '{
     "organization":"myorg",
     "name":"5xx Anomaly Alert",
     "description":"My 5xx alert",
     "environment":"prod",
     "enabled":true,
     "alertType": "runtime",
     "alertSubType": "anomaly",
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "org":"myorg",
            "env":"prod",
            "proxy":"ALL",
            "region":"ANY",
            "statusCode":"5xx"
        },
        "metric":"count",
        "threshold": "moderate"
     }
     ],
     "notifications":[{
         "channel":"email",
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600
    }'

Sử dụng API sự kiện cùng với các điểm bất thường

Sử dụng /metrics/events API để nhận tất cả các sự kiện trong một tổ chức trong một khoảng thời gian chỉ định. Danh sách các sự kiện bao gồm những điểm bất thường do Edge phát hiện và mọi cảnh báo đã kích hoạt. Cảnh báo này có thể bao gồm cả cảnh báo cố định và cảnh báo bất thường.

Theo mặc định, API trả về tất cả sự kiện cho giờ trước đó. Sử dụng các tham số truy vấn fromto để chỉ định thời lượng khác. Các giá trị tham số truy vấn fromto để chỉ định một thời lượng khác.

Ví dụ: lệnh gọi API sau đây trả về tất cả sự kiện trong tổ chức myorg trong 12 giờ trước:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&from=-12h&to=now"

Đặt $ACCESS_TOKEN thành mã truy cập OAuth 2.0, như mô tả trong bài viết Lấy mã truy cập OAuth 2.0. Để biết thông tin về các tuỳ chọn cURL dùng trong ví dụ này, hãy xem phần Sử dụng cURL.

Lệnh gọi tiếp theo trả về tất cả sự kiện bất thường với ngưỡng trung bình trong 24 giờ qua:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&type=anomaly&threshold=moderate&from=-24h&to=now"

Chỉ cần tham số truy vấn org đối với API này. Cùng với các tham số truy vấn được mô tả trong tài liệu API tại /metrics/events, API này còn hỗ trợ các lựa chọn sau để hỗ trợ tính năng phát hiện hoạt động bất thường:

Tên Nội dung mô tả Mặc định
threshold

Lọc sự kiện theo ngưỡng đã chỉ định: slight, moderate hoặc severe.

Chỉ được phép khi bạn đặt type=anomaly.

Tất cả mức độ nghiêm trọng
type Lọc sự kiện theo loại đã chỉ định: alert hoặc anomaly. Chỉ định nhiều giá trị dưới dạng một danh sách được phân tách bằng dấu phẩy. Tất cả các loại