ตรวจสอบคุณภาพโค้ดใน Datadog ด้วย SonarQube

ตรวจสอบคุณภาพโค้ดใน Datadog ด้วย SonarQube

SonarQube เป็นเครื่องมือวิเคราะห์โค้ดแบบคงที่ (Static Code) ซึ่งรวมเข้ากับไปป์ไลน์ CI  ที่มีอยู่ของคุณ เพื่อเรียกใช้การตรวจสอบคุณภาพบนโค้ดเบสของคุณเมื่อมีการเปลี่ยนแปลง การตรวจสอบคุณภาพของโค้ดอย่างต่อเนื่องเป็นสิ่งสำคัญ เพื่อให้แน่ใจว่ามีการปฏิบัติตามตามข้อกำหนด ความเสถียร และความปลอดภัย แนวคิด ” Clean-As-You-Code (โค้ดคือการทำความสะอาด) ” ของ SonarQube ช่วยหลีกเลี่ยงหนี้ทางเทคนิคโดยการตรวจสอบโค้ดเป็นประจำและแจ้งเตือนคุณเมื่อเกิดปัญหาใด ๆ ล่วงหน้า

การรวม SonarQube ของ Datadog ได้รวบรวมตัวชี้วัดและบันทึกที่สำคัญเพื่อให้เข้าใจถึงคุณภาพและความเสถียรของโค้ดได้ดียิ่งขึ้นในระหว่างการพัฒนา รวมถึงสุขภาพและประสิทธิภาพของเซิร์ฟเวอร์ SonarQube ไม่ว่าจะเป็นภายในองค์กรหรือในสภาพแวดล้อมแบบคอนเทนเนอร์

ในบทความนี้เราจะดูว่า Datadog สามารถช่วยคุณได้อย่างไร:

  • แสดงภาพและตรวจสอบเมตริกคีย์โค้ด
  • รวบรวมและวิเคราะห์บันทึก SonarQube เพื่อดูข้อมูลเชิงลึกเกี่ยวกับสถานะ
  • การแจ้งเตือนเกี่ยวกับปัญหาด้านความปลอดภัยระดับโค้ด ซึ่งเป็นส่วนหนึ่งของการตรวจสอบโค้ดของคุณ

ในการเริ่มต้นใช้งานตอนนี้ คุณสามารถดูเอกสาร เพื่อเรียนรู้วิธีกำหนดค่า Datadog Agent และเปิดใช้งานการเก็บบันทึกข้อมูลเพื่อชี้ไปที่ฐานโค้ดและอินสแตนซ์ SonarQube

ตรวจสอบคุณภาพโค้ดแบบเรียลไทม์

SonarQube ใช้เครื่องสแกนเพื่อเรียกใช้การตรวจสอบโค้ดซึ่งเป็นส่วนหนึ่งของท่อ CI สแกนเนอร์ทำการวิเคราะห์โค้ดแบบคงที่ (Static Code) และคำนวณเมตริกที่วัดลักษณะต่างๆ ของโค้ดของคุณ การทำซ้ำ การบำรุงรักษา ความปลอดภัย ความครอบคลุมการทดสอบ และความน่าเชื่อถือ สแกนเนอร์จะส่งตัวชี้วัดเหล่านี้ไปยังอินสแตนซ์โฮสติ้งของเซิร์ฟเวอร์ SonarQube เมื่อเปิดใช้งาน SonarQube Integration แล้ว Datadog Agent จะรวบรวมตัวชี้วัดจากเว็บ Endpoint สาธารณะของสแกนเนอร์ (ส่งผลการตรวจสอบโค้ด) และ JMX endpoint (ส่งข้อมูลสถานะการทำงานและประสิทธิภาพของเซิร์ฟเวอร์เอง) รวมรายการทั้งหมดที่วิเคราะห์ด้วยสแกนเนอร์ตรวจจับโดยอัตโนมัติ เพื่อให้มั่นใจได้ว่าการตั้งค่าจะยังคงเป็นเรื่องเล็กน้อยแม้ว่าองค์กรของคุณจะดูแลโครงการหลายพันโครงการก็ตาม

คุณสามารถใช้ Datadog เพื่อสร้างแดชบอร์ดที่แสดงภาพตัวชี้วัดหลักของ SonarQube เพื่อให้ข้อมูลเชิงลึกขั้นสูงเกี่ยวกับการทบทวนโค้ด ตัวอย่างเช่น คุณอาจต้องการดูผลลัพธ์ของการตรวจสอบรหัสล่าสุดรวมถึงคะแนนการบำรุงรักษาล่าสุดและตัวชี้วัดคุณภาพ เช่น sonarqube.maintainability.code_smells และ sonarqube.complexity เพื่อแสดงให้เห็นถึงการเปลี่ยนแปลงของฐานโค้ดเมื่อเวลาผ่านไป

คุณสามารถเพิ่มวิดเจ็ตได้อย่างง่ายดายเพื่อติดตามรูปแบบเฉพาะของกิจกรรมโค้ดเมื่อเวลาผ่านไป และให้บริบทเกี่ยวกับรายงานเครื่องสแกน SonarQube ล่าสุด และด้วยการผสานรวมอื่นๆ อีกกว่า 600 รายการของ Datadog คุณสามารถเชื่อมโยงข้อมูล SonarQube กับเมตริกจากส่วนอื่นๆ ของไปป์ไลน์ CI ของคุณ เช่น บริการ Jenkins หรือ AWS

