ข้อผิดพลาด Sentry ไปยังปัญหา GitHub

Okou เป็นเอเจนต์ AI DevOps ที่ทำงานอัตโนมัติในการคัดแยกข้อผิดพลาดประจำวัน ทุกเช้า มันจะดึงข้อผิดพลาดที่ยังไม่ได้รับการแก้ไขจาก Sentry และ Axiom ลบรายการซ้ำจากทั้งสองแหล่ง และยื่นปัญหา GitHub ที่ได้รับมอบหมายพร้อมกับสแต็กเทรซทั้งหมดก่อนการประชุมประจำวัน ช่วยประหยัดเวลาวิศวกร 20 ถึง 30 นาทีในการตรวจสอบด้วยตนเอง

Okou เชื่อมต่อ:SentryAxiomGitHub

สิ่งที่ Okou ส่งมอบ: รายงานการคัดแยกข้อผิดพลาดรายวัน

สำรวจรายงานการคัดแยกข้อผิดพลาดที่สร้างโดย AI พร้อมเหตุการณ์ที่จัดลำดับความสำคัญ, การลบรายการซ้ำข้ามแหล่งที่มา, ปัญหา GitHub ที่ได้รับมอบหมาย, ความรุนแรง, ปริมาณ และเวลาที่ประหยัดได้ ข้อมูลเป็นเพียงตัวอย่าง; รูปแบบรายงานเป็นผลลัพธ์จริงที่ Okou สามารถสร้างได้จาก Sentry และ Axiom

Okou · รายงานระบบอัตโนมัติข้อมูลตัวอย่าง

สรุปเอเจนต์

Okou ตรวจสอบข้อผิดพลาดดิบ 17 รายการจาก Sentry และ Axiom, ลบรายการซ้ำออกเป็น 13 สาเหตุหลัก, สร้างปัญหา GitHub ที่มอบหมาย 6 รายการ และส่งสัญญาณเฝ้าระวัง 2 รายการไปยัง #dev

ตรวจสอบข้อผิดพลาดดิบ
1712 Sentry · 5 Axiom
สาเหตุหลักที่ไม่ซ้ำกัน
13หลังจากการลบข้อมูลซ้ำ
สร้างปัญหา GitHub
6มอบหมายทั้งหมด
เปิดรายงานการคัดแยกข้อผิดพลาดรายวันฉบับเต็ม

การคัดแยกข้อผิดพลาดคืออะไร?

การคัดแยกข้อผิดพลาด หรือที่เรียกว่าการคัดแยกบั๊กหรือการคัดแยกเหตุการณ์ คือกระบวนการจัดกลุ่ม จัดลำดับความสำคัญ และมอบหมายข้อผิดพลาดในการผลิต เพื่อให้นักวิศวกรทราบว่าจะแก้ไขอะไรก่อน Okou ทำหน้าที่เป็น AI SRE agent ทั่วทั้ง Sentry, Axiom และ GitHub: โดยจะลบข้อผิดพลาดที่ซ้ำกัน, ใช้เกณฑ์, แนบ stack traces และมอบหมายเจ้าของโค้ด ผลลัพธ์คือการทำงานอัตโนมัติในการคัดแยกข้อผิดพลาดประจำวันที่สอดคล้องกัน โดยลดความเหนื่อยล้าจากการแจ้งเตือน

ทำไมการคัดแยกข้อผิดพลาดด้วยตนเองจึงทำให้เกิดความเหนื่อยล้าจากการแจ้งเตือน

ทุกเช้า วิศวกรจะต้องเปิด Sentry, สแกนการแจ้งเตือน Sentry ที่ยังไม่ได้รับการแก้ไข, ตรวจสอบ Axiom, ระบุว่ามีอะไรใหม่หรือซ้ำกัน, ตัดสินใจว่าอะไรจริงจัง, เปิดปัญหา GitHub และค้นหาเจ้าของที่ถูกต้อง การตรวจสอบเบื้องต้นที่ซ้ำซากนี้ใช้เวลา 20 ถึง 30 นาทีของเวลาวิศวกรรมที่มุ่งเน้น และสร้างความเหนื่อยล้าจากการแจ้งเตือนก่อนที่งานจริงจะเริ่มต้นขึ้น Okou ทำงานเวลา 8:45 น. และดำเนินการคัดแยกแบบเดียวกันก่อนที่ใครจะเปิดแล็ปท็อป

