Sentry คืออะไร และวิธีติดตั้งบน Cloud Server
Sentry คือระบบเก็บและวิเคราะห์ข้อผิดพลาดของแอปที่เกิดกับผู้ใช้จริง บอกได้ว่าเกิดที่โค้ดบรรทัดไหน เกิดกี่ครั้ง กระทบผู้ใช้กี่คน และเริ่มเกิดหลังการปล่อยเวอร์ชันใด
- หมวดหมู่
- Monitoring และ Observability
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 4 vCPU · RAM 8 GB
- ไลเซนส์
- BSL (ตรวจเงื่อนไขก่อนใช้เชิงพาณิชย์)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Sentry คืออะไร
ปัญหาที่ทีมพัฒนาเจอบ่อยคือผู้ใช้แจ้งว่าระบบมีปัญหาแต่บอกรายละเอียดไม่ได้ ส่วน Log บนเซิร์ฟเวอร์ก็มีข้อมูลมากเกินจนหาจุดที่เกี่ยวข้องยาก ทำให้ใช้เวลานานกว่าจะหาสาเหตุเจอ
Sentry แก้ด้วยการดักข้อผิดพลาดจากตัวแอปโดยตรง แล้วส่งข้อมูลที่จำเป็นมาให้ครบ ทั้งลำดับการเรียกฟังก์ชัน ค่าตัวแปรที่เกี่ยวข้อง เบราว์เซอร์หรือระบบปฏิบัติการของผู้ใช้ และเวอร์ชันของโค้ดที่กำลังรัน
ระบบยังจัดกลุ่มข้อผิดพลาดที่เป็นเรื่องเดียวกันไว้ด้วยกันและนับจำนวนผู้ใช้ที่ได้รับผลกระทบ ทีมจึงจัดลำดับความสำคัญได้ว่าควรแก้อะไรก่อน แทนที่จะไล่แก้ตามลำดับที่แจ้งเข้ามา
ความสามารถเด่นของ Sentry
บอกจุดที่เกิดข้อผิดพลาดในโค้ด
เห็นลำดับการเรียกฟังก์ชันและบรรทัดที่เกิดปัญหา
จัดกลุ่มและนับผลกระทบ
รู้ว่าปัญหาใดกระทบผู้ใช้มากที่สุดเพื่อจัดลำดับการแก้
ผูกกับเวอร์ชันที่ปล่อย
เห็นว่าข้อผิดพลาดเริ่มเกิดหลังปล่อยเวอร์ชันใด
รองรับหลายภาษาและเฟรมเวิร์ก
ใช้ได้ทั้งฝั่งเว็บ ฝั่งเซิร์ฟเวอร์ และแอปมือถือ
วัดประสิทธิภาพของคำขอ
เห็นว่าเส้นทางใดช้าและช้าที่ขั้นตอนไหน
ใช้ Sentry ทำอะไรได้บ้าง
- ทีมพัฒนาที่ต้องการรู้ปัญหาก่อนที่ผู้ใช้จะแจ้งเข้ามา
- ระบบที่มีผู้ใช้จำนวนมากและต้องจัดลำดับความสำคัญของบั๊ก
- องค์กรที่ต้องการเก็บข้อมูลข้อผิดพลาดไว้ในเซิร์ฟเวอร์ของตัวเอง
- ทีมที่ต้องยืนยันว่าการปล่อยเวอร์ชันใหม่ไม่ทำให้เกิดปัญหาเพิ่ม
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| ขั้นต่ำตามข้อกำหนดขั้นต่ำของการติดตั้งเอง | 4 vCPU | 8 GB | NVMe 100 GB |
| แนะนำหลายโครงการที่มีผู้ใช้จริง | 8 vCPU | 16 GB | NVMe 200 GB |
| ใช้งานหนักปริมาณเหตุการณ์สูงและเก็บย้อนหลังยาว | 16 vCPU ขึ้นไป | 32 GB ขึ้นไป | NVMe 500 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Sentry บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Docker และ Docker Compose
- RAM อย่างน้อย 8 GB เพราะระบบมีหลายองค์ประกอบ
- โดเมนและใบรับรอง SSL
- พื้นที่ดิสก์สำหรับเก็บเหตุการณ์ย้อนหลัง
ทดสอบบน Ubuntu Server 24.04 LTS ที่ติดตั้ง Docker แล้ว
- 1
ดาวน์โหลดชุดติดตั้ง
git clone https://github.com/getsentry/self-hosted.git cd self-hosted - 2
รันสคริปต์ติดตั้ง
สคริปต์จะตรวจความพร้อมของเครื่อง เตรียมฐานข้อมูล และให้สร้างบัญชีผู้ดูแลระบบ ขั้นตอนนี้ใช้เวลาพอสมควร
./install.sh - 3
เริ่มระบบ
docker compose up -d docker compose ps - 4
ตั้ง Nginx และ HTTPS
sudo certbot --nginx -d sentry.example.com - 5
สร้างโครงการและเชื่อมกับแอป
สร้างโครงการในหน้าจอเพื่อรับที่อยู่สำหรับส่งข้อมูล แล้วติดตั้งไลบรารีในแอปและตั้งค่าที่อยู่นั้น
// ตัวอย่างฝั่ง JavaScript import * as Sentry from "@sentry/browser" Sentry.init({ dsn: "https://[email protected]/1", release: "[email protected]", tracesSampleRate: 0.1, }) - 6
ตั้งการแจ้งเตือนและนโยบายเก็บข้อมูล
ตั้งให้แจ้งทีมเมื่อพบข้อผิดพลาดใหม่หรือเมื่อจำนวนเพิ่มผิดปกติ และกำหนดระยะเวลาเก็บเหตุการณ์เพื่อคุมพื้นที่ดิสก์
ระวังไม่ให้ข้อมูลส่วนบุคคลหลุดเข้าไปในรายละเอียดข้อผิดพลาด ควรตั้งค่ากรองข้อมูลอ่อนไหวก่อนส่งออกจากแอปเสมอ
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | หน้าจอและปลายทางรับข้อมูลจากแอป |
| 9000 | TCP | พอร์ตภายในของระบบ |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ปิดการสมัครสมาชิกเองและผูกกับระบบยืนยันตัวตนขององค์กร
- ตั้งค่ากรองข้อมูลอ่อนไหวไม่ให้ถูกส่งเข้าระบบ
- จำกัดสิทธิ์ให้แต่ละทีมเห็นเฉพาะโครงการของตัวเอง
- ตั้งนโยบายเก็บข้อมูลเพื่อไม่ให้ดิสก์เต็ม
- สำรองฐานข้อมูลตามรอบ
ทำไมควรรัน Sentry บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
ข้อมูลข้อผิดพลาดซึ่งอาจมีร่องรอยของข้อมูลผู้ใช้อยู่ในเซิร์ฟเวอร์ในไทยที่องค์กรควบคุมเอง
ไม่มีค่าใช้จ่ายตามจำนวนเหตุการณ์ ต่างจากบริการที่คิดตามปริมาณ
ขยายสเปกได้เมื่อปริมาณเหตุการณ์เพิ่มขึ้นตามการเติบโตของระบบ
คำถามที่พบบ่อยเกี่ยวกับ Sentry
Sentry ต่างจากระบบรวม Log อย่างไร
ระบบรวม Log เก็บทุกอย่างที่แอปเขียนออกมา ส่วน Sentry โฟกัสที่ข้อผิดพลาดโดยเฉพาะ พร้อมบริบทที่ช่วยแก้บั๊กได้ทันที ทั้งลำดับการเรียกฟังก์ชันและผลกระทบต่อผู้ใช้ ทีมส่วนใหญ่ใช้ทั้งสองอย่างคู่กัน
ติดตั้งเองคุ้มไหมเมื่อเทียบกับใช้บริการ
คุ้มเมื่อองค์กรมีข้อกำหนดว่าข้อมูลต้องอยู่ในประเทศ หรือเมื่อปริมาณเหตุการณ์สูงจนค่าบริการตามปริมาณแพงกว่าค่าเซิร์ฟเวอร์ แต่ต้องยอมรับว่าระบบมีหลายองค์ประกอบและต้องมีคนดูแล
ใช้ทรัพยากรเท่าไหร่
มากกว่าที่หลายทีมคาด เพราะมีทั้งฐานข้อมูล คิวงาน และตัวประมวลผลหลายตัว ควรเริ่มที่ 8 GB RAM เป็นอย่างน้อยและเผื่อดิสก์ตามปริมาณเหตุการณ์ที่จะเก็บ
ทางเลือกอื่นที่คล้ายกับ Sentry
แอปอื่นในหมวด Monitoring และ Observability
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Sentry ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด