กลยุทธ์และแนวทางปฏิบัติที่ดีที่สุดสำหรับการบันทึกแอประดับองค์กร!
เผยแพร่แล้ว: 2022-02-24บันทึกแอปพลิเคชันมีบทบาทสำคัญในการถ่ายทอดข้อมูลที่เกี่ยวข้องกับเหตุการณ์ภายนอกและภายในระหว่างรันไทม์ของแอป และที่สำคัญที่สุด นักพัฒนาสามารถดูข้อมูลนี้ในขณะที่ทำงาน ดังนั้น เมื่อใดก็ตามที่เกิดข้อผิดพลาด เช่น ข้อบกพร่อง การละเมิดความปลอดภัย หรือความผิดปกติในการปรับใช้ซอฟต์แวร์ บันทึกแอปจะมีประโยชน์ในการวิเคราะห์สาเหตุรากของเหตุการณ์
บันทึกที่มีโครงสร้างดีทำงานได้อย่างมหัศจรรย์ในการสังเกตที่เฉียบแหลมและการดำเนินการที่รวดเร็ว — เราสามารถเข้าใจวิธีการทำงานของระบบทั้งหมดได้อย่างง่ายดายและรวดเร็ว และช่วยป้องกันปัญหาล่วงหน้าได้ดี อย่างไรก็ตาม เซสชันการแก้ไขปัญหาจะได้ผลก็ต่อเมื่อนักพัฒนาปฏิบัติตามแนวทางการบันทึกที่มีประสิทธิภาพเท่านั้น การบันทึกที่ไม่เหมาะสมจะนำไปสู่ความท้าทายที่ไม่ต้องการ ตอนนี้ คำถามที่มักจะเกิดขึ้นในหัวของคุณคือ:
- บันทึกอะไร
- สิ่งที่ควรหลีกเลี่ยงการเข้าสู่ระบบ?
- วิธีการเข้าสู่ระบบ?
โพสต์นี้ตอบคำถามเหล่านี้ทั้งหมด — แนวทางปฏิบัติที่ดีที่สุดสำหรับการบันทึกแอพขององค์กรและสิ่งที่ควรหลีกเลี่ยงในขณะทำการบันทึก
แนวทางปฏิบัติที่ดีที่สุดในการบันทึกแอป
เข้าใจกลุ่มเป้าหมายของคุณ
ในขณะที่จัดการบันทึก สิ่งสำคัญคือต้องเข้าใจว่าบันทึกของแอปมีผู้ชมสองกลุ่มที่แตกต่างกัน — เครื่องจักรและมนุษย์ — และวิธีการจัดการข้อมูลของพวกมันค่อนข้างต่างกัน หากข้อมูลมีโครงสร้าง เครื่องจักรสามารถประมวลผลข้อมูลจำนวนมากโดยอัตโนมัติและรวดเร็ว ในขณะที่มนุษย์ประมวลผลข้อมูลจำนวนมากได้ไม่ดี เนื่องจากต้องใช้เวลาในการอ่านบันทึก แต่ในกรณีของข้อมูลที่ไม่มีโครงสร้าง มนุษย์จะเปรียบเสมือนเครื่องจักร
ดังนั้น เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดจากบันทึกของคุณ บันทึกจะต้องสร้างในลักษณะที่เหมาะสมกับเครื่องจักรและมนุษย์ - มีโครงสร้างสำหรับเครื่องจักร และในขณะเดียวกันก็สามารถอ่านได้สำหรับมนุษย์
รู้จักการใช้ระดับบันทึกต่างๆ
ระดับการบันทึกจะระบุถึงความรุนแรงของแต่ละเหตุการณ์ภายในระบบ และนักพัฒนาซอฟต์แวร์ควรทราบว่าเมื่อใดควรใช้แต่ละเหตุการณ์ ด้านล่างนี้คือระดับบันทึกทั่วไปที่มีให้พร้อมกับสถานการณ์การใช้งาน
- ระดับข้อมูล เกี่ยวข้องกับการดำเนินการเฉพาะระบบหรือที่ผู้ใช้เป็นผู้ดำเนินการ เช่น การดำเนินการตามกำหนดการเป็นประจำ แบนเนอร์เหตุการณ์ที่สำคัญ และข้อความแสดงข้อมูลที่มีอยู่ในพฤติกรรมของแอป
- บันทึกระดับการติดตาม ช่วยให้คุณตรวจสอบค่าตัวแปรและสแต็คข้อผิดพลาดทั้งหมดได้ มันเกี่ยวข้องกับข้อมูลเช่นการติดตามรหัสสแต็กสำหรับการจัดหาข้อมูลเกี่ยวกับเหตุการณ์เฉพาะ สิ่งเหล่านี้จะใช้สำหรับการติดตามจุดบกพร่องระหว่างการพัฒนา
- ระดับการดีบัก แสดงถึงข้อมูลเฉพาะและครอบคลุม บันทึกนี้ช่วยนักพัฒนาในการดำเนินการตามโค้ดและมักใช้เพื่อแก้ไขจุดบกพร่อง
- ระดับข้อผิดพลาด บ่งชี้ถึงข้อผิดพลาดที่เกิดขึ้นซึ่งอาจทำให้แอปทำงานต่อไปได้ แต่ด้วยความสามารถที่ลดลงในเส้นทางที่ได้รับผลกระทบ ดังนั้น ระดับนี้จึงใช้สำหรับการบันทึกเงื่อนไขข้อผิดพลาด — เหตุการณ์ข้อผิดพลาดภายในหรือการเรียก API ที่ส่งคืนข้อผิดพลาด
- ระดับการเตือน หมายถึงเหตุการณ์ที่เป็นอันตรายน้อยกว่าข้อผิดพลาด แต่เป็นการบ่งชี้ถึงธงสีแดงที่ต้องตรวจสอบ ดังนั้น ใช้ระดับนี้เพื่อบันทึกเหตุการณ์ที่อาจกลายเป็นข้อผิดพลาดได้ — กรณีที่แคชในหน่วยความจำใกล้จะเต็มความจุ หรือการเรียกฐานข้อมูลเกินระยะเวลาที่กำหนดไว้ล่วงหน้า บันทึกระดับการเตือนจะเปิดใช้งานการแจ้งเตือนอัตโนมัติ และเมื่อใช้ในขณะที่แก้ไขปัญหา จะช่วยให้คุณเข้าใจพฤติกรรมของระบบก่อนที่จะเกิดความล้มเหลว
- ระดับร้ายแรง บ่งชี้ว่ามีข้อผิดพลาดร้ายแรงซึ่งอาจทำให้แอปยกเลิกและส่งผลให้เกิดความล้มเหลวร้ายแรง การบันทึกที่ระดับร้ายแรงมักจะบ่งบอกถึงการสิ้นสุดของโปรแกรม ดังนั้น ควรใช้โปรแกรมนี้เท่าที่จำเป็น เฉพาะเมื่อออกจากระบบเป็นการดำเนินการที่สมเหตุสมผลเท่านั้นที่จะเลือกใช้
ใช้รูปแบบบันทึกที่คุณสามารถแยกวิเคราะห์ได้โดยไม่ต้องกังวลใจมาก
ไม่น่าเป็นไปได้ที่แพลตฟอร์มการสังเกตของคุณจะไม่สามารถดึงข้อมูลจากบันทึกของคุณได้ เพื่อหลีกเลี่ยงสถานการณ์ดังกล่าว คุณต้องใช้รูปแบบบันทึกที่คุณสามารถแยกวิเคราะห์ได้อย่างง่ายดาย รักษาโครงสร้างบันทึกที่สอดคล้องกันเพื่อให้สามารถรวบรวมและรวมข้อมูลได้ง่าย
ในกรณีของหลายแพลตฟอร์มที่มีจุดประสงค์ร่วมกัน ให้กำหนดรูปแบบบันทึกสำหรับแอปพลิเคชันทั้งหมดให้เป็นมาตรฐาน วิธีนี้จะช่วยให้ขั้นตอนการรวมข้อมูลเข้ากับแพลตฟอร์มการสังเกตได้ง่ายขึ้น แม้ว่าทีมที่เกี่ยวข้องในแต่ละแอปพลิเคชันต้องการการมองเห็นในแอตทริบิวต์ที่แตกต่างกันก็ตาม และหากใช้รูปแบบที่กำหนดเอง ให้ตั้งค่าทริกเกอร์ประเภทบันทึกและสร้างกฎการแยกวิเคราะห์ตามที่ลูกค้ากำหนด
ใช้เครื่องมือที่มีประสิทธิภาพและ Sound Framework เพื่อสร้างบันทึก
ใช้ประโยชน์จากเฟรมเวิร์กการบันทึกและเครื่องมือที่ผ่านการทดสอบและทดสอบแล้ว แทนที่จะสร้างวงล้อใหม่โดยการสร้างสภาพแวดล้อมการบันทึกของคุณเอง การย้ายครั้งนี้จะไม่เพียงช่วยประหยัดเวลาและความยุ่งยากของคุณเท่านั้น นอกจากนี้ กรอบการบันทึกที่สม่ำเสมอยังมาพร้อมกับฟังก์ชันการทำงานต่อไปนี้
คุณสมบัติมาตรฐานของกรอบการบันทึก
- การตั้งค่า appenders ต่างๆ โดยแต่ละ appender จะมีรูปแบบบันทึกและรูปแบบผลลัพธ์ของตัวเอง
- การเพิ่มชื่อคนตัดไม้ & การประทับเวลาโดยอัตโนมัติ
- ให้การสนับสนุนระดับความปลอดภัยหลายระดับและตัวเลือกในการกรองตามระดับเหล่านี้
คุณสมบัติขั้นสูงของกรอบการบันทึก
- การกำหนดค่าเกณฑ์ระดับล็อกต่างๆ สำหรับส่วนประกอบโค้ดที่แตกต่างกัน
- ใช้ appender ที่สูญเสียซึ่งจะลดเหตุการณ์ที่ระดับล่างเมื่อใดก็ตามที่คิวเต็ม
- การใช้ appender การสรุปบันทึกที่จะแสดงผ่านข้อความจำนวนครั้งที่มีการทำซ้ำข้อความเฉพาะ แทนที่จะทำซ้ำหลาย ๆ ครั้ง
- วางขีดจำกัดที่ระดับบันทึกแล้วกำหนดค่านี้เป็น “ส่งออกบรรทัดบันทึกระดับล่าง N ด้วย” เมื่อใดก็ตามที่ความรุนแรงของบันทึกสูง
สร้างข้อความบันทึกที่กระชับซึ่งเป็นมิตรกับนักพัฒนา
หากข้อความบันทึกของคุณมีข้อมูลน้อยกว่า จะเป็นการยากที่จะเก็บข้อมูลที่จำเป็นซึ่งจำเป็นสำหรับการสร้างบริบทของเหตุการณ์สำคัญๆ ทุกเหตุการณ์ และหากข้อความบันทึกยาวเกินไป ปัญหาด้านประสิทธิภาพก็จะเกิดขึ้น ตัวอย่างเช่น ล็อกไฟล์ขนาดใหญ่หมายถึง I/O ที่สูงขึ้นและใช้พื้นที่ดิสก์มากขึ้น และหากระบบไฟล์ไม่รองรับด้านนี้ ประสิทธิภาพโดยรวมจะได้รับผลกระทบในทางลบ โดยสรุป บันทึกขนาดใหญ่ใช้พื้นที่เก็บข้อมูล ลดความเร็วของบันทึกการค้นหา และทำให้เสียสมาธิจากปัญหาหลัก ซึ่งจะทำให้การดีบักยากขึ้น