Okou ทำให้การคัดแยกข้อผิดพลาดรายวันเป็นไปโดยอัตโนมัติได้อย่างไร

ขั้นตอนที่ 1: เชื่อมต่อเครื่องมือของคุณ

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

ขั้นตอนที่ 2: ถาม Okou

Okou ทุกวันธรรมดาเวลา 8:45 น. ดึงข้อผิดพลาดที่ยังไม่ได้รับการแก้ไขจาก Sentry และ Axiom ในช่วง 24 ชั่วโมงที่ผ่านมา ลบรายการซ้ำจากแหล่งที่มาต่างๆ สำหรับรายการที่มีการเกิดขึ้น 5 ครั้งขึ้นไป ให้เปิดปัญหา GitHub ใน okou-ai/okou พร้อมกับ stack trace เต็มรูปแบบ และมอบหมายให้เจ้าของโค้ดที่เกี่ยวข้อง
การรันตัวอย่างของเวิร์กโฟลว์เดียวกันทีละขั้นตอน: ดึงและจัดอันดับปัญหา Sentry, ตั้งค่าสถานะการถดถอยในการปรับใช้, แสดงแผนภูมิ, เผยแพร่รายงาน และโพสต์ไปยัง Slack
Okou ดึงข้อผิดพลาดที่ยังไม่ได้รับการแก้ไขจาก Sentry และ Axiom
Okou สอบถามทั้ง Sentry และ Axiom สำหรับข้อผิดพลาดที่ยังไม่ได้รับการแก้ไขภายในกรอบเวลาที่คุณกำหนด จากนั้นใช้เกณฑ์การเกิดของคุณเพื่อกรองสัญญาณรบกวนที่มีสัญญาณต่ำออก และมีเพียงข้อผิดพลาดที่เกิดขึ้นในวงกว้างเท่านั้นที่ผ่านเข้ามา
ข้อผิดพลาดที่ซ้ำกันจะถูกรวมเข้าด้วยกันใน Sentry และ Axiom
ข้อผิดพลาดเดียวกันมักปรากฏขึ้นทั้งใน Sentry และ Axiom ด้วยรูปแบบที่แตกต่างกัน Okou จะรวมข้อผิดพลาดเหล่านี้เป็นระเบียนเดียวที่รวมข้อมูลจากทั้งสองแหล่ง ดังนั้นคุณจึงคัดแยกปัญหาจริงแต่ละครั้งเพียงครั้งเดียว
ปัญหา GitHub ถูกยื่นและมอบหมายให้เจ้าของโค้ด
สำหรับข้อผิดพลาดที่ไม่ซ้ำกันและมีคุณสมบัติครบถ้วนแต่ละรายการ Okou จะเปิดปัญหา GitHub ที่มีโครงสร้างพร้อมด้วย stack trace แบบเต็ม, จำนวนครั้งที่เกิดขึ้น, และเวลาที่เห็นครั้งแรกและครั้งสุดท้าย จากนั้นจะมอบหมายให้วิศวกรที่เป็นเจ้าของพื้นที่โค้ดนั้น — การส่งมอบ Sentry-to-GitHub ที่เป็นอัตโนมัติแบบครบวงจร

ขั้นตอนที่ 3: ก้าวไปอีกขั้น

