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