1. บทนำ
ปรับปรุงล่าสุด: 21 มิ.ย. 2023
การแจ้งเตือนเกี่ยวกับการตรวจสอบระยะเวลาทำงานเพื่อความพร้อมใช้งาน
การแจ้งเตือนเกี่ยวกับการตรวจสอบเวลาทํางานช่วยให้คุณระบุและแก้ไขปัญหาที่อาจส่งผลต่อบริการได้อย่างรวดเร็ว การได้รับการแจ้งเตือนเมื่อเกิดการหยุดทำงานจะช่วยให้คุณดำเนินการเพื่อลดผลกระทบต่อผู้ใช้และลูกค้าได้
การตรวจสอบช่วงเวลาที่ระบบทำงานจะเกิดขึ้นเป็นช่วงๆ โดยช่วงเวลาที่สั้นที่สุดคือ 60 วินาที คุณอาจต้องตรวจสอบรหัสข้อผิดพลาดเป็นเหตุการณ์แบบไดนามิกผ่านการแจ้งเตือนตามบันทึกเพื่อเป็นตัวบ่งชี้เพิ่มเติมว่าไม่พร้อมใช้งาน หากต้องการความละเอียดมากกว่า 60 วินาที หากยอมรับช่วงเวลา 60 วินาทีหรือนานกว่านั้นได้ การตรวจสอบเวลาทำงานจะเป็นวิธีที่ง่ายในการวัดบริการโดยไม่ต้องกำหนดค่าเพิ่มเติม
หากบริการไม่พร้อมใช้งาน การตรวจสอบเวลาทำงานจะตรวจพบปัญหาแม้ว่าจะไม่มีการเข้าชมก็ตาม ในทางกลับกัน การเข้าชมอาจได้รับผลกระทบจากปัจจัยต่างๆ เช่น การบำรุงรักษา การอัปเกรด หรือแม้แต่ปัจจัยภายนอกระบบ เช่น สภาพอากาศไม่ดีหรือการแข่งขันกีฬาที่ทำให้ผู้ใช้เสียสมาธิ
ดูข้อมูลเพิ่มเติมเกี่ยวกับเวลาที่ควรใช้การตรวจสอบช่วงเวลาที่ระบบทำงานได้ที่ตรวจสอบช่วงเวลาที่ระบบทำงานได้ของทรัพยากร Google Cloud
หัวข้อ Pub/Sub เป็นช่องทางการแจ้งเตือน
คุณใช้หัวข้อ Pub/Sub เป็นช่องทางการแจ้งเตือนของ Google Cloud Monitoring เพื่อส่งการแจ้งเตือนไปยังการสมัครใช้บริการ Pub/Sub ได้ ซึ่งจะช่วยให้คุณผสานรวมการแจ้งเตือนของ Cloud Monitoring กับระบบอื่นๆ รวมถึงบริการแจ้งเตือนของบุคคลที่สามได้
หากต้องการใช้หัวข้อ Pub/Sub เป็นช่องทางการแจ้งเตือน คุณต้องสร้างหัวข้อ Pub/Sub และการสมัครใช้บริการ Pub/Sub ก่อน จากนั้นคุณต้องสร้างช่องทางการแจ้งเตือนของ Cloud Monitoring ที่ใช้หัวข้อ Pub/Sub เป็นปลายทาง
เมื่อมีการทริกเกอร์การแจ้งเตือน Cloud Monitoring จะส่งข้อความไปยังหัวข้อ Pub/Sub จากนั้นผู้สมัครใช้บริการ Pub/Sub จะประมวลผลข้อความและดำเนินการที่เหมาะสมได้
สิ่งที่คุณจะสร้าง
ใน Codelab นี้ คุณจะได้ติดตั้งใช้งานแอป สร้างหัวข้อ Pub/Sub และสร้างการแจ้งเตือนการตรวจสอบระยะเวลาทำงานสำหรับแอปที่ใช้หัวข้อ Pub/Sub เป็นช่องทางการแจ้งเตือน
สิ่งที่คุณจะได้เรียนรู้
- วิธีสร้างหัวข้อ Pub/Sub
- วิธีสร้างการตรวจสอบระยะเวลาทำงานและการแจ้งเตือน
Codelab นี้มุ่งเน้นการสร้างการแจ้งเตือนสำหรับการตรวจสอบระยะเวลาทำงาน เราจะข้ามแนวคิดและโค้ดแอปพลิเคชันที่ไม่เกี่ยวข้องไป และจะให้คุณคัดลอกและวางได้เลย
สิ่งที่คุณต้องมี
- บัญชี Google Cloud ที่มีสิทธิ์ต่อไปนี้
- ติดตั้งใช้งานแอปพลิเคชัน Cloud Run
- สร้างหัวข้อ Pub/Sub
- สร้างการตรวจสอบระยะเวลาทำงาน
- สร้างการแจ้งเตือน
2. การเริ่มตั้งค่า
เลือกหรือสร้างโปรเจ็กต์ Google Cloud
หากต้องการเลือกโปรเจ็กต์ที่มีอยู่ ให้ใช้เมนูแบบเลื่อนลง