ปรับเกณฑ์
เปลี่ยนตัวกรองการเกิดซ้ำเพื่อลดสัญญาณรบกวนหรือตรวจจับปัญหาเพิ่มเติม
Okou อัปเดตตารางการคัดแยกรายวันเพื่อยื่นปัญหาเฉพาะสำหรับข้อผิดพลาดที่มีการเกิดขึ้น 10+ ครั้งเท่านั้น อะไรที่ต่ำกว่านั้น ให้โพสต์สรุปไปที่ #dev
เพิ่มลงในสรุปตอนเช้าของคุณ
รวมการคัดแยกข้อผิดพลาดเข้ากับการสรุปสุขภาพผลิตภัณฑ์ที่ทีมของคุณอ่านอยู่แล้ว
Okou รวมเอาต์พุตการจัดลำดับความสำคัญของข้อผิดพลาดในวันนี้ไว้ในสรุปสุขภาพผลิตภัณฑ์เวลา 9.00 น. ที่คุณโพสต์ไปที่ #standup
การตรวจสอบความปลอดภัยหลังการปรับใช้
ดำเนินการคัดแยกทันทีหลังจากการปรับใช้การผลิต เพื่อให้การถดถอยปรากฏขึ้นภายในไม่กี่นาที ไม่ใช่ในเช้าวันถัดไป
Okou เมื่อใดก็ตามที่ PR รวมเข้ากับ main ใน okou-ai/okou ให้รอ 15 นาทีแล้วรันการตรวจสอบข้อผิดพลาด Sentry สำหรับข้อผิดพลาดใหม่ๆ

การรวม Sentry, GitHub และ Axiom สำหรับการคัดแยกข้อผิดพลาด

เวิร์กโฟลว์นี้เป็นการผสานรวม Sentry GitHub กับเอเจนต์ตรงกลาง: Okou อ่านจาก Sentry ตรวจสอบหน้าต่างเดียวกันใน Axiom และเขียนไปยัง GitHub คอนเนคเตอร์แต่ละตัวจะได้รับสิทธิ์แยกต่างหากและจำกัดขอบเขตตามสิ่งที่เวิร์กโฟลว์ใช้งานจริง ดังนั้นการเข้าถึงข้อมูลข้อผิดพลาดของคุณเพื่ออ่านจึงไม่เคยหมายถึงการเข้าถึงที่เก็บของคุณเพื่อเขียน

Sentry

การผสานรวม Sentry: ข้อผิดพลาดที่ Okou อ่าน

จำเป็น

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

GitHub

การผสานรวม GitHub: ปัญหาที่ Okou ยื่น

จำเป็น

ทุกข้อผิดพลาดที่เกินเกณฑ์ของคุณจะกลายเป็นปัญหา GitHub ในที่เก็บที่คุณชี้ Okou ไป ปัญหานั้นจะประกอบด้วยชื่อข้อผิดพลาด, สแต็กเทรซ, จำนวนครั้งที่เกิดขึ้นและผู้ใช้ที่ได้รับผลกระทบ, เวลาที่เห็นครั้งแรกและครั้งสุดท้าย, และลิงก์กลับไปยังปัญหา Sentry เพื่อให้ข้อมูลต้นฉบับอยู่ห่างออกไปเพียงคลิกเดียว Okou ใช้ป้ายกำกับที่คุณระบุและกำหนดเจ้าของโค้ดสำหรับไฟล์ที่ระบุในสแต็กเทรซ สิทธิ์การเขียนจะถูกจำกัดเฉพาะที่เก็บที่คุณให้สิทธิ์ และการสร้างปัญหาคือทั้งหมดที่ทำ: ไม่มีการคอมมิต, ไม่มีคำขอดึง, ไม่มีการตั้งค่าที่เก็บ

Axiom

การรวม Axiom: บันทึก Axiom ที่ Okou อ้างอิงข้าม

ไม่บังคับ

