Thông tin về lớp học lập trình này
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 khi kiểm tra thời gian hoạt động đối với tình trạng còn hàng
Khi bật tính năng kiểm tra thời gian hoạt động, bạn có thể nhanh chóng xác định và giải quyết các vấn đề có thể ảnh hưởng đến dịch vụ của mình. Khi nhận được cảnh báo về sự cố ngừng dịch vụ, 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.
Quá trình Kiểm tra thời gian hoạt động diễn ra theo từng 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 sự kiện động thông qua cảnh báo dựa trên nhật ký dưới dạng chỉ báo bổ sung về tình trạng không có sẵn nếu bạn cần độ chi tiết vượt quá 60 giây. Nếu có thể chấp nhận khoảng thời gian từ 60 giây trở lên, thì tính năng Kiểm tra thời gian hoạt động là một cách dễ dàng để đo lường dịch vụ mà bạn chỉ cần định cấu hình bổ sung một chút.
Nếu một dịch vụ không có sẵn, việc kiểm tra thời gian hoạt động sẽ phát hiện sự cố 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ể chịu ảnh hưởng của các yếu tố như 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 làm phân tâm hoạt độ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 dưới dạng kênh thông báo cảnh báo
Chủ đề Pub/Sub có thể được dùng làm kênh thông báo của Google Cloud Monitoring để gửi thông báo đến một gói thuê bao Pub/Sub. Nhờ đó, bạn có thể tích hợp các cảnh báo của giải pháp Giám sát trên đám mây với các hệ thống khác, bao gồm cả các dịch vụ thông báo của bên thứ ba.
Để sử dụng 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 Giám sát trên đám mây sử dụng chủ đề Pub/Sub làm đích đến.
Khi cảnh báo được kích hoạt, giải pháp Giám sát trên đám mây sẽ gửi thông báo về chủ đề Pub/Sub. Sau đó, người đăng ký gói thuê bao Pub/Sub có thể xử lý tin nhắn và có biện pháp xử lý 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 chủ đề Pub/Sub và tạo thông báo kiểm tra thời gian hoạt động cho ứng dụng 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 chủ đề Pub/Sub
- Cách tạo tính năng kiểm tra thời gian hoạt động và cảnh báo
Lớp học lập trình này tập trung vào việc tạo cảnh báo cho việc kiểm tra thời gian hoạt động. Các khái niệm và mã xử lý ứng dụng không liên quan được che đi và chỉ được cung cấp cho bạn để sao chép và dán.
Bạn cần có
- Một tài khoản Google Cloud có quyền:
- Triển khai các ứng dụng Cloud Run
- Tạo chủ đề Pub/Sub
- Tạo chế độ kiểm tra thời gian hoạt động
- Tạo cảnh 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 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 Create Project (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 bổ sung 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 tài khoản mới.
- Tạo: Sau khi nhập tất cả thông tin cần thiết, hãy nhấp vào nút Create (Tạo) để tạo dự án.
Để biết thêm thông tin, vui lòng xem tài liệu về cách tạo dự án trên Google Cloud.
3. Triển khai ứng dụng API
Ứng dụng hoặc API mẫu nói về vấn đề gì?
Ứng dụng của chúng ta là một ứng dụng API Inventory (API Kho hàng) đơn giản hiển thị Điểm cuối API REST cùng một số thao tác để liệt kê các mặt hàng tồn kho và lấy số lượng mặt hàng cụ thể trong kho hàng.
Sau khi triển khai API và giả định rằng API đó được lưu trữ tại https://<somehost>, chúng ta có thể truy cập vào các điểm cuối của API như sau:
https://<somehost>/inventory
Thao tác này sẽ liệt kê tất cả các mặt hàng sản phẩm có cấp kho hàng sẵn có.
https://<somehost>/inventory/{productid}
Mã này sẽ cung cấp một bản ghi có cấp độ sản phẩm và cấp kho hàng trên tay cho sản phẩm đó.
Dữ liệu phản hồi được trả về có định dạng JSON.
Lưu ý: Ứng dụng API này chỉ dành cho mục đích minh hoạ và không đại diện cho cách triển khai API an toàn và mạnh mẽ. Chương trình này nhằm cung cấp một ứng dụng nhanh cho chúng tôi để khám phá mục đích chính của phòng thí nghiệm này, cụ thể là Google Cloud Operations.
Yêu cầu/Phản hồi mẫu và dữ liệu
Ứng dụng này không được cơ sở dữ liệu hỗ trợ ở phần phụ trợ để đảm bảo mọi thứ đơn giản. Nó chứa 3 mã sản phẩm mẫu và các cấp khoảng không quảng cáo sẵn có.
Id Sản phẩm | Cấp khoảng không quảng cáo có sẵn |
I-1 | 10 |
I-2 | 20 |
I-3 | 30 |
Dưới đây là mẫu Yêu cầu và phản hồi của API:
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ù bạn 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 trong Đám mây.
Trong Bảng điều khiển GCP, hãy nhấp vào biểu tượng Cloud Shell ở thanh công cụ trên cùng bên phải:
Sẽ chỉ mất một chút thời gian để cấp phép và kết nối với môi trường. Sau khi hoàn tất, bạn sẽ thấy như sau:
Máy ảo này chứa tất cả các công cụ phát triển mà bạn cần. Phiên bản này cung cấp thư mục gốc có dung lượng ổn định 5 GB và chạy trên Google Cloud, giúp nâng cao đáng kể hiệu suất và khả năng xác thực của mạng. Bạn có thể thực hiện tất cả công việc trong phòng thí nghiệm này chỉ bằng một trình duyệt.
Thiết lập gcloud
Trong Cloud Shell, hãy đặt mã dự án và lưu mã này 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 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:
- Trên cửa sổ dòng lệnh, hãy chuyển đến phiên bản Python của API thông qua lệnh sau:
$
cd
cloud-code-sample-repository
$
cd
python-flask-api
- Trong thiết bị đầu cuối, hãy cung cấp lệnh sau (Tại thời điểm viết, Cloud Shell đi kèm với Python 3.9.x được cài đặt và chúng tôi sẽ sử dụng phiên bản mặc định. Nếu bạn dự định chạy nó trên máy tính xách tay của mình, bạn có thể sử dụng Python 3.8+) :
$
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. Một cửa sổ trình duyệt sẽ mở ra. Bạn sẽ thấy Lỗi 404 và điều này không có vấn đề gì. Sửa đổi URL và thay đổi thành chỉ có /inventory sau tên máy chủ.
Ví dụ: trên máy của tôi sẽ 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 tồn kho như được giải thích trước đó:
- Bạn có thể dừng máy chủ ngay bây giờ bằng cách đi đến Terminal và nhấn Ctrl-C
Triển khai ứng dụng
Bây giờ, chúng tôi sẽ triển khai ứng dụng API này cho Cloud Run. Quy trình sử dụng ứng dụng dòng lệnh gcloud để chạy lệnh nhằm triển khai mã cho Cloud Run.
Trên cửa sổ dòng lệnh, hãy dùng lệnh gcloud sau đây:
$ gcloud run deploy --source .
Tính năng 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): Dùng giá trị mặc định này hoặc chọn tên tương tự như my-inventory-api
- API [run.googleapis.com] không được bật trên dự án [613162942481]. Bạn có muốn bật rồi thử lại không (quá trình này sẽ mất vài phút)? (có) không? Có
- Vui lòng chỉ định một khu vực: Chọn 31 (us-west-1)
- API [artifactregistry.googleapis.com] không được bật trên dự án [613162942481]. Bạn có muốn bật rồi thử lại không (quá trình này sẽ mất vài phút)? (có) không? Có
- Việc triển khai từ nguồn yêu cầu kho lưu trữ Artifact Registry Docker để lưu trữ các vùng chứa đã dựng. Một kho lưu trữ có tên [cloud-run-source-deploy] tại khu vực [us-west1] sẽ được tạo.
- Bạn có muốn tiếp tục (Có/không)? Có
- Cho phép các lệnh gọi chưa được xác thực tới [my-inventory-api] (y/N)? Có
Cuối cùng, quá trình này sẽ khởi động quá trình lấy mã nguồn của bạn, lưu trữ mã, đẩy mã vào Sổ đăng ký cấu phần phần mềm rồi triển khai dịch vụ + bản sửa đổi Cloud Run. Bạn nên kiên nhẫn thông qua quá trình này (có thể mất 3-4 phút) và bạn sẽ thấy quá trình được hoàn tất với URL dịch vụ được hiển thị cho bạn.
Dưới đây là một lần chạy mẫu:
Kiểm thử ứng dụng
Hiện tại, chúng ta đã 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:
- Ghi lại URL Dịch vụ ở bước trước. Ví dụ: trong quá trình thiết lập của tôi, tên này hiển thị là
https://my-inventory-api-bt2r5243dq-uw.a.run.app
. Hãy gọi đây là<SERVICE_URL>
. - Mở trình duyệt và 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 và phản hồi đó phải theo các thông số kỹ thuật mà chúng tôi đã cung cấp trong phần trước với 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 lên Cloud Run, một môi trường điện toán không máy chủ. Chúng tôi có thể truy cập dịch vụ Cloud Run qua bảng điều khiển Google 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à bạn vừa triển khai. Tuỳ thuộc vào tên mà bạn đã chọn, bạn sẽ thấy như sau:
Nhấp vào tên Dịch vụ để xem chi tiết. Dưới đây là thông tin chi tiết về mẫu:
Hãy lưu ý URL. URL này không gì khác ngoài URL dịch vụ mà bạn có thể bấm vào trình duyệt và truy cập vào Inventory API (API Khoảng không quảng cáo) mà chúng ta vừa triển khai. Hãy xem phần Chỉ số và các 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ủ đề trên Pub/Sub, bạn có thể làm theo các bước sau trong Google Cloud Console:
- 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 bật 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 thành phần này cho phần tiếp theo.
5. Tạo quy trình 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, nhấp vào nút Tạo 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 ví dụ trong màn hình dưới đây. Nếu bạn không chắc URL của dịch vụ là gì, 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 về dịch vụ Cloud Run như giải thích trước để lấy URL của dịch vụ.
- Đường dẫn : khoẻ mạnh
- Tần suất kiểm tra: 1 phút
- Nhấp vào Tiếp tục
- Bật Tính năng so khớp nội dung đang bật
- Nhập "All Izz Well" (Tất cả bình thường) trong phần Nội dung phản hồi; chuỗi này đã có trong ứng dụng khi gửi phản hồi hoàn chỉnh.
- Keep
- Đặt Mã phản hồi HTTP được chấp nhận thành Lớp mã phản hồi và 2xx làm 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á chuỗi và mọi nội dung khác sẽ tự động được tính là kiểm tra không thành công.
- 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
- Hãy bổ sung tiêu đề dễ nhận ra
- Nhấp vào nút Kiểm tra
- Xem lại và nhấp vào nút Create (Tạo) sau khi đã sẵn sàng
Quá trình kiểm tra thời gian hoạt động sẽ được tạo và bắt đầu giám sát ứng dụng Cloud Run của bạn. Bạn có thể xem trạng thái 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 tính năng Kiểm tra thời gian hoạt động để gửi cảnh báo tới Pub/Sub!