1. ก่อนเริ่มต้น
ตามที่ได้กล่าวไปแล้วใน Codelab ของการแก้ไขข้อบกพร่องของสมาร์ทโฮม เรากำลังเผยแพร่เมตริกและบันทึกไปยังโปรเจ็กต์สมาร์ทโฮมของคุณ เมตริกจะช่วยให้คุณระบุได้ว่าการดำเนินการของสมาร์ทโฮมมีปัญหาอยู่ที่จุดใด และบันทึกจะมีประโยชน์เมื่อมีการเจาะลึกเพื่อแก้ไขปัญหาเหล่านี้
นอกจากเมตริกที่เราทำให้พร้อมใช้งานสำหรับโครงการของคุณแล้ว คุณยังสร้างเมตริกของคุณเองโดยใช้เมตริกตามบันทึกจาก Google Cloud Platform ได้ด้วย ซึ่งจะช่วยให้คุณตรวจสอบรูปแบบบางอย่างภายในบันทึกและแก้ไขข้อบกพร่องเกี่ยวกับปัญหาด้านคุณภาพได้อย่างมีประสิทธิภาพ
ข้อกำหนดเบื้องต้น
- มีการผสานรวมใช้ได้กับสมาร์ทโฮม
- แก้ไขข้อบกพร่องของ Codelab สมาร์ทโฮมให้เสร็จสิ้น
สิ่งที่คุณจะได้เรียนรู้
- วิธีเขียนการค้นหาที่มีประสิทธิภาพเพื่อกรองบันทึกข้อผิดพลาดของสมาร์ทโฮม
- วิธีสร้างเมตริกตามบันทึกเพื่อสร้างเมตริกจากคำค้นหาของคุณ
- วิธีสร้างแผนภูมิและแดชบอร์ดจากเมตริกตามบันทึกสำหรับการตรวจสอบ
2. การทำงานกับบันทึก
ตามที่เราได้สรุปไว้คร่าวๆ ในการแก้ไขข้อบกพร่องของ Smart Home Codelab การใช้งานบันทึกเป็นกุญแจสู่ความสำเร็จของโปรเจ็กต์ Google Cloud Platform มีเครื่องมือดีๆ สำหรับตรวจสอบและวิเคราะห์บันทึกของคุณ หากต้องการเข้าถึงบันทึกทั้งหมดที่ใช้ได้สำหรับโปรเจ็กต์ของคุณ คุณสามารถใช้ Logs Explorer
การเข้าถึงบันทึก
ขั้นตอนแรกในการเข้าถึงบันทึกคือการเข้าสู่ระบบ Google Cloud Platform แล้วเลือกโปรเจ็กต์ ไปที่ Logs Explorer โดยใช้เมนูด้านข้าง โดยไปที่การดำเนินการ > การบันทึก > เครื่องมือสำรวจบันทึก เมื่อคุณเปิดเครื่องมือ คุณควรเห็นมุมมองนี้
เครื่องมือสำรวจบันทึกประกอบด้วย 2 ส่วนหลัก ได้แก่ ส่วนที่จะเขียนคำค้นหาไว้ด้านบน (เครื่องมือสร้างคำค้นหา) และพื้นที่สำหรับแสดงผลลัพธ์ที่ตรงกัน (ผลการค้นหา)
คอมโพเนนต์ต่างๆ มากมายใน Google จะเขียนบันทึกไปยังโปรเจ็กต์ของคุณโดยค่าเริ่มต้น คุณต้องเขียนคำค้นหาที่กำหนดเองเพื่อค้นหาและทำงานกับบันทึกที่มาจากการผสานรวมสมาร์ทโฮม
การเขียนคำค้นหา
ระบบจะเผยแพร่บันทึกไปยังโปรเจ็กต์ภายใต้ประเภททรัพยากร ทรัพยากรแต่ละประเภทแสดงถึงแพลตฟอร์มที่แตกต่างกันภายใน Google โปรเจ็กต์ของคุณจะเข้าถึงบันทึกที่มาจากแพลตฟอร์มสมาร์ทโฮมได้ในประเภททรัพยากร assistant_action_project
นอกจากนี้ บันทึกทั้งหมดจะถูกกำหนดระดับความรุนแรงเมื่อสร้างขึ้น เมื่อใช้บันทึกของสมาร์ทโฮม เราจะใช้ระดับ ERROR
สำหรับบันทึกที่แสดงข้อผิดพลาดและข้อยกเว้น และระดับ DEBUG
สำหรับสิ่งอื่นๆ ทั้งหมด
ในตัวอย่างต่อไปนี้ เราจะเขียนการค้นหาเพื่อกรองบันทึกที่มาจากแพลตฟอร์มของเราเท่านั้นซึ่งแสดงถึงข้อผิดพลาด ดังนี้
เมื่อเขียนคำค้นหาเสร็จแล้ว ให้คลิกปุ่มเรียกใช้คำค้นหาเพื่อเริ่มการค้นหา ระบบควรแสดงข้อผิดพลาดต่อไปนี้จากการผสานรวมสมาร์ทโฮม
คุณจะเห็นว่ามีข้อผิดพลาดจำนวนมากซึ่งเกิดขึ้นหลายครั้งในชั่วโมงที่ผ่านมา แต่ละบรรทัดจะแสดงบันทึกข้อผิดพลาดรายการเดียว นอกจากนี้ คุณยังคลิกที่บันทึกแต่ละรายการและขยายฟิลด์ที่ซ้อนอยู่เพื่อดูข้อมูลที่อยู่ภายในได้
การใช้ฮิสโตแกรม
เครื่องมือสำรวจบันทึกมอบฟีเจอร์ฮิสโตแกรมที่มีประโยชน์เพื่อดูการกระจายเวลาของบันทึกที่ตรงกับคำค้นหา หากต้องการเปิดใช้งานฮิสโตแกรม ให้คลิกเลย์เอาต์หน้าจากปุ่มมุมขวาบน แล้วเลือกฮิสโตแกรมเพื่อเปิดใช้ฟีเจอร์นี้
เมื่อเปิดใช้แล้ว คุณจะเห็นการกระจายของบันทึกที่ตรงกับคำค้นหาของคุณ ดังนี้
ดังที่คุณเห็นในรูปภาพด้านบน เรามีข้อผิดพลาดหลายรายการที่กระจุกตัวอยู่กระจัดกระจายในชั่วโมงที่ผ่านมา ดูเหมือนว่าพวกมันก่อตัวกันเป็นกลุ่ม 3 กลุ่ม ตอนบ่าย 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 ดังต่อไปนี้
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 Dashboard" เมื่อเปิดขึ้นมา ระบบจะแสดงมุมมองต่อไปนี้
คุณจะเห็นแผนภูมิที่แสดงเมตริกตามบันทึกปรากฏที่นี่พร้อมกับข้อมูลที่เก็บรวบรวมใหม่ ระบบจะเผยแพร่บันทึกสมาร์ทโฮมไปยังโปรเจ็กต์แบบเรียลไทม์ เมื่อมีบันทึกใหม่ คุณจะเห็นว่ามีการนับบันทึกตามเมตริกตามบันทึกของคุณทันที
4. ขอแสดงความยินดี
ยินดีด้วย คุณได้เรียนรู้วิธีเปลี่ยนการค้นหาเป็นเมตริกตามบันทึก และบันทึกไว้ในหน้าแดชบอร์ดที่กำหนดเองเพื่อการตรวจสอบแล้ว
ขั้นตอนถัดไป
จาก Codelab นี้ ลองแบบฝึกหัดต่อไปนี้และสำรวจแหล่งข้อมูลเพิ่มเติม
- ลองดูคู่มือการสร้างเมตริกการกระจายเพื่อสร้างเมตริกที่อิงตามบันทึกในช่องตัวเลข เช่น เวลาในการตอบสนอง
- ตรวจสอบไลบรารีการค้นหาตัวอย่างที่ Google Cloud มีให้เพื่อดูตัวกรองที่ซับซ้อนบางรายการที่คุณใช้สําหรับเมตริกตามบันทึกได้