Axiom เป็นทางเลือกและมีประโยชน์ในการขจัดข้อมูลซ้ำซ้อน หากการจัดการบันทึกของคุณทำงานบน Axiom อยู่แล้ว Okou จะอ่านข้อมูลในรอบเดียวกัน: มันจะรันคำสั่ง APL กับชุดข้อมูลที่คุณเลือก โดยจำกัดช่วงเวลาเดียวกับการดึงข้อมูล Sentry และจับคู่บันทึก Axiom เหล่านั้นกับลายเซ็นข้อผิดพลาดที่มีอยู่แล้ว ซึ่งจะช่วยตรวจจับกรณีที่ความล้มเหลวหนึ่งครั้งปรากฏขึ้นสองครั้งในรูปแบบที่แตกต่างกัน และเพิ่มบริบทระดับคำขอรอบความล้มเหลวที่เหตุการณ์ Sentry เพียงอย่างเดียวไม่มี หากไม่มี Axiom เวิร์กโฟลว์ยังคงทำงานได้ตั้งแต่ต้นจนจบ และการขจัดข้อมูลซ้ำซ้อนจะกลับไปใช้ข้อมูล Sentry เท่านั้น

Okou เทียบกับการคัดแยกด้วยตนเอง เทียบกับกฎการแจ้งเตือน Sentry

การคัดแยกข้อผิดพลาดรายวันเป็นชั้นแรกของการตอบสนองเหตุการณ์อัตโนมัติ ทีมงานจะทำให้ Sentry เป็น GitHub โดยใช้ Okou ทำให้การดำเนินการรอบแรกที่ซ้ำซากเสร็จสิ้นก่อนที่ปัญหาจะต้องการการจัดการเหตุการณ์ AI ที่กว้างขึ้น

การคัดแยกด้วยตนเอง

วิศวกรตรวจสอบ Sentry และ Axiom ระบุรายการที่ซ้ำกัน ตัดสินความรุนแรง เปิดปัญหา และหาเจ้าของ มันยืดหยุ่น แต่ทำซ้ำงานเดิม 20 ถึง 30 นาทีทุกเช้า

กฎการแจ้งเตือน Sentry

กฎจะแจ้งให้ทีมทราบเมื่อมีการข้ามเกณฑ์ มีประโยชน์สำหรับการตรวจจับ แต่ทีมยังคงต้องเชื่อมโยงบันทึก แยกข้อผิดพลาดที่ซ้ำกัน สร้างปัญหา GitHub และมอบหมายเจ้าของ

ระบบอัตโนมัติเวิร์กโฟลว์ Sentry ของ Okou

Okou รันการทำงานอัตโนมัติของ Sentry แบบครบวงจร: การสอบถาม, การลบข้อมูลซ้ำซ้อนข้ามแหล่งที่มา, การกำหนดเกณฑ์, การสร้างปัญหา, การแนบ stack-trace และการกำหนดเจ้าของโค้ด การรันตามความต้องการและการรันหลังการปรับใช้ใช้เวิร์กโฟลว์เดียวกัน

เคล็ดลับเพื่อผลลัพธ์ที่ดีขึ้น

ตั้งค่าเกณฑ์การเกิดซ้ำเพื่อควบคุมจำนวนปัญหาให้จัดการได้ 5+ เป็นจุดเริ่มต้นที่ดี ปรับตามปริมาณของคุณ
กำหนดขอบเขตการค้นหาของ Okou ไปยังการผลิตโดยใช้สภาพแวดล้อม Sentry หรือแท็กโครงการ เพื่อให้ข้อผิดพลาดในการจัดเตรียมไม่ไปถึงคิวการคัดแยก
เชื่อมโยงการคัดแยกรายวันกับการตรวจสอบหลังการปรับใช้เพื่อเปลี่ยนกิจวัตรให้เป็นการตอบสนองเหตุการณ์อัตโนมัติแบบเบาๆ และจับคู่กับสรุปสุขภาพผลิตภัณฑ์เวลา 9:00 น. เพื่อให้ทีมเห็นข้อผิดพลาดและสถานะในที่เดียว

คำถามที่พบบ่อย

จะจัดเรียงข้อผิดพลาดของ Sentry และเปลี่ยนให้เป็นปัญหาของ GitHub ได้อย่างไร?