เพื่อแก้ไขปัญหานี้ จำเป็นต้องปรับข้อความบันทึกให้เหมาะสม สำหรับสิ่งนี้ คุณต้องมีความเข้าใจอย่างถี่ถ้วนเกี่ยวกับความคาดหวังในการใช้งานและการไม่ทำงานของระบบ และวางแผนคุณภาพและจำนวนข้อความที่คุณจะบันทึกด้วย กล่าวโดยย่อ คุณต้องสร้างสมดุลที่สมบูรณ์แบบระหว่างคุณภาพและปริมาณที่เกี่ยวกับข้อความบันทึก — ทุกข้อความบันทึกควรมีความหมายและเกี่ยวข้องกับบริบท ตัวอย่างเช่น เมื่อแอปไม่สามารถเชื่อมต่อและดึงข้อมูลจาก API ภายใน ข้อความแสดงข้อผิดพลาดในการบันทึกจาก API หรือข้อมูลสถานะเครือข่ายของระบบนิเวศมีความสำคัญมากกว่าการรวมข้อมูลเกี่ยวกับจำนวนแอปที่ทำงานอยู่หรือพื้นที่หน่วยความจำ ใช้โดยแอปพลิเคชัน
แนวทางปฏิบัติในการบันทึกแอปที่ควรหลีกเลี่ยง
การบันทึกข้อมูลที่ละเอียดอ่อนโดยไม่มีการเข้ารหัสที่เหมาะสม
บันทึกแอปไม่ควรเปิดเผยข้อมูลที่ละเอียดอ่อนต่อไปนี้:
- PII หรือข้อมูลที่ระบุตัวบุคคล ได้ เช่น ชื่อผู้ใช้ ชื่อ/นามสกุล วันเกิด เพศ ที่อยู่สำหรับเรียกเก็บเงิน/ทางไปรษณีย์ รหัสอีเมล หมายเลขโทรศัพท์ติดต่อ หมายเลขบัตรเครดิต หมายเลขประกันสังคม ฯลฯ
- ชื่อธุรกิจ/ข้อมูลติดต่อ เช่น ชื่อธุรกิจ ผู้ที่เกี่ยวข้อง ได้แก่ พนักงาน ลูกค้า ฯลฯ ความสัมพันธ์ทางธุรกิจ และธุรกรรมที่เกี่ยวข้องกับธุรกิจกับบุคคลภายนอก
- ข้อมูลรับรองความปลอดภัย รหัสผ่าน และโทเค็นการตรวจสอบสิทธิ์
- ข้อมูลทางการเงิน เช่น รายละเอียดบัตร หมายเลขบัญชีธนาคาร และจำนวนธุรกรรม
กฎหมาย/ข้อบังคับด้านความเป็นส่วนตัวส่วนใหญ่ เช่น GDPR, HIPAA และ CCPA ไม่แนะนำให้แสดงข้อมูลดังกล่าวผ่านบันทึก เนื่องจากอาจนำไปสู่การละเมิดความปลอดภัยและการฟ้องร้องที่ร้ายแรง ตามโปรโตคอลมาตรฐาน หากมีข้อมูลทางการเงินในบันทึก ข้อมูลนั้นจะต้องถูกปิดบังหรือซ่อนไว้ทั้งหมด และหากมีการกล่าวถึงธุรกรรมทางธุรกิจใด ๆ เราต้องใช้ ID เหตุการณ์ที่ระบบสร้างขึ้นแทนชื่อ/ตัวระบุธุรกิจจริง
จะมั่นใจในความปลอดภัยได้อย่างไร หากคุณต้องการบันทึกข้อมูลผู้ใช้ที่ละเอียดอ่อนในสภาพแวดล้อมที่ไม่ใช่การผลิต
- ระบุข้อมูลบางส่วนที่จะซ่อนจากบันทึก โดยแนบแอตทริบิวต์กับทุกช่องและระบุระดับการมองเห็นด้วยคำสั่ง เช่น "แสดง" "ซ่อน" "หน้ากาก" และ "เข้ารหัส"
- เขียน parsers สำหรับการกรองข้อความบันทึกและสำหรับการจัดการฟิลด์ที่ละเอียดอ่อนที่ปฏิบัติตามคำแนะนำที่กำหนดไว้ล่วงหน้าตามสภาพแวดล้อมที่เกี่ยวข้อง
ล็อคอินผู้ขาย
การจัดการบันทึกของคุณควรได้รับการจัดระเบียบในลักษณะที่คุณจะไม่ถูกล็อกกับผู้ขายรายใดรายหนึ่ง ด้วยเหตุผลนี้ ให้หลีกเลี่ยงไลบรารีของผู้จำหน่ายฮาร์ดโค้ด แทนที่จะเลือกใช้ไลบรารี/wrapper มาตรฐานสำหรับการพกพาแทน การใช้ wrapper จะช่วยให้แน่ใจว่าโค้ดของแอปของคุณไม่ได้กล่าวถึงเครื่องมือของบุคคลที่สามอย่างชัดแจ้ง หรือคุณสามารถสร้างส่วนต่อประสานตัวบันทึกตามวิธีการ apt และรวมคลาสที่จะนำไปใช้ หลังจากนั้น ให้เพิ่มรหัสที่เรียกบุคคลภายนอกมาที่ชั้นเรียนนี้
การบันทึกข้อความสำหรับการแก้ไขปัญหาเท่านั้น
เราทุกคนทราบดีว่าการแก้ไขปัญหาเป็นจุดประสงค์หลักของการบันทึก อย่างไรก็ตาม ข้อความบันทึกของคุณไม่ควรมีไว้เพื่อการแก้ไขปัญหาเท่านั้น เนื่องจากข้อความบันทึกมีประโยชน์อย่างมากในงานอื่นๆ เช่นกัน ดังนั้น นอกจากการแก้ไขปัญหาแล้ว คุณยังสามารถบันทึกข้อความสำหรับงานทางธุรกิจต่อไปนี้:
- การ ทำโปรไฟล์: บันทึก การประทับเวลา — ในบางครั้งถึงระดับมิลลิวินาที — สามารถใช้เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการทำโปรไฟล์ส่วนต่างๆ ของโปรแกรม ตัวอย่างเช่น หากคุณบันทึกจุดเริ่มต้นและจุดสิ้นสุดของการดำเนินการ คุณสามารถอนุมานตัววัดประสิทธิภาพบางอย่างระหว่างการแก้ไขปัญหาโดยไม่ต้องเพิ่มตัววัดเหล่านั้นลงในโปรแกรม
- การ ตรวจสอบ: บันทึกเหตุการณ์เด่น ข้อความที่อธิบายกิจกรรม — ลงชื่อเข้าใช้ การแก้ไข ฯลฯ — ของผู้ใช้ระบบ
- การรวบรวมรายงานสถิติ : คุณสามารถรวบรวมสถิติที่น่าสนใจเกี่ยวกับโปรแกรมที่ทำงานอยู่หรือพฤติกรรมของผู้ใช้ คุณยังสามารถเชื่อมต่อกับระบบแจ้งเตือนเมื่อตรวจพบข้อผิดพลาดที่เกิดขึ้นติดต่อกันมากเกินไป
คำลงท้าย
วันนี้ การบันทึกมีบทบาทสำคัญในหลายแง่มุมขององค์กร — ระบบธุรกิจอัจฉริยะ การดำเนินงาน และกลยุทธ์ทางการตลาด และการปฏิบัติตามเทคนิคการบันทึกที่ถูกต้องและทำให้บันทึกของคุณทำงานได้อย่างมีประสิทธิภาพนั้นสำคัญมาก การปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดสำหรับการตรวจสอบบันทึกและการจัดการจะช่วยให้คุณดำเนินธุรกิจได้อย่างราบรื่น แก้ไขปัญหาได้รวดเร็วยิ่งขึ้น ส่งผลให้กระบวนการพัฒนารวดเร็วขึ้น
สำหรับความช่วยเหลือด้านเทคนิค โปรดติดต่อ Biz4Solutions บริษัทพัฒนาซอฟต์แวร์เอาท์ซอร์สที่มีประสบการณ์สูงและมีความสามารถในอินเดีย เราให้บริการพิเศษแก่ลูกค้าทั่วโลกมาเป็นเวลากว่า 10 ปี