รวบรวมบันทึกเพื่อติดตามการทำงานของเซิร์ฟเวอร์ SonarQube

Datadog รวบรวมตัวชี้วัดที่สำคัญของเซิร์ฟเวอร์ SonarQube รวมถึงข้อผิดพลาดของเครื่องมือคอมพิวเตอร์ (sonarqube.server.compute_engine_tasks.error_count) และการเชื่อมต่อฐานข้อมูลที่ใช้งานอยู่ (sonarqube.server.database.pool_active_connections) เพื่อช่วยผู้ดูแลระบบตรวจสอบกิจกรรมของอินสแตนซ์ SonarQube ทำให้แน่ใจว่าทำงานได้ตามที่คาดไว้ การรับบันทึกของ SonarQube ผ่าน Datadog ทำให้มองเห็นกิจกรรมของเซิร์ฟเวอร์ได้ง่ายขึ้นเพื่อแก้ปัญหา SonarQube ผลิตบันทึกในสี่กระบวนการที่แตกต่างกัน:

  • กระบวนการ SonarQube หลัก (sonar.log.level.app)
  • เว็บเซิร์ฟเวอร์ที่เรียกใช้เครื่องสแกน HTTP endpoint (sonar.log.level.web)
  • ComputeEngineServer คำนวณข้อมูลเกี่ยวกับโค้ด (sonar.log.level.ce)
  • Elasticsearch SearchServer ประมวลผลคำขอเพื่อค้นหา (sonar.log.level.es)

ไปป์ไลน์การประมวลผลบันทึกของ Datadog จะแยกวิเคราะห์บันทึก SonarQube ของคุณและแยกข้อมูลเมตาที่สำคัญซึ่งคุณสามารถใช้กรอง จัดเรียง และค้นหาบันทึกของคุณได้ สิ่งนี้ทำให้ง่าย ตัวอย่างเช่น ในการกรองบันทึกของคุณสำหรับข้อผิดพลาดหน่วยความจำไม่เพียงพอจากงานพื้นหลังที่ปล่อยออกมาจากกระบวนการหลัก ซึ่งจะบ่งชี้ว่าคุณควรจัดสรรหน่วยความจำใหม่เพิ่มเติมสำหรับ SonarQube เมื่อ SonarQube รายงานข้อผิดพลาด Datadog จะรวมการติดตามสแต็คที่บันทึกไว้อย่างสมบูรณ์เพื่อแก้ไขปัญหา

ตรวจจับช่องโหว่ของโค้ด

SonarQube รายงานตัวชี้วัดที่เกี่ยวข้องกับความปลอดภัยโดยการสแกนช่องโหว่และฮอตสปอตตามกฎที่กำหนดค่าได้ตามมาตรฐานความปลอดภัย ได้แก่ OWASP, SANS และ CWE ตัวอย่างเช่น security.new_security_rating เมตริกกำหนดคะแนนหนึ่งถึงห้า (หมายถึงระดับตัวอักษร A-F) ตามผลลัพธ์ของรายงานล่าสุดของสแกนเนอร์

ด้วย Datadog คุณสามารถแจ้งเตือนตัวชี้วัดเหล่านี้ เพื่อดูได้ทันทีว่าการเปลี่ยนแปลงรหัสอาจทำให้แอปพลิเคชันของคุณเสี่ยงต่อภัยคุกคามด้านความปลอดภัยหรือไม่ ตัวอย่างเช่นเมื่อ SonarQube พบข้อบกพร่องที่แสดงถึงปัญหา (CRITICAL) ด้านความปลอดภัยฉุกเฉิน (เช่น ช่องโหว่ในการฉีด SQL) มันจะทำให้เกิดการละเมิดอย่างรุนแรง ในกรณีนี้ คุณจะกำหนดการแจ้งเตือนซึ่งจะเรียกใช้ทันทีที่ sonarqube.issues.new_critical_violations > 0 และส่งการแจ้งเตือนหรือประกาศเหตุการณ์ไปยังสมาชิกคนอื่นๆ ในทีมของคุณ

เริ่มตรวจสอบ SonarQube วันนี้

ด้วยการผสานรวม SonarQube ของ Datadog คุณจะได้รับข้อมูลเชิงลึกเกี่ยวกับคุณภาพของ Code Base และสร้างการแจ้งเตือนเพื่อแจ้งให้ทราบถึงช่องโหว่ที่สำคัญ ด้วยการสร้างภาพและการรวมตัวชี้วัดและบันทึกคุณสามารถตรวจสอบการปรับใช้โค้ดในท่อ CI / CD ทั้งหมด

อ้างอิง Datadog

สอบถามเพิ่มเติม

💬Line: @monsterconnect https://lin.ee/cCTeKBE

☎️Tel: 02-026-6664

📩Email: [email protected]

📝 Price List สินค้า https://bit.ly/3mSpuQY

🏢 Linkedin : https://www.linkedin.com/company/monster-connect-co-ltd/

📺 YouTube : https://www.youtube.com/c/MonsterConnectOfficial

📲 TikTok : https://www.tiktok.com/@monsteronlines

🌍 Website : www.monsterconnect.co.th

Avatar
Rujira Prommawat