Thiết lập cảnh báo giao thông

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
info

Sử dụng cảnh báo lưu lượng truy cập để đưa ra thông báo khi lưu lượng truy cập cho một môi trường, proxy hoặc khu vực thay đổi theo một tỷ lệ phần trăm cụ thể trong một khoảng thời gian.

Bạn đặt phạm vi thời gian thành:

  • 1 giờ
  • 1 ngày
  • 7 ngày
  • 15 ngày (chỉ API)
  • 30 ngày (chỉ API)

Cảnh báo này hoạt động bằng cách so sánh lưu lượng truy cập trong phạm vi thời gian hiện tại với lưu lượng truy cập trong phạm vi thời gian trước đó. Ví dụ: bạn chỉ định một phạm vi thời gian là 1 giờ. Sau đó, cảnh báo sẽ so sánh lưu lượng truy cập trong giờ gần đây nhất với lưu lượng truy cập trong giờ trước đó để tính toán tỷ lệ phần trăm thay đổi về lưu lượng truy cập:

percentChange = ((currentTraffic - previousTraffic) / previousTraffic) * 100

Giá trị dương có nghĩa là lưu lượng truy cập tăng lên, còn giá trị âm có nghĩa là lưu lượng truy cập giảm xuống.

Sau đó, bạn đặt ngưỡng kích hoạt cảnh báo lưu lượng truy cập dưới dạng tỷ lệ phần trăm tăng hoặc giảm lưu lượng truy cập API trong khoảng thời gian đã chỉ định.

Trước khi đặt tỷ lệ đó, hãy đảm bảo rằng tỷ lệ đó phù hợp với các mẫu lưu lượng truy cập thông thường của bạn. Ví dụ: nếu lưu lượng truy cập API của bạn thường xuyên biến động trong ngày với mức tăng đột biến theo giờ lên đến 100% vào một số thời điểm cao điểm, thì những mức tăng đột biến này là bình thường và không được kích hoạt cảnh báo. Tuy nhiên, nếu sau đó bạn định cấu hình một cảnh báo để kích hoạt khi lưu lượng truy cập theo giờ tăng 50%, bạn sẽ nhận được những cảnh báo không cần thiết cho lưu lượng truy cập bình thường của mình.

Để biết thêm thông tin về cảnh báo, hãy xem bài viết Thiết lập cảnh báo và thông báo.

Thêm cảnh báo và thông báo giao thông

