1. Giới thiệu
Lần cập nhật gần đây nhất: Ngày 21 tháng 6 năm 2023
Cảnh báo về các chế độ Kiểm tra thời gian hoạt động để biết tình trạng sẵn sàng
Cảnh báo về các lần kiểm tra thời gian hoạt động giúp bạn nhanh chóng xác định và giải quyết những vấn đề có thể ảnh hưởng đến dịch vụ của bạn. Khi nhận được cảnh báo về sự cố ngừng hoạt động, bạn có thể thực hiện các bước để giảm thiểu tác động đến người dùng và khách hàng.
Kiểm tra thời gian hoạt động diễn ra theo các khoảng thời gian, trong đó khoảng thời gian ngắn nhất là 60 giây. Bạn cũng nên theo dõi mã lỗi dưới dạng các sự kiện động thông qua cảnh báo dựa trên nhật ký như một chỉ báo bổ sung về tình trạng không có sẵn nếu bạn cần độ chi tiết cao hơn 60 giây. Nếu bạn chấp nhận khoảng thời gian 60 giây trở lên, thì kiểm tra thời gian hoạt động là một cách dễ dàng để đo lường dịch vụ của bạn mà không cần thêm nhiều cấu hình.
Nếu một dịch vụ không hoạt động, thì quy trình kiểm tra thời gian hoạt động sẽ phát hiện ra vấn đề ngay cả khi không có lưu lượng truy cập. Mặt khác, lưu lượng truy cập có thể bị ảnh hưởng bởi các yếu tố như hoạt động bảo trì, nâng cấp và thậm chí cả các yếu tố bên ngoài hệ thống, chẳng hạn như thời tiết xấu hoặc các sự kiện thể thao khiến người dùng không sử dụng.
Để biết thêm thông tin về thời điểm sử dụng chế độ kiểm tra thời gian hoạt động, vui lòng tham khảo bài viết Đảm bảo thời gian hoạt động của các tài nguyên trên Google Cloud.
Chủ đề Pub/Sub làm kênh thông báo cảnh báo
Bạn có thể sử dụng một chủ đề Pub/Sub làm kênh thông báo của Google Cloud Monitoring để gửi cảnh báo đến một gói thuê bao Pub/Sub. Điều này cho phép bạn tích hợp các cảnh báo của Cloud Monitoring với các hệ thống khác, bao gồm cả dịch vụ thông báo của bên thứ ba.
Để sử dụng một chủ đề Pub/Sub làm kênh thông báo, trước tiên, bạn cần tạo một chủ đề Pub/Sub và một gói thuê bao Pub/Sub. Sau đó, bạn cần tạo một kênh thông báo Cloud Monitoring sử dụng chủ đề Pub/Sub làm đích đến.
Khi một cảnh báo được kích hoạt, Cloud Monitoring sẽ gửi một thông báo đến chủ đề Pub/Sub. Sau đó, người đăng ký gói thuê bao Pub/Sub có thể xử lý thông báo và thực hiện hành động thích hợp.
Sản phẩm bạn sẽ tạo ra
Trong lớp học lập trình này, bạn sẽ triển khai một ứng dụng, tạo một chủ đề Pub/Sub và tạo một cảnh báo kiểm tra thời gian hoạt động cho ứng dụng sử dụng chủ đề Pub/Sub làm kênh thông báo.
Kiến thức bạn sẽ học được
- Cách tạo một chủ đề Pub/Sub
- Cách tạo cảnh báo và kiểm tra thời gian hoạt động
Lớp học lập trình này tập trung vào việc tạo cảnh báo cho một quy trình kiểm tra thời gian hoạt động. Các khái niệm không liên quan và mã xử lý ứng dụng được tinh chỉnh và cung cấp cho bạn, chỉ cần sao chép và dán.
Bạn cần có
- Tài khoản Google Cloud có các quyền sau:
- Triển khai ứng dụng Cloud Run
- Tạo chủ đề Pub/Sub
- Tạo chế độ kiểm tra thời gian hoạt động
- Tạo thông báo
2. Thiết lập
Chọn hoặc tạo một dự án trên Google Cloud
Để chọn một dự án hiện có, hãy sử dụng trình đơn thả xuống:

Để tạo một dự án mới trong Google Cloud, bạn có thể làm theo các bước sau:
- Truy cập vào Bảng điều khiển Google Cloud Platform.
- Nhấp vào nút Tạo dự án.
- Nhập tên cho dự án của bạn.
- Chọn một tài khoản thanh toán cho dự án của bạn.
- Nhấp vào nút Tạo.
Dự án của bạn sẽ được tạo và bạn sẽ được chuyển đến trang tổng quan về dự án. Từ đó, bạn có thể bắt đầu sử dụng các dịch vụ của Google Cloud.
Dưới đây là một số thông tin chi tiết khác về từng bước:
- Tên: Tên dự án phải là duy nhất trong tổ chức của bạn.
- Tài khoản thanh toán: Bạn có thể sử dụng tài khoản thanh toán hiện có hoặc tạo một tài khoản thanh toán mới.
- Tạo: Sau khi bạn nhập tất cả thông tin bắt buộc, hãy nhấp vào nút Tạo để tạo dự án.
Để biết thêm thông tin, vui lòng xem tài liệu của Google Cloud về cách tạo dự án.
3. Triển khai Ứng dụng API
Ứng dụng hoặc API mẫu này là gì?
Ứng dụng của chúng tôi là một ứng dụng API Kho hàng đơn giản, hiển thị một điểm cuối API REST với một số thao tác để liệt kê các mặt hàng trong kho và nhận số lượng hàng tồn kho của một mặt hàng cụ thể.
Sau khi triển khai API và giả sử API này được lưu trữ tại https://<somehost>, chúng ta có thể truy cập vào các điểm cuối API như sau:
https://<somehost>/inventory
Thao tác này sẽ liệt kê tất cả các mặt hàng có số lượng hàng tồn kho hiện có.
https://<somehost>/inventory/{productid}
Thao tác này sẽ cung cấp một bản ghi duy nhất có productid và mức tồn kho hiện có của sản phẩm đó.
Dữ liệu phản hồi được trả về ở định dạng JSON.
Lưu ý: Ứng dụng API này chỉ nhằm mục đích minh hoạ và không thể hiện một cách triển khai API an toàn và mạnh mẽ. Mục đích của việc này là để chúng tôi có thể nhanh chóng sử dụng ứng dụng, khám phá mục đích chính của phòng thí nghiệm, tức là Google Cloud Operations.
Dữ liệu mẫu và yêu cầu/phản hồi API
Ứng dụng này không được hỗ trợ bởi cơ sở dữ liệu ở phần phụ trợ để quy trình được đơn giản. Tệp này chứa 3 mã sản phẩm mẫu và số lượng hàng tồn kho của các sản phẩm đó.
Id Sản phẩm | Lượng hàng trong kho |
I-1 | 10 |
I-2 | 20 |
I-3 | 30 |
Yêu cầu và phản hồi API mẫu được trình bày bên dưới:
Yêu cầu API | Phản hồi của API |
https://<somehost>/inventory | [ { "I-1": 10, "I-2": 20, "I-3": 30 }] |
https://<somehost>/inventory/I-1 | { "productid": "I-1", "qty": 10} |
https://<somehost>/inventory/I-2 | { "productid": "I-2", "qty": 20} |
https://<somehost>/inventory/I-200 | { "productid": I-200, "qty": -1} |
Sao chép Kho lưu trữ
Mặc dù có thể vận hành Google Cloud từ xa trên máy tính xách tay, nhưng trong lớp học lập trình này, bạn sẽ sử dụng Google Cloud Shell, một môi trường dòng lệnh chạy trên Cloud.
Trên Bảng điều khiển GCP, hãy nhấp vào biểu tượng Cloud Shell trên thanh công cụ ở trên cùng bên phải:

Quá trình này chỉ mất vài phút để cung cấp và kết nối với môi trường. Khi quá trình này kết thúc, bạn sẽ thấy như sau:

Máy ảo này được trang bị tất cả các công cụ phát triển mà bạn cần. Nó cung cấp một thư mục chính có dung lượng 5 GB và chạy trên Google Cloud, giúp tăng cường đáng kể hiệu suất mạng và hoạt động xác thực. Bạn chỉ cần một trình duyệt để thực hiện mọi thao tác trong phòng thí nghiệm này.
Thiết lập gcloud
Trong Cloud Shell, hãy đặt mã dự án rồi lưu mã dự án đó dưới dạng biến PROJECT_ID.
PROJECT_ID=[YOUR-PROJECT-ID]
gcloud config set project $PROJECT_ID
Bây giờ, hãy thực thi lệnh sau:
$ git clone https://github.com/rominirani/cloud-code-sample-repository.git
Thao tác này sẽ tạo một thư mục có tên là cloud-code-sample-repository trong thư mục này.
(Không bắt buộc) Chạy ứng dụng trên Cloud Shell
Bạn có thể chạy ứng dụng cục bộ bằng cách làm theo các bước sau:
- Trong dòng lệnh, hãy chuyển đến phiên bản Python của API bằng lệnh sau:
$ cd cloud-code-sample-repository
$ cd python-flask-api
- Trong cửa sổ dòng lệnh, hãy cung cấp lệnh sau (Tại thời điểm viết, Cloud Shell đã cài đặt Python 3.9.x và chúng ta sẽ sử dụng phiên bản mặc định. Nếu dự định chạy ứng dụng này trên máy tính xách tay, bạn có thể sử dụng Python 3.8 trở lên:
$ python app.py
- Bạn có thể chạy lệnh sau để khởi động Máy chủ Python cục bộ.

Nhấp vào Xem trước trên cổng 8080. 5. Thao tác này sẽ mở một cửa sổ trình duyệt. Bạn sẽ thấy Lỗi 404 và điều đó không sao cả. Sửa đổi URL để chỉ có /inventory sau tên máy chủ.
Ví dụ: trên máy của tôi, đường dẫn này có dạng như sau:
https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory
Thao tác này sẽ hiển thị danh sách các mặt hàng trong kho như đã giải thích trước đó:

- Giờ đây, bạn có thể dừng máy chủ bằng cách chuyển đến Terminal rồi nhấn Ctrl-C
Triển khai ứng dụng
Giờ đây, chúng ta sẽ triển khai ứng dụng API này lên Cloud Run. Quy trình này liên quan đến việc sử dụng ứng dụng dòng lệnh gcloud để chạy lệnh triển khai mã vào Cloud Run.
Trên cửa sổ dòng lệnh, hãy đưa ra lệnh gcloud sau:
$ gcloud run deploy --source .
Thao tác này sẽ hỏi bạn nhiều câu hỏi và một số điểm được đề cập dưới đây:
- Tên dịch vụ (python-flask-api): Bạn có thể sử dụng tên mặc định này hoặc chọn tên khác, chẳng hạn như my-inventory-api
- API [run.googleapis.com] chưa được bật trên dự án [613162942481]. Bạn có muốn bật và thử lại không (quá trình này sẽ mất vài phút)? (y/N)? Có
- Vui lòng chỉ định một khu vực: Chọn 31 (us-west-1)
- API [artifactregistry.googleapis.com] chưa được bật trên dự án [613162942481]. Bạn có muốn bật và thử lại không (quá trình này sẽ mất vài phút)? (y/N)? Có
- Việc triển khai từ nguồn yêu cầu phải có một kho lưu trữ Docker của Artifact Registry để lưu trữ các vùng chứa đã tạo. Một kho lưu trữ có tên [cloud-run-source-deploy] trong khu vực [us-west1] sẽ được tạo.
- Bạn có muốn tiếp tục không (Y/n)? Có
- Cho phép các lệnh gọi chưa xác thực đến [my-inventory-api] (y/N)? Có
Cuối cùng, thao tác này sẽ bắt đầu quy trình lấy mã nguồn của bạn, đưa mã nguồn vào vùng chứa, đẩy mã nguồn đó vào Artifact Registry rồi triển khai dịch vụ Cloud Run + bản sửa đổi. Bạn nên kiên nhẫn trong quá trình này (có thể mất 3-4 phút) và bạn sẽ thấy quá trình hoàn tất với URL dịch vụ xuất hiện.
Sau đây là ví dụ về một lần chạy:

Kiểm thử ứng dụng
Giờ đây, sau khi triển khai ứng dụng lên Cloud Run, bạn có thể truy cập vào ứng dụng API như sau:
- Lưu ý URL dịch vụ ở bước trước. Ví dụ: trên chế độ thiết lập của tôi, biểu tượng này xuất hiện dưới dạng
https://my-inventory-api-bt2r5243dq-uw.a.run.app. Hãy gọi tệp này là<SERVICE_URL>. - Mở một trình duyệt rồi truy cập vào 3 URL sau cho các điểm cuối API:
<SERVICE_URL>/inventory<SERVICE_URL>/inventory/I-1<SERVICE_URL>/inventory/I-100
Yêu cầu này phải tuân theo quy cách mà chúng tôi đã cung cấp trong một phần trước đó, kèm theo Yêu cầu và Phản hồi API mẫu.
Nhận thông tin chi tiết về dịch vụ từ Cloud Run
Chúng tôi đã triển khai Dịch vụ API của mình cho Cloud Run, một môi trường điện toán không máy chủ. Chúng ta có thể truy cập vào dịch vụ Cloud Run thông qua bảng điều khiển Cloud bất cứ lúc nào.
Trong trình đơn chính, hãy chuyển đến Cloud Run. Thao tác này sẽ hiển thị danh sách các dịch vụ mà bạn đang chạy trong Cloud Run. Bạn sẽ thấy dịch vụ mà mình vừa triển khai. Tuỳ thuộc vào tên mà bạn đã chọn, bạn sẽ thấy nội dung tương tự như sau:

Nhấp vào Tên dịch vụ để xem thông tin chi tiết. Sau đây là thông tin chi tiết về mẫu:

Hãy chú ý đến URL. Đây chỉ là URL dịch vụ mà bạn có thể nhập vào trình duyệt và truy cập vào API Kho hàng mà chúng ta vừa triển khai. Xem các chỉ số và thông tin chi tiết khác.
Hãy bắt đầu sử dụng Google Cloud Operations Suite ngay bây giờ.
4. Tạo một chủ đề Pub/Sub để nhận thông báo cảnh báo
Để tạo một chủ đề Pub/Sub, bạn có thể làm theo các bước sau trong Bảng điều khiển Google Cloud:
- Tìm Pub/Sub trong hộp Tìm kiếm rồi chuyển đến Pub/Sub.

- Nhấp vào thẻ Chủ đề nếu bạn chưa chuyển đến thẻ này.

- Nhấp vào nút Tạo chủ đề.

- Nhập tên cho chủ đề của bạn.

- Nhấp vào nút Tạo.

- Sao chép Tên chủ đề bằng nút biểu tượng sao chép. Bạn sẽ cần đến khoá này cho phần tiếp theo.

5. Tạo một chế độ kiểm tra thời gian hoạt động
Cách tạo chế độ kiểm tra thời gian hoạt động cho một ứng dụng Google Cloud Run:
- Truy cập vào Bảng điều khiển Google Cloud Platform.
- Nhấp vào thẻ Giám sát.
- Nhấp vào thẻ Kiểm tra thời gian hoạt động.
- Ở gần đầu trang, hãy nhấp vào nút Tạo chế độ kiểm tra thời gian hoạt động.

- Hãy sử dụng các giá trị sau:
- Giao thức : HTTPS
- Loại tài nguyên : URL
- Tên máy chủ : Nhập phần URL dịch vụ Cloud Run không có https. Bạn có thể xem mẫu trong màn hình bên dưới. Nếu bạn không chắc chắn về URL dịch vụ, hãy chuyển đến Cloud Run trên Google Cloud Console chính rồi chuyển đến phần thông tin chi tiết của dịch vụ Cloud Run như đã giải thích trước đó để lấy URL dịch vụ.
- Đường dẫn : healthy
- Tần suất kiểm tra: 1 phút

- Nhấp vào Tiếp tục
- Bật chế độ Đã bật tính năng so khớp nội dung
- Nhập "All Izz Well" trong mục Response Content (Nội dung phản hồi); chuỗi này đã có trong ứng dụng khi ứng dụng gửi câu trả lời hoàn chỉnh.
- Keep

- Giữ Mã phản hồi HTTP chấp nhận được ở chế độ Các lớp mã phản hồi và 2xx là lớp mã phản hồi duy nhất. Bằng cách này, chỉ những mã phản hồi có 2xx mới được đánh giá cho chuỗi và mọi mã khác sẽ tự động được tính là không đạt.

- Nhấp vào Tiếp tục
- Chọn chủ đề Cloud Pub/Sub làm kênh thông báo rồi nhấp vào OK

- Nhấp vào Tiếp tục
- Thêm tiêu đề dễ nhận biết

- Nhấp vào nút Kiểm thử

- Xem lại rồi nhấp vào nút Tạo khi đã sẵn sàng

Chế độ kiểm tra thời gian hoạt động của bạn sẽ được tạo và bắt đầu giám sát ứng dụng Cloud Run. Bạn có thể xem trạng thái của chế độ kiểm tra thời gian hoạt động trong thẻ Kiểm tra thời gian hoạt động.

6. Xin chúc mừng
Xin chúc mừng! Bạn đã định cấu hình thành công Uptime Check để gửi cảnh báo đến Pub/Sub!