หากต้องการสร้างโปรเจ็กต์ใหม่ใน Google Cloud ให้ทำตามขั้นตอนต่อไปนี้
- ไปที่คอนโซล Google Cloud Platform
- คลิกปุ่มสร้างโปรเจ็กต์
- ป้อนชื่อโครงการ
- เลือกบัญชีสำหรับการเรียกเก็บเงินสำหรับโปรเจ็กต์
- คลิกที่ปุ่มสร้าง
ระบบจะสร้างโปรเจ็กต์และนำคุณไปยังแดชบอร์ดโปรเจ็กต์ จากนั้นคุณจะเริ่มใช้บริการ Google Cloud ได้
รายละเอียดเพิ่มเติมเกี่ยวกับแต่ละขั้นตอนมีดังนี้
- ชื่อ: ชื่อโปรเจ็กต์ต้องไม่ซ้ำกันภายในองค์กร
- บัญชีสำหรับการเรียกเก็บเงิน: คุณจะใช้บัญชีสำหรับการเรียกเก็บเงินที่มีอยู่หรือสร้างบัญชีใหม่ก็ได้
- สร้าง: เมื่อป้อนข้อมูลที่จำเป็นทั้งหมดแล้ว ให้คลิกปุ่มสร้างเพื่อสร้างโปรเจ็กต์
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบของ Google Cloud เกี่ยวกับการสร้างโปรเจ็กต์
3. ทําให้แอปพลิเคชัน API ใช้งานได้
แอปพลิเคชันหรือ API ตัวอย่างเกี่ยวกับอะไร
แอปพลิเคชันของเราเป็นแอปพลิเคชัน Inventory API อย่างง่ายที่แสดงปลายทาง REST API พร้อมการดำเนินการ 2-3 อย่างเพื่อแสดงรายการสินค้าคงคลังและรับจำนวนสินค้าคงคลังของสินค้าที่เฉพาะเจาะจง
เมื่อเราติดตั้งใช้งาน API และสมมติว่าโฮสต์อยู่ที่ https://<somehost> เราจะเข้าถึงปลายทาง API ได้ดังนี้
https://<somehost>/inventory
ซึ่งจะแสดงรายการสินค้าทั้งหมดพร้อมระดับสินค้าคงคลังที่มีอยู่
https://<somehost>/inventory/{productid}
ซึ่งจะแสดงระเบียนเดียวที่มี productid และระดับสินค้าคงคลังที่มีอยู่สำหรับผลิตภัณฑ์นั้น
ข้อมูลการตอบกลับที่แสดงเป็นรูปแบบ JSON
หมายเหตุ: แอปพลิเคชัน API นี้มีไว้เพื่อการสาธิตเท่านั้น และไม่ได้แสดงถึงการติดตั้งใช้งาน API ที่ปลอดภัยและมีประสิทธิภาพ โดยมีจุดประสงค์เพื่อให้เรามีแอปพลิเคชันที่พร้อมใช้งานอย่างรวดเร็วเพื่อสำรวจวัตถุประสงค์หลักของห้องทดลอง นั่นคือ Google Cloud Operations
ข้อมูลตัวอย่างและคำขอ/การตอบกลับของ API
แอปพลิเคชันไม่ได้ขับเคลื่อนด้วยฐานข้อมูลที่แบ็กเอนด์เพื่อให้ทุกอย่างเรียบง่าย ซึ่งมีรหัสผลิตภัณฑ์ตัวอย่าง 3 รายการและระดับสินค้าคงคลังที่มีอยู่
รหัสสินค้า | ระดับสินค้าคงคลังในมือ |
I-1 | 10 |
I-2 | 20 |
I-3 | 30 |
ตัวอย่างคำขอและการตอบกลับจาก API แสดงอยู่ด้านล่าง
คำขอ API | การตอบกลับจาก 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} |
โคลนที่เก็บ
แม้ว่าคุณจะใช้งาน Google Cloud จากระยะไกลจากแล็ปท็อปได้ แต่ใน Codelab นี้คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์
จาก GCP Console ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน

