1. ก่อนเริ่มต้น
ตามที่ได้อธิบายไปใน Codelab เกี่ยวกับการแก้ไขข้อบกพร่องของสมาร์ทโฮม เรากำลังเผยแพร่เมตริกและบันทึกไปยังโปรเจ็กต์สมาร์ทโฮมของคุณ เมตริกช่วยให้คุณระบุได้ว่าการดำเนินการของสมาร์ทโฮมมีปัญหาตรงไหน และบันทึกต่างๆ จะมีประโยชน์ในการเจาะลึกวิธีแก้ปัญหาเหล่านี้
นอกจากเมตริกที่เรามีให้สำหรับโปรเจ็กต์ของคุณแล้ว คุณยังสร้างเมตริกของคุณเองโดยใช้เมตริกตามบันทึกจาก Google Cloud Platform ได้อีกด้วย ซึ่งช่วยให้คุณตรวจสอบรูปแบบบางอย่างในบันทึก และแก้ไขข้อบกพร่องของปัญหาด้านคุณภาพได้อย่างมีประสิทธิภาพ
ข้อกำหนดเบื้องต้น
- ผสานรวมใช้งานได้กับสมาร์ทโฮม
- ทำ Codelab สำหรับการแก้ไขข้อบกพร่องของสมาร์ทโฮม
สิ่งที่คุณจะได้เรียนรู้
- วิธีเขียนการค้นหาที่มีประสิทธิภาพเพื่อกรองบันทึกข้อผิดพลาดของสมาร์ทโฮม
- วิธีสร้างเมตริกที่อิงตามบันทึกเพื่อสร้างเมตริกจากการสืบค้นข้อมูลของคุณ
- วิธีสร้างแผนภูมิและแดชบอร์ดจากเมตริกตามบันทึกสำหรับการตรวจสอบ
2. การใช้งานบันทึก
ตามที่เราอธิบายไปคร่าวๆ แล้วในการแก้ไขข้อบกพร่องของ Smart Home Codelab การทํางานกับบันทึกคือกุญแจสําคัญสําหรับความสําเร็จของโปรเจ็กต์ มีเครื่องมือที่ยอดเยี่ยมบน Google Cloud Platform เพื่อตรวจสอบและวิเคราะห์บันทึกของคุณ หากต้องการเข้าถึงบันทึกทั้งหมดที่มีให้ใช้งานในโปรเจ็กต์ ให้ใช้ Logs Explorer
การเข้าถึงบันทึก
ขั้นตอนแรกในการเข้าถึงบันทึกคือลงชื่อเข้าสู่ระบบ Google Cloud Platform แล้วเลือกโปรเจ็กต์ ไปที่เครื่องมือสำรวจบันทึกโดยใช้เมนูด้านข้าง โดยไปที่การดำเนินการ > การบันทึก > เครื่องมือสำรวจบันทึก เมื่อเปิดเครื่องมือแล้ว คุณควรจะเห็นมุมมองนี้
เครื่องมือสำรวจบันทึกประกอบด้วยส่วนหลัก 2 ส่วน ได้แก่ ส่วนที่ใช้เขียนคำค้นหาที่ด้านบน (เครื่องมือสร้างคำค้นหา) และส่วนเพื่อแสดงผลลัพธ์ที่ตรงกัน (ผลการค้นหา)
คอมโพเนนต์ต่างๆ มากมายใน Google จะเขียนบันทึกลงในโปรเจ็กต์ของคุณโดยค่าเริ่มต้น คุณต้องเขียนการค้นหาที่กำหนดเองเพื่อค้นหาและทำงานกับบันทึกที่มาจากการผสานรวมสมาร์ทโฮม
การเขียนคำค้นหา
ระบบจะเผยแพร่บันทึกไปยังโปรเจ็กต์ภายใต้ประเภททรัพยากร ทรัพยากรแต่ละประเภทจะเป็นตัวแทนของแพลตฟอร์มที่ต่างกันภายใน Google บันทึกที่มาจากแพลตฟอร์มสมาร์ทโฮมจะพร้อมใช้งานสำหรับโปรเจ็กต์ของคุณภายใต้ประเภททรัพยากร assistant_action_project
นอกจากนี้ บันทึกทั้งหมดจะได้รับการกำหนดระดับความรุนแรงในขณะสร้างด้วย สำหรับบันทึกของสมาร์ทโฮม เราจะใช้ระดับ ERROR
สำหรับบันทึกที่แสดงถึงข้อผิดพลาดและข้อยกเว้น และในระดับ DEBUG
สำหรับบันทึกอื่นๆ
ในตัวอย่างต่อไปนี้ เราจะเขียนข้อความค้นหาเพื่อกรองบันทึกที่มาจากแพลตฟอร์มของเราที่แสดงข้อผิดพลาดเท่านั้น ดังนี้
เมื่อเขียนคำค้นหาเสร็จแล้ว ให้คลิกปุ่มเรียกใช้คำค้นหาเพื่อเริ่มการค้นหา การดำเนินการนี้ควรจะแสดงข้อผิดพลาดที่มาจากการผสานรวมสมาร์ทโฮม ดังนี้
คุณจะเห็นข้อผิดพลาดที่เกิดขึ้นหลายครั้งในชั่วโมงที่ผ่านมา แต่ละบรรทัดจะแทนบันทึกข้อผิดพลาด 1 รายการ คุณสามารถคลิกบันทึกแต่ละรายการและขยายฟิลด์ที่ซ้อนกันเพื่อดูข้อมูลภายในได้
การใช้ฮิสโตแกรม
เครื่องมือสำรวจบันทึกมีฟีเจอร์ฮิสโตแกรมที่มีประโยชน์เพื่อดูการกระจายเวลาของบันทึกที่ตรงกับการค้นหา หากต้องการเปิดใช้งานฮิสโตแกรม ให้คลิกเลย์เอาต์หน้าเว็บจากปุ่มที่มุมขวาบน แล้วเลือก Histogram เพื่อเปิดใช้งานฟีเจอร์นี้
เมื่อเปิดใช้งานแล้ว คุณจะเห็นการกระจายของบันทึกที่ตรงกับการค้นหาของคุณ
ดังที่คุณเห็นในรูปภาพด้านบน เรามีข้อผิดพลาดหลายรายการที่กระจุกตัวอยู่เป็นประจักษ์ในชั่วโมงที่ผ่านมา ดูเหมือนว่าจะก่อให้เกิดกลุ่ม 3 กลุ่มในช่วงประมาณ 13:45, 14:00 และ 14:15 น. ฮิสโตแกรมช่วยให้คุณสามารถตรวจหารูปแบบที่มองเห็นได้ยากด้วยการตรวจสอบค่าการประทับเวลาเท่านั้น
ขณะนี้การค้นหาที่เราใช้ไม่ได้แยกความแตกต่างระหว่างบันทึก และแสดงข้อผิดพลาดทั้งหมดที่มาจากการผสานรวมกับสมาร์ทโฮมของเรา บางครั้งคุณอาจต้องการแยกความแตกต่างระหว่างข้อผิดพลาด เช่น เพื่อติดตามรูปแบบข้อผิดพลาดที่เกิดจากประเภทอุปกรณ์หรือลักษณะบางอย่าง ในการดำเนินการนี้ เราจะมาดูการเขียนการค้นหาขั้นสูงกัน
การค้นหาขั้นสูง
เมื่อตรวจสอบบันทึกเหตุการณ์ของสมาร์ทโฮม คุณจะเห็นว่าสามารถรวบรวมข้อมูลจากช่องต่างๆ ได้ ดังนี้
action
trait
: กำหนดเป้าหมายลักษณะของอุปกรณ์โดยผู้ใช้ (เช่น OnOff, StartStop, ความสว่าง)actionType
: สถานะแบบละเอียดของลักษณะ (เช่น เปิด ปิด หยุดชั่วคราว หยุด กลับมาทำงานอีกครั้ง)
device
deviceType
: กําหนดเป้าหมายประเภทอุปกรณ์ตามผู้ใช้ (เช่น หลอดไฟ สวิตช์ เครื่องซักผ้า)
status
isSuccess
: พิจารณาว่าผลของการดำเนินการสำเร็จหรือไม่ (จริง / เท็จ)statusType
: รหัสสถานะของผลลัพธ์การดำเนินการ (ระบุรหัสข้อผิดพลาด หากไม่สำเร็จ)externalDebugString
: สตริงการแก้ไขข้อบกพร่องของการดำเนินการ (อธิบายข้อผิดพลาดโดยละเอียด)
ฟิลด์อื่นๆ
นอกจากนี้ยังมีฟิลด์ข้อมูลเพิ่มเติมที่คุณสามารถดึงข้อมูลได้จากสิ่งต่อไปนี้
requestId
: รหัสที่ไม่ซ้ำกันซึ่งเชื่อมโยงกับคำขอ (สร้างโดย Google)executionType
: เส้นทางที่คำขอใช้ (ระบุว่าระบบคลาวด์หรือในเครื่อง)latencyMsec
: เวลาในการตอบสนองที่รับรู้สำหรับคำขอบนเซิร์ฟเวอร์ Google (เป็นมิลลิวินาที)locale
: ภาษา/ภูมิภาคที่มีการจับคู่คำขอ (เช่น en-US, fr-FR)
เราจะแก้ไขการสืบค้นข้อมูลของเราให้มีเฉพาะข้อผิดพลาดที่มาจากลักษณะของ OnOff เท่านั้นโดยใช้ช่อง Trait จากรายการด้านบน
resource.type="assistant_action_project" AND severity=ERROR AND jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"
หลังจากเรียกใช้ข้อความค้นหาที่อัปเดตแล้ว ระบบจะตรวจหาบันทึกและแสดงผลลัพธ์ที่เกี่ยวข้องดังนี้
ที่ผ่านมาเราได้ทำการค้นหาทั้งหมดด้วยตนเอง นั่นเป็นวิธีที่ดีในการตรวจสอบสถานะของข้อผิดพลาดได้อย่างรวดเร็ว แต่ไม่ต้องมากขนาดที่จะติดตามดูการเปลี่ยนแปลงในรูปแบบข้อผิดพลาดเมื่อเวลาผ่านไป เราจะสร้างเมตริกตามบันทึกเพื่อทำให้ขั้นตอนนี้เป็นแบบอัตโนมัติและบันทึกข้อมูลในช่วงเวลาที่นานขึ้น
3. เมตริกตามบันทึก
หากต้องการนับจำนวนบันทึกที่ตรงกับการค้นหาในช่วงเวลาที่ผ่านมา คุณสามารถใช้เมตริกตามบันทึก ซึ่งจะช่วยให้คุณเห็นรูปแบบและทั่วทั้งบันทึก รวมถึงสามารถให้ข้อมูลเชิงลึกที่ดีเกี่ยวกับปัญหาที่สำคัญได้
การสร้างเมตริกที่อิงตามบันทึก
หากต้องการสร้างเมตริกตามบันทึก ให้ไปที่การดำเนินการ > การบันทึก > เมตริกตามบันทึก ซึ่งจะแสดงรายการเมตริกตามบันทึกที่พร้อมใช้งานในโปรเจ็กต์ของคุณอยู่แล้ว เมื่อคลิกปุ่มสร้างเมตริก คุณจะเห็นหน้าจอการสร้างเมตริกตามบันทึก ดังนี้
เมตริกหลักมี 2 ประเภท ได้แก่ เมตริกตัวนับจะนับจำนวนบันทึกที่ตรงกับคำค้นหา เมตริกการแจกแจงจะติดตามการกระจายที่อยู่เบื้องหลังและอนุญาตให้มีการดำเนินการทางสถิติ เช่น ค่าเฉลี่ย ค่ามัธยฐาน และเปอร์เซ็นไทล์ที่ 95
เมื่อเลื่อนลง คุณจะเห็นส่วนตัวกรองที่สามารถพิมพ์ข้อความค้นหาได้
เราจะวางข้อความค้นหาจากส่วนก่อนหน้าลงในช่องข้อความสร้างตัวกรอง
resource.type="assistant_action_project" AND severity=ERROR AND jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"
นอกจากนี้ คุณยังสามารถคลิกปุ่มแสดงตัวอย่างบันทึกเพื่อดูมุมมองด่วนของบันทึกที่ผ่านมาที่ตรงกับตัวกรองของคุณ เมื่อดำเนินการเสร็จแล้ว คุณสามารถคลิกปุ่มสร้างเมตริก และไปที่ส่วนถัดไปได้
การดูข้อมูลเมตริกตามบันทึก
เมื่อสร้างเมตริกตามบันทึกแล้ว เมตริกนี้ก็จะอยู่ในส่วนเมตริกที่ผู้ใช้กำหนดของหน้าเมตริกตามบันทึก
จากเมนูที่เกี่ยวข้องกับเมตริกตามบันทึก (จุด 3 จุด) ให้เลือกดูในเครื่องมือสำรวจเมตริกเพื่อดูข้อมูลที่เก็บรวบรวมในเมตริกตามบันทึก ดังนี้
เมื่อเรามีข้อผิดพลาดใหม่เกิดขึ้น เมตริกที่อิงตามบันทึกของเราจะบันทึกข้อผิดพลาดดังกล่าวและแสดงในหน้าต่างแผนภูมิในเครื่องมือสำรวจเมตริก
การตรวจสอบผ่านแดชบอร์ดที่กำหนดเอง
เมื่อเราเห็นว่าเมตริกที่อิงตามบันทึกใหม่ทำงานตามที่คาดไว้ ก็ได้เวลาที่จะบันทึกมุมมองแผนภูมินี้ลงในหน้าแดชบอร์ดที่กำหนดเอง สำหรับวิธีนี้ ให้คลิกปุ่มบันทึกแผนภูมิที่มุมขวาบนของเครื่องมือสำรวจเมตริก ระบบจะแสดงข้อความแจ้งให้ตั้งชื่อแผนภูมิและเลือกหน้าแดชบอร์ดที่คุณต้องการบันทึกลงไป ดังนี้
เมื่อเราบันทึกแผนภูมิในแดชบอร์ดแล้ว เราจะเข้าถึงแผนภูมิได้อย่างง่ายดายจากที่นั่น หากต้องการเข้าถึงรายการหน้าแดชบอร์ดที่มีอยู่ในโปรเจ็กต์ ให้ไปที่การดำเนินการ > การตรวจสอบ > หน้าแดชบอร์ด
เราได้บันทึกแผนภูมิไว้ในแดชบอร์ดที่ชื่อ "แดชบอร์ด Codelab" เมื่อเปิดขึ้นมา ระบบจะแสดงมุมมองต่อไปนี้
ตามที่คุณเห็นแผนภูมิที่แสดงถึงเมตริกที่อิงตามบันทึกจะแสดงที่นี่พร้อมกับข้อมูลที่รวบรวมใหม่ ระบบจะเผยแพร่บันทึกสมาร์ทโฮมไปยังโปรเจ็กต์แบบเรียลไทม์ เมื่อมีบันทึกใหม่ คุณจะเห็นบันทึกดังกล่าวที่นับตามเมตริกตามบันทึกทันที
4. ขอแสดงความยินดี
ยินดีด้วย คุณได้เรียนรู้วิธีเปลี่ยนการค้นหาเป็นเมตริกตามบันทึกและบันทึกลงในแดชบอร์ดที่กำหนดเองเพื่อการตรวจสอบเรียบร้อยแล้ว
ขั้นตอนถัดไป
จาก Codelab นี้ ให้ลองทำตามแบบฝึกหัดต่อไปนี้และสำรวจแหล่งข้อมูลเพิ่มเติม
- ดูคำแนะนำการสร้างเมตริกการกระจายเพื่อสร้างเมตริกตามบันทึกในช่องตัวเลข เช่น เวลาในการตอบสนอง
- ตรวจสอบไลบรารีการค้นหาตัวอย่างที่ให้บริการโดย Google Cloud เพื่อดูตัวกรองที่ซับซ้อนซึ่งคุณจะใช้สำหรับเมตริกตามบันทึกได้