Cách thêm cảnh báo và thông báo giao thông:
  1. Nhấp vào Phân tích > Quy tắc cảnh báo trong giao diện người dùng Edge.
  2. Nhấp vào +Cảnh báo.
  3. Nhập thông tin chung sau đây về cảnh báo:
    Trường Mô tả
    Tên cảnh báo Tên của cảnh báo. Sử dụng một tên mô tả điều kiện kích hoạt và có ý nghĩa với bạn. Tên không được vượt quá 128 ký tự.
    Mô tả Nội dung mô tả về cảnh báo.
    Loại Cảnh báo Chọn Tổng lưu lượng truy cập. Xem phần Giới thiệu về các loại cảnh báo để biết thêm thông tin.
    Môi trường Chọn môi trường trong danh sách thả xuống.
    Trạng thái Nhấp vào nút bật/tắt để bật hoặc tắt cảnh báo.
  4. Xác định ngưỡng và phương diện cho điều kiện sẽ kích hoạt cảnh báo.
    Trường điều kiện Mô tả
    Ngưỡng

    Chỉ định tăng cảnh báo khi lưu lượng truy cập tăng hoặc giảm một tỷ lệ phần trăm cụ thể so với một khoảng thời gian trước đó.

    Đặt tỷ lệ phần trăm tăng thêm thành một giá trị lớn hơn hoặc bằng 0%. Đặt tỷ lệ phần trăm giảm thành một giá trị lớn hơn hoặc bằng 0% và nhỏ hơn hoặc bằng 100%.

    Bạn có thể chọn khoảng thời gian là:

    • 1 giờ
    • 1 ngày
    • 1 tuần
    Phương diện

    Nhấp vào +Add Dimension (+Thêm phương diện) rồi chỉ định thông tin chi tiết về phương diện để trả về kết quả, bao gồm cả proxy API và khu vực.

    Đặt một phương diện cụ thể thành:

    • Proxy – Đặt thành một proxy cụ thể hoặc thành Tất cả proxy. Proxy không hỗ trợ giá trị "Any". Thay vào đó, bạn có thể thêm một cảnh báo riêng cho từng proxy mà bạn quan tâm.
    • Khu vực – Đặt thành một khu vực cụ thể hoặc Tất cả khu vực. Khu vực không hỗ trợ giá trị "Bất kỳ". Thay vào đó, bạn có thể thêm một cảnh báo riêng cho từng khu vực mà bạn quan tâm.
  5. Nhấp vào + Thông báo để thêm một thông báo cảnh báo.
    Chi tiết thông báo Mô tả
    Kênh Chọn kênh thông báo mà bạn muốn sử dụng và chỉ định đích đến: Email, Slack, PagerDuty hoặc Webhook.
    Đích đến Chỉ định đích đến dựa trên loại kênh đã chọn:
    • Email – Địa chỉ email, chẳng hạn như joe@company.com
    • Slack – URL kênh Slack, chẳng hạn như https://hooks.slack.com/services/T00000000/B00000000/XXXXX
    • PagerDuty – Mã PagerDuty, chẳng hạn như abcd1234efgh56789
    • Webhook – URL webhook, chẳng hạn như https://apigee.com/test-webhook

      Lưu ý: Bạn chỉ có thể chỉ định một đích đến cho mỗi thông báo. Để chỉ định nhiều đích đến cho cùng một loại kênh, hãy thêm các thông báo khác.

  6. Để thêm thông báo khác, hãy lặp lại bước trước đó.
  7. Nếu bạn đã thêm một thông báo, hãy đặt các trường sau:
    Trường Mô tả
    Cẩm nang (Không bắt buộc) Trường văn bản dạng tự do để cung cấp nội dung mô tả ngắn về các hành động được đề xuất nhằm giải quyết các cảnh báo khi chúng kích hoạt. Bạn cũng có thể chỉ định một đường liên kết đến wiki nội bộ hoặc trang cộng đồng nơi bạn tham khảo các phương pháp hay nhất. Thông tin trong trường này sẽ được đưa vào thông báo. Nội dung trong trường này không được vượt quá 1.500 ký tự.
    Van tiết lưu Tần suất gửi thông báo. Chọn một giá trị trong danh sách thả xuống.
  8. Nhấp vào Lưu.

Xem cảnh báo trong trang tổng quan Sự kiện

Khi phát hiện thấy một điều kiện cảnh báo, Edge sẽ tự động ghi điều kiện đó vào trang tổng quan Sự kiện trong giao diện người dùng Edge. Danh sách sự kiện xuất hiện trong trang tổng quan Sự kiện bao gồm tất cả các cảnh báo, cả cảnh báo cố định và cảnh báo chứng chỉ.

Cách xem cảnh báo:

  1. Nhấp vào Phân tích > Sự kiện trong giao diện người dùng Edge. Trang tổng quan Sự kiện mới sẽ xuất hiện:

  2. Lọc trang tổng quan Sự kiện theo:

    • Môi trường
    • Khu vực
    • Khoảng thời gian
  3. Chọn một hàng trong trang tổng quan Sự kiện để hiện Keystore chứa chứng chỉ sắp hết hạn nhằm điều tra thêm về cảnh báo. Trên trang Kho khoá, bạn có thể tải một chứng chỉ mới lên và xoá chứng chỉ sắp hết hạn.

Sử dụng API cảnh báo với cảnh báo giao thông

