เกี่ยวกับ Codelab นี้
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 รายการเพื่อแสดงรายการสินค้าคงคลังและนับจำนวนสินค้าคงคลังของสินค้าที่เฉพาะเจาะจง
เมื่อเราทำให้ API ใช้งานได้และสมมติว่า API โฮสต์อยู่ที่ https://<somehost> เราสามารถเข้าถึงปลายทาง API ได้ดังนี้
https://<somehost>/inventory
ซึ่งจะแสดงรายการผลิตภัณฑ์ทั้งหมดตามระดับสินค้าคงคลังที่มี
https://<somehost>/inventory/{productid}
การดำเนินการนี้จะเป็นเพียงบันทึกเดียวพร้อมด้วยรหัสผลิตภัณฑ์และระดับสินค้าคงคลังที่มีอยู่สำหรับผลิตภัณฑ์นั้น
ข้อมูลการตอบกลับที่แสดงจะเป็นรูปแบบ JSON
หมายเหตุ: แอปพลิเคชัน API นี้ใช้สำหรับการสาธิตเท่านั้น และไม่ได้แสดงถึงการใช้งาน API ที่ปลอดภัยและมีประสิทธิภาพ จุดประสงค์ของห้องทดลองคือการดำเนินการของ Google Cloud เพื่อให้เรามีแอปพลิเคชันที่พร้อมใช้งานได้อย่างรวดเร็ว
ข้อมูลตัวอย่างและคำขอ/การตอบกลับ 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 จากระยะไกลได้จากแล็ปท็อป แต่คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมแบบบรรทัดคำสั่งที่ทำงานในระบบคลาวด์ใน Codelab นี้
จากคอนโซล GCP ให้คลิกไอคอน 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
- การทำให้ใช้งานได้จากต้นทางต้องใช้ที่เก็บ Artifact Registry Docker เพื่อจัดเก็บคอนเทนเนอร์ที่สร้างขึ้น ระบบจะสร้างที่เก็บชื่อ [cloud-run-source-deploy] ในภูมิภาค [us-west1]
- คุณต้องการดำเนินการต่อหรือไม่ (ใช่/ไม่ใช่) 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 ซึ่งเป็นสภาพแวดล้อมการประมวลผลแบบ Serverless เราไปที่บริการ Cloud Run ผ่านคอนโซล Google Cloud ได้ทุกเมื่อ
ไปที่ Cloud Run จากเมนูหลัก การดำเนินการนี้จะแสดงรายการบริการที่คุณใช้ใน Cloud Run คุณจะเห็นบริการที่เพิ่งทำให้ใช้งานได้ คุณควรจะเห็นข้อมูลแบบนี้ ทั้งนี้ขึ้นอยู่กับชื่อที่คุณเลือกไว้:
คลิกชื่อบริการเพื่อดูรายละเอียด รายละเอียดตัวอย่างแสดงอยู่ด้านล่าง
โปรดสังเกต URL ซึ่งไม่ใช่ URL ของบริการที่คุณสามารถเจาะเข้าไปในเบราว์เซอร์และเข้าถึง Inventory API ที่เราเพิ่งทำให้ใช้งานได้ ดูเมตริกและรายละเอียดอื่นๆ
มาเริ่มกันที่ Google Cloud Operations Suite เลย
4 สร้างหัวข้อ Pub/Sub เพื่อรับการแจ้งเตือน
หากต้องการสร้างหัวข้อ Pub/Sub โปรดทำตามขั้นตอนต่อไปนี้ใน Google Cloud Console
- ค้นหา Pub/Sub ในช่องค้นหา และไปที่ Pub/Sub
- หากคุณยังไม่ได้อยู่ที่แท็บนี้ ให้คลิกแท็บหัวข้อ
- คลิกปุ่มสร้างหัวข้อ
- ป้อนชื่อหัวข้อ
- คลิกปุ่มสร้าง
- คัดลอกชื่อหัวข้อโดยใช้ปุ่มไอคอนคัดลอก เนื่องจากคุณต้องใช้สำหรับส่วนถัดไป
5 สร้างการตรวจสอบระยะเวลาทำงาน
วิธีสร้างการตรวจสอบระยะเวลาทำงานสำหรับแอปพลิเคชัน Google Cloud Run
- ไปที่คอนโซล Google Cloud Platform
- คลิกแท็บการตรวจสอบ
- คลิกแท็บการตรวจสอบระยะเวลาทำงาน
- ที่บริเวณด้านบนของหน้า ให้คลิกปุ่มสร้างการตรวจสอบระยะเวลาทำงาน
- โดยให้ใช้ค่าต่อไปนี้
- โปรโตคอล : HTTPS
- ประเภททรัพยากร : URL
- ชื่อโฮสต์ : ป้อนส่วน URL ของบริการ Cloud Run โดยไม่มี https ตัวอย่างแสดงอยู่บนหน้าจอด้านล่าง หากไม่แน่ใจว่า URL ของบริการคืออะไร ให้ไปที่ Cloud Run จากคอนโซล Google Cloud หลัก แล้วไปที่รายละเอียดของบริการ Cloud Run ตามที่อธิบายไว้ก่อนหน้านี้เพื่อรับ URL ของบริการ
- เส้นทาง : สุขภาพ
- ตรวจสอบความถี่: 1 นาที
- คลิกต่อไป
- เปิดสวิตช์เปิดใช้การจับคู่เนื้อหา
- ป้อน "All Izz Well" ในส่วนเนื้อหาการตอบกลับ สตริงนี้มีในแอปพลิเคชันแล้วเมื่อส่งคำตอบที่สมบูรณ์
- Keep
- ตั้งค่าโค้ดตอบกลับ HTTP ที่ยอมรับได้เป็นคลาสของโค้ดตอบกลับและ 2xx เป็นคลาสโค้ดตอบกลับเพียงรายการเดียว ด้วยวิธีนี้ เฉพาะโค้ดตอบกลับที่มี 2xx เท่านั้นที่จะได้รับการประเมินสำหรับสตริงนี้ และระบบอื่นๆ จะนับเป็นการตรวจสอบที่ล้มเหลวโดยอัตโนมัติ
- คลิกต่อไป
- เลือกหัวข้อ Cloud Pub/Sub เป็นช่องทางการแจ้งเตือน แล้วคลิกตกลง
- คลิกต่อไป
- เพิ่มชื่อที่จำง่าย
- คลิกปุ่มทดสอบ
- ตรวจสอบและคลิกปุ่มสร้างเมื่อพร้อมแล้ว
ระบบจะสร้างการตรวจสอบระยะเวลาทำงานและจะเริ่มตรวจสอบแอปพลิเคชัน Cloud Run ของคุณ คุณสามารถดูสถานะการตรวจสอบระยะเวลาทำงานได้ในแท็บการตรวจสอบระยะเวลาทำงาน
6 ขอแสดงความยินดี
ขอแสดงความยินดี คุณได้กำหนดค่าการตรวจสอบระยะเวลาทำงานให้ส่งการแจ้งเตือนไปยัง Pub/Sub เรียบร้อยแล้ว