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 API mà bạn sử dụng để tạo và quản lý cảnh báo bất thường cũng như để thu thập chỉ số 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ách tương tự 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 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ả 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 cảnh báo bất thường.
  • Cập nhật cảnh báo – Cập nhật định nghĩa về cảnh báo cố định hoặc 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 vào 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 của bạn, như mô tả trong Nhận mã truy cập OAuth 2.0. Để biết thông tin về các tuỳ chọn cURL được sử dụng trong các ví dụ này, hãy xem Sử dụng cURL.

Nhận thông báo

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

  • enabled – Nếu true chỉ định chỉ trả về 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 là chưa được đặt, tức là trả về mọi loại cảnh báo phụ. Chỉ định anomaly để trả về cảnh báo bất thường.

Ví dụ: sử dụng lệnh gọi API sau đây để chỉ trả về trạng thái bật thông 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ảnh báo bất thường, cả đã 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ùng API để tạo hoặc cập nhật một cảnh báo bất thường như hiện tại đối với một cảnh báo cố định. 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 cũng giống như được sử dụng cho một cảnh báo cố định, với những thay đổi sau:

  • Bạn phải thêm các thuộc tính mới sau đây để chỉ định rằng cảnh báo này 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 – Nhận cảnh báo về độ trễ.
    • Thuộc tính threshold nhận một chuỗi thay vì một số. Sau đây là các giá trị được hỗ trợ: 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.
    • developerApp, collection, faultCodeCategory, Các thuộc tính faultCodeSubCategory, faultCodeName không được hỗ trợ.
  • Thuộc tính reportEnabled không được hỗ trợ cho các cảnh báo bất thường.

Lệnh gọi API mẫu sau đây tạo ra 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 với tốc độ vừa phải đối với tất cả proxy API trong môi trường sản xuất cho bất kỳ khu vực nào. Một thông báo được gửi đế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 với các điểm bất thường

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

Theo mặc định, API này trả về tất cả sự kiện trong giờ trước đó. Sử dụng from và Tham số truy vấn to để chỉ định thời lượng khác. fromto giá trị tham số truy vấn để chỉ định 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 của bạn, như mô tả trong Nhận 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ả cá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"

API này chỉ yêu cầu tham số truy vấn org. Cùng với thông số truy vấn được mô tả trong tài liệu API tại /metrics/events, API này 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 Mô tả Mặc định
threshold

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

Chỉ được dùng 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 danh sách được phân tách bằng dấu phẩy. Tất cả các loại