หากต้องการสร้างปัญหา GitHub จาก Sentry โดยอัตโนมัติ ให้เชื่อมต่อ Sentry และ GitHub เข้ากับ Okou จากนั้นกำหนดเวลาหรือเรียกใช้ตามความต้องการ Okou จะสอบถามข้อผิดพลาดที่ยังไม่ได้รับการแก้ไข ใช้ตัวกรองเหตุการณ์และสภาพแวดล้อม สร้างปัญหาหนึ่งรายการต่อข้อผิดพลาดที่เข้าเกณฑ์ แนบ stack trace และการประทับเวลา และกำหนดเจ้าของโค้ด

วิธีขจัดข้อผิดพลาดที่ซ้ำกันใน Sentry และ Axiom

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

วิธีลดความเหนื่อยล้าจากการแจ้งเตือนจากการตรวจสอบข้อผิดพลาด

จำกัดการคัดแยกเฉพาะการผลิต กำหนดเกณฑ์การเกิดซ้ำ ลบข้อผิดพลาดเดียวกันในเครื่องมือต่างๆ และกำหนดเส้นทางข้อผิดพลาดที่มีปริมาณน้อยไปยังสรุปแทนที่จะสร้างปัญหา สิ่งนี้ทำให้คิวเน้นไปที่ข้อผิดพลาดที่ต้องดำเนินการ

Okou สามารถทำการคัดแยกข้อผิดพลาดหลังจากการปรับใช้ทุกครั้งได้หรือไม่?

ใช่ สร้างระบบอัตโนมัติที่เริ่มเวิร์กโฟลว์การคัดแยกข้อผิดพลาดหลังจากการปรับใช้หรือรวมเข้ากับ main โดยเลือกที่จะรอช่วงเวลาสังเกตการณ์สั้นๆ จากนั้นตรวจสอบ Sentry สำหรับข้อผิดพลาดในการผลิตใหม่และยื่นปัญหาที่เข้าเกณฑ์

ระบบอัตโนมัติในการคัดแยกข้อผิดพลาดต้องการเครื่องมืออะไรบ้าง

Sentry และ GitHub เป็นสิ่งจำเป็น: Sentry จัดหาข้อมูลข้อผิดพลาด และ GitHub รับปัญหาที่ได้รับมอบหมาย Axiom เป็นทางเลือก แต่จะเพิ่มบริบทบันทึกและปรับปรุงการขจัดข้อมูลซ้ำซ้อนข้ามแหล่งที่มา

การผสานรวม Sentry GitHub ต้องการสิทธิ์อะไรบ้าง

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

Okou สามารถแจ้งปัญหาในที่เก็บ GitHub ได้มากกว่าหนึ่งแห่งหรือไม่

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

Okou เปลี่ยนแปลงอะไรใน Sentry หรือไม่

ไม่ การรวม Sentry เป็นแบบอ่านอย่างเดียวที่นี่: Okou สอบถามปัญหาและเหตุการณ์และไม่เขียนอะไรกลับไป สถานะปัญหา การมอบหมาย และประวัติการแก้ไขของคุณยังคงเหมือนเดิมตามที่ทีมของคุณทิ้งไว้ สิ่งเดียวที่ Okou สร้างคือปัญหา GitHub

เรียกใช้การคัดแยก Sentry ครั้งแรกของคุณ

เชื่อมต่อ Sentry, GitHub และ Axiom (ไม่บังคับ) ใช้พรอมต์การคัดแยกรายวันเดียวกันเพื่อดูเวิร์กโฟลว์ในการทำงานโดยไม่ต้องสร้างใหม่ด้วยตนเอง

Okou ทุกวันธรรมดาเวลา 8:45 น. ดึงข้อผิดพลาดที่ยังไม่ได้รับการแก้ไขจาก Sentry และ Axiom ในช่วง 24 ชั่วโมงที่ผ่านมา ลบรายการซ้ำจากแหล่งที่มาต่างๆ สำหรับรายการที่มีการเกิดขึ้น 5 ครั้งขึ้นไป ให้เปิดปัญหา GitHub ใน okou-ai/okou พร้อมกับ stack trace เต็มรูปแบบ และมอบหมายให้เจ้าของโค้ดที่เกี่ยวข้อง