Hầu hết các API mà bạn dùng để tạo và quản lý cảnh báo giao thông đều giống với những API mà bạn dùng với các loại cảnh báo khác:

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 cố định 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 cảnh báo cố định hoặc cảnh báo bất thường.

Tạo hoặc cập nhật cảnh báo giao thông

Sử dụng cùng các API để tạo hoặc cập nhật cảnh báo giao thông như bạn đang làm đối với các loại cảnh báo khác. Nội dung của lệnh gọi API để tạo hoặc cập nhật cảnh báo giao thông giống như nội dung dùng cho các cảnh báo khác, với những thay đổi sau:

  • Thêm các thuộc tính mới sau đây để chỉ định rằng cảnh báo là cảnh báo giao thông:

    "alertType": "runtime"
    "alertSubType": "trafficfixed"

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

    "alertType": "runtime"
    "alertSubType": "fixed"
  • Trong phần tử dimensions của mảng conditions:
    • Bạn phải đặt giá trị cho các thuộc tính org, env, proxyregion. Chỉ những thuộc tính đó mới được hỗ trợ. Bạn có thể đặt proxyregion thành ALL.
    • Bạn phải đặt giá trị của thuộc tính traffic thành total.
  • Trong mảng conditions:

    • Thuộc tính metrics phải có giá trị là trafficChange.
    • Bạn phải đặt thuộc tính comparator thành increasedBy hoặc decreasedBy.
    • Thuộc tính threshold chứa một giá trị dương, cho biết tỷ lệ phần trăm tăng hoặc giảm lưu lượng truy cập, trong đó giá trị 1.0 tương ứng với 100%. Đối với increasedBy, giá trị phải lớn hơn hoặc bằng 0,0 (0%). Đối với decreasedBy, giá trị phải lớn hơn hoặc bằng 0,0 (0%) và nhỏ hơn hoặc bằng 1,0 (100%).
    • Bạn phải đặt thuộc tính durationSeconds thành một trong các giá trị sau: 3600 (1 giờ), 86400 (1 ngày), 604800 (7 ngày), 1296000 (15 ngày), 2592000 (30 ngày) .
  • Thuộc tính reportEnabled không được hỗ trợ cho cảnh báo giao thông.
Ví dụ sau đây cho thấy cách thiết lập một cảnh báo được kích hoạt khi lưu lượng truy cập cho một tổ chức và môi trường tăng 50% trong khoảng thời gian một giờ. Thông báo sẽ được gửi đến mã PagerDuty đã 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":"My Traffic Alert",
     "description":"My traffic alert",
     "environment":"prod",
     "enabled":true,
     "alertType":"runtime",
     "alertSubType":"trafficfixed",
     "conditions":[
     {
        "description":"",
        "dimensions": {
            "org":"nyorg",
            "env":"prod",
            "proxy":"ALL",
            "region":"ALL",
            "traffic":"total"
        },
        "metric": "trafficChange",
        "threshold": 0.5,
        "durationSeconds": 3600,
        "comparator": "increasedBy"
     }
     ],
     "notifications":[{ "channel":"pagerduty", "destination":"abcd1234efgh56789"}],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
}'

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

Hãy xem phần Xem sự kiện để biết thêm thông tin về cách sử dụng API này.

Nhận cảnh báo giao thông

Theo mặc định, API Get Alerts (Nhận cảnh báo) sẽ trả về thông tin về tất cả các cảnh báo đã xác định. API này hiện sử dụng 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ị hợp lệ là runtime (giá trị mặc định) và cert.
  • alertSubType – Chỉ định loại cảnh báo phụ cần trả về. Giá trị mặc định là chưa đặt, tức là trả về tất cả các loại cảnh báo phụ.

Ví dụ: sử dụng lệnh gọi API sau đây để chỉ trả về các cảnh báo đã bật cho tổ chức có tên là 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 giao 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=trafficfixed'

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