การจัดสรรและเชื่อมต่อกับสภาพแวดล้อมจะใช้เวลาเพียงไม่กี่นาที เมื่อเสร็จแล้ว คุณควรเห็นข้อความคล้ายกับตัวอย่างต่อไปนี้

เครื่องเสมือนนี้มีเครื่องมือพัฒนาซอฟต์แวร์ทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักแบบถาวรขนาด 5 GB และทำงานบน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก คุณสามารถทำงานทั้งหมดในห้องทดลองนี้ได้โดยใช้เพียงเบราว์เซอร์
ตั้งค่า gcloud
ใน Cloud Shell ให้ตั้งรหัสโปรเจ็กต์และบันทึกเป็นตัวแปร PROJECT_ID
PROJECT_ID=[YOUR-PROJECT-ID]
gcloud config set project $PROJECT_ID
ตอนนี้ให้เรียกใช้คำสั่งต่อไปนี้
$ git clone https://github.com/rominirani/cloud-code-sample-repository.git
ซึ่งจะสร้างโฟลเดอร์ชื่อ cloud-code-sample-repository ในโฟลเดอร์นี้
(ไม่บังคับ) เรียกใช้แอปพลิเคชันใน Cloud Shell
คุณเรียกใช้แอปพลิเคชันในเครื่องได้โดยทำตามขั้นตอนต่อไปนี้
- จากเทอร์มินัล ให้ไปที่ API เวอร์ชัน Python โดยใช้คำสั่งต่อไปนี้
$ cd cloud-code-sample-repository
$ cd python-flask-api
- ในเทอร์มินัล ให้ป้อนคำสั่งต่อไปนี้ (ขณะที่เขียนบทความนี้ Cloud Shell มีการติดตั้ง Python 3.9.x ไว้แล้ว และเราจะใช้เวอร์ชันเริ่มต้น หากวางแผนที่จะเรียกใช้ในแล็ปท็อปของคุณ ให้ใช้ Python 3.8 ขึ้นไป
$ python app.py
- คุณเรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มเซิร์ฟเวอร์ Python ในเครื่องได้

คลิกดูตัวอย่างบนพอร์ต 8080 5. ซึ่งจะเป็นการเปิดหน้าต่างเบราว์เซอร์ คุณจะเห็นข้อผิดพลาด 404 ซึ่งไม่เป็นไร แก้ไข URL และเปลี่ยนให้มีเพียง /inventory หลังชื่อโฮสต์
เช่น ในเครื่องของฉัน จะมีลักษณะดังนี้
https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory
ซึ่งจะแสดงรายการสินค้าคงคลังตามที่อธิบายไว้ก่อนหน้านี้

- คุณหยุดเซิร์ฟเวอร์ได้โดยไปที่เทอร์มินัลแล้วกด Ctrl-C
ทำให้แอปพลิเคชันใช้งานได้
ตอนนี้เราจะติดตั้งใช้งานแอปพลิเคชัน API นี้ใน Cloud Run กระบวนการนี้เกี่ยวข้องกับการใช้ไคลเอ็นต์บรรทัดคำสั่ง gcloud เพื่อเรียกใช้คำสั่งทำให้โค้ดใช้งานได้ใน Cloud Run
จากเทอร์มินัล ให้ป้อนคำสั่ง gcloud ต่อไปนี้
$ gcloud run deploy --source .
โดยจะถามคำถามหลายข้อและมีประเด็นบางอย่างที่ระบุไว้ด้านล่าง
- ชื่อบริการ (python-flask-api): ใช้ชื่อเริ่มต้นนี้หรือเลือกชื่ออื่น เช่น my-inventory-api
- ไม่ได้เปิดใช้ API [run.googleapis.com] ในโปรเจ็กต์ [613162942481] คุณต้องการเปิดใช้และลองอีกครั้งไหม (การดำเนินการนี้จะใช้เวลาสักครู่) (ใช่/ไม่ใช่) Y
- โปรดระบุภูมิภาค: เลือก 31 (us-west-1)
- ไม่ได้เปิดใช้ API [artifactregistry.googleapis.com] ในโปรเจ็กต์ [613162942481] คุณต้องการเปิดใช้และลองอีกครั้งไหม (การดำเนินการนี้จะใช้เวลาสักครู่) (ใช่/ไม่ใช่) Y
- การติดตั้งใช้งานจากแหล่งที่มาต้องมีที่เก็บ Docker ของ Artifact Registry เพื่อจัดเก็บคอนเทนเนอร์ที่สร้างขึ้น ระบบจะสร้างที่เก็บชื่อ [cloud-run-source-deploy] ในภูมิภาค [us-west1]
- ต้องการดำเนินการต่อไหม (Y/n) Y
- อนุญาตคำขอที่ไม่ผ่านการตรวจสอบสิทธิ์ไปยัง [my-inventory-api] (y/N) ไหม Y
ในที่สุด กระบวนการนี้จะเริ่มนำซอร์สโค้ดของคุณมาใส่ในคอนเทนเนอร์ พุชไปยัง Artifact Registry แล้วจึงทำให้บริการ Cloud Run + รีวิชันใช้งานได้ คุณควรรออย่างใจเย็นในกระบวนการนี้ (อาจใช้เวลา 3-4 นาที) และคุณจะเห็นว่ากระบวนการเสร็จสมบูรณ์พร้อมกับ URL ของบริการที่แสดงต่อคุณ
ตัวอย่างการเรียกใช้แสดงอยู่ด้านล่าง

ทดสอบแอปพลิเคชัน
ตอนนี้เราได้ติดตั้งใช้งานแอปพลิเคชันใน Cloud Run แล้ว คุณสามารถเข้าถึงแอปพลิเคชัน API ได้โดยทำดังนี้
- จด URL ของบริการจากขั้นตอนก่อนหน้า เช่น ในการตั้งค่าของฉัน ระบบจะแสดงเป็น
https://my-inventory-api-bt2r5243dq-uw.a.run.appเราเรียกสิ่งนี้ว่า<SERVICE_URL> - เปิดเบราว์เซอร์และเข้าถึง URL 3 รายการต่อไปนี้สำหรับปลายทาง API
<SERVICE_URL>/inventory<SERVICE_URL>/inventory/I-1<SERVICE_URL>/inventory/I-100
โดยควรเป็นไปตามข้อกำหนดที่เราได้ระบุไว้ในส่วนก่อนหน้าพร้อมตัวอย่างคำขอและการตอบกลับ API
ดูรายละเอียดบริการจาก Cloud Run
เราได้ติดตั้งใช้งานบริการ API ใน Cloud Run ซึ่งเป็นสภาพแวดล้อมการประมวลผลแบบไร้เซิร์ฟเวอร์ เราสามารถไปที่บริการ Cloud Run ผ่าน Google Cloud Console ได้ทุกเมื่อ
จากเมนูหลัก ให้ไปที่ Cloud Run ซึ่งจะแสดงรายการบริการที่คุณเรียกใช้ใน Cloud Run คุณควรเห็นบริการที่เพิ่งติดตั้งใช้งาน คุณควรเห็นข้อความคล้ายกับตัวอย่างต่อไปนี้ ทั้งนี้ขึ้นอยู่กับชื่อที่เลือก

คลิกชื่อบริการเพื่อดูรายละเอียด รายละเอียดตัวอย่างแสดงอยู่ด้านล่าง

โปรดสังเกต URL ซึ่งเป็น URL ของบริการที่คุณสามารถป้อนลงในเบราว์เซอร์และเข้าถึง Inventory API ที่เราเพิ่งติดตั้งใช้งาน ดูเมตริกและรายละเอียดอื่นๆ
มาเริ่มใช้งาน Google Cloud Operations Suite กันเลย
4. สร้างหัวข้อ Pub/Sub เพื่อรับการแจ้งเตือน
หากต้องการสร้างหัวข้อ Pub/Sub ให้ทำตามขั้นตอนต่อไปนี้ในคอนโซล Google Cloud
- ค้นหา Pub/Sub ในช่องค้นหา แล้วไปที่ Pub/Sub

- คลิกแท็บหัวข้อหากยังไม่ได้เลือก

- คลิกปุ่มสร้างหัวข้อ

- ป้อนชื่อหัวข้อ

- คลิกปุ่มสร้าง

- คัดลอกชื่อหัวข้อโดยใช้ปุ่มไอคอนคัดลอก เนื่องจากคุณจะต้องใช้ในส่วนถัดไป

5. สร้างการตรวจสอบระยะเวลาทำงาน
วิธีกำหนดค่าการตรวจสอบระยะเวลาทำงานสำหรับแอปพลิเคชัน Google Cloud Run
- ไปที่คอนโซล Google Cloud Platform
- คลิกแท็บการตรวจสอบ
- คลิกแท็บการตรวจสอบเวลาทำงาน
- คลิกปุ่มสร้างการตรวจสอบช่วงเวลาที่ระบบทำงานที่ด้านบนของหน้า

- โดยให้ใช้ค่าต่อไปนี้
- โปรโตคอล : HTTPS
- ประเภททรัพยากร : URL
- ชื่อโฮสต์ : ป้อนส่วน URL ของบริการ Cloud Run โดยไม่มี https ตัวอย่างจะอยู่ในหน้าจอด้านล่าง หากไม่แน่ใจว่า URL ของบริการคืออะไร ให้ไปที่ Cloud Run จาก Google Cloud Console หลัก แล้วไปที่รายละเอียดของบริการ Cloud Run ตามที่อธิบายไว้ก่อนหน้านี้เพื่อรับ URL ของบริการ
- เส้นทาง : healthy
- ความถี่ในการตรวจสอบ: 1 นาที

- คลิกต่อไป
- เปิดการจับคู่เนื้อหาเปิดใช้อยู่
- ป้อน "All Izz Well" ในส่วนเนื้อหาการตอบกลับ สตริงนี้จะอยู่ในแอปพลิเคชันอยู่แล้วเมื่อส่งการตอบกลับที่สมบูรณ์
- Keep

- ตั้งค่ารหัสการตอบกลับ HTTP ที่ยอมรับได้เป็นคลาสของรหัสการตอบกลับ และตั้งค่า 2xx เป็นคลาสของรหัสการตอบกลับเพียงคลาสเดียว ด้วยวิธีนี้ ระบบจะประเมินเฉพาะรหัสการตอบกลับที่มี 2xx สำหรับสตริง และระบบจะนับรหัสอื่นๆ ทั้งหมดเป็นการตรวจสอบที่ไม่สำเร็จโดยอัตโนมัติ

- คลิกต่อไป
- เลือกหัวข้อ Cloud Pub/Sub เป็นช่องทางการแจ้งเตือน แล้วคลิกตกลง

- คลิกต่อไป
- เพิ่มชื่อที่จดจำได้

- คลิกปุ่มทดสอบ

- ตรวจสอบและคลิกปุ่มสร้างเมื่อพร้อม

ระบบจะสร้างการตรวจสอบช่วงเวลาที่ทำงานและจะเริ่มตรวจสอบแอปพลิเคชัน Cloud Run คุณดูสถานะการตรวจสอบระยะเวลาทำงานได้ในแท็บการตรวจสอบระยะเวลาทำงาน

6. ขอแสดงความยินดี
ยินดีด้วย คุณกำหนดค่าการตรวจสอบช่วงเวลาที่ระบบทำงานให้ส่งการแจ้งเตือนไปยัง Pub/Sub เรียบร้อยแล้ว