Development

Sentry 2026: คู่มือ Open-Source Error Tracking & APM Monitoring สำหรับ SME ไทย

Sentry คือ Open-Source platform สำหรับ Error Tracking และ APM ที่ทีม Dev ใช้จับ bug แบบ real-time, ลด MTTR และ monitor performance ครอบคลุม Self-Hosted, Laravel, Next.js สำหรับ SME ไทย 2026

AF
ADS FIT Team
·8 นาที
Share:

# Sentry 2026: คู่มือ Open-Source Error Tracking & APM Monitoring สำหรับ SME ไทย

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

Sentry เป็น Open-Source platform ที่จับ error อัตโนมัติพร้อม stack trace, breadcrumb และ context ของ user ทุกคนที่เจอปัญหา ใช้งานได้ทั้งแบบ Self-Hosted และ Cloud รองรับ JavaScript, Laravel, Next.js, React, Node.js, Python และอีกกว่า 100 frameworks

ในคู่มือนี้คุณจะได้เรียนรู้ตั้งแต่หลักการพื้นฐานของ Error Tracking และ APM (Application Performance Monitoring) วิธีติดตั้ง Sentry ใน Laravel และ Next.js การตั้งค่า Alert การวิเคราะห์ Performance Bottleneck พร้อมเปรียบเทียบกับ Datadog และ New Relic เพื่อให้ทีมเลือกใช้เครื่องมือได้ถูกต้องตามงบประมาณ

Sentry คืออะไร และทำไม SME ไทยจึงต้องใช้

Sentry เริ่มต้นในปี 2008 ในฐานะเครื่องมือ Error Tracking สำหรับ Django ปัจจุบันเป็น Application Monitoring ที่ครอบคลุม Error, Performance, Profiling, Session Replay และ Logs ในแพลตฟอร์มเดียว ใช้งานโดย Microsoft, Disney, Cloudflare และอีกหลายร้อยบริษัททั่วโลก

สิ่งที่ Sentry ช่วยทีม SME ไทย:

  • จับ error ทันทีพร้อม source code line + variable values ในเวลานั้น
  • ลด Mean Time to Resolution (MTTR) จากชั่วโมงเหลือเป็นนาที
  • รวม Frontend, Backend, Mobile errors ในที่เดียว
  • ติดตาม performance regressions ก่อนที่ลูกค้าจะรู้
  • Replay session ของ user ที่เจอ bug เพื่อดูว่าเกิดอะไรก่อน error
  • Self-Hosted vs Cloud

    | ตัวเลือก | จุดเด่น | ข้อจำกัด |

    |---|---|---|

    | Sentry SaaS | ตั้งค่า 5 นาที, ไม่ต้องดูแล server | ราคาเริ่ม $26/เดือน, data ออกนอกประเทศ |

    | Self-Hosted | Free, data อยู่ใน Thailand, customize ได้ | ต้องการ Docker + 16GB RAM, ดูแลเอง |

    | Developer Plan | Free 5K errors/เดือน | จำกัด team size + retention 30 วัน |

    หลักการ Error Tracking และ APM

    ก่อนใช้ Sentry ทีมต้องเข้าใจคำสำคัญ:

  • **Error**: exception ที่เกิดในโค้ด เช่น uncaught exception, HTTP 500, JS runtime error
  • **Issue**: กลุ่มของ errors ที่มีลายนิ้วมือ (fingerprint) เดียวกัน เช่น 1,000 errors จากบรรทัดเดียวกัน = 1 issue
  • **Breadcrumb**: เหตุการณ์ก่อน error เช่น click, navigation, API call ที่ช่วย reproduce ปัญหา
  • **Trace**: เส้นทางของ request ผ่านหลาย service เช่น Browser → Next.js API → Laravel → Database
  • **Span**: ส่วนย่อยใน trace เช่น "ดึง user 200ms" "query order 850ms"
  • **Release**: version ของ deploy ที่ link error กับ commit ใน Git
  • Sentry ใช้ source maps + DSN (Data Source Name) เพื่อ associate error จาก minified JS กลับไปที่ source code ที่อ่านง่าย

    วิธีติดตั้ง Sentry ใน Laravel

    ขั้นตอนการ setup สำหรับ Laravel project:

    ขั้นที่ 1: ติดตั้ง package

    ```bash

    composer require sentry/sentry-laravel

    php artisan sentry:publish --dsn=https://xxxxx@sentry.io/1234

    ```

    ขั้นที่ 2: configure `.env`

    ```

    SENTRY_LARAVEL_DSN=https://xxxxx@sentry.io/1234

    SENTRY_TRACES_SAMPLE_RATE=0.1

    SENTRY_PROFILES_SAMPLE_RATE=0.1

    SENTRY_SEND_DEFAULT_PII=false

    ```

    ค่า `traces_sample_rate=0.1` หมายถึงเก็บ 10% ของ transactions เพื่อประหยัด quota สำหรับ SME แนะนำ 0.1-0.2

    ขั้นที่ 3: ทดสอบ

    ```bash

    php artisan sentry:test

    ```

    ขั้นที่ 4: เพิ่ม user context ใน `app/Exceptions/Handler.php`:

    ```php

    \Sentry\configureScope(function (Sentry\State\Scope $scope) {

    if (auth()->check()) {

    $scope->setUser([

    'id' => auth()->id(),

    'email' => auth()->user()->email,

    ]);

    }

    });

    ```

    วิธีติดตั้ง Sentry ใน Next.js

    ขั้นที่ 1: ใช้ wizard

    ```bash

    npx @sentry/wizard@latest -i nextjs

    ```

    Wizard จะสร้างไฟล์ `sentry.client.config.ts`, `sentry.server.config.ts`, `sentry.edge.config.ts` พร้อมตั้งค่า source maps อัตโนมัติ

    ขั้นที่ 2: ใน `next.config.js`:

    ```js

    const { withSentryConfig } = require('@sentry/nextjs');

    module.exports = withSentryConfig(nextConfig, {

    silent: true,

    hideSourceMaps: true,

    disableLogger: true,

    });

    ```

    ขั้นที่ 3: เปิด Session Replay เพื่อ debug bug ที่ reproduce ยาก:

    ```ts

    Sentry.init({

    dsn: process.env.SENTRY_DSN,

    replaysSessionSampleRate: 0.05,

    replaysOnErrorSampleRate: 1.0,

    integrations: [

    Sentry.replayIntegration({

    maskAllText: true,

    blockAllMedia: true,

    }),

    ],

    });

    ```

    `maskAllText: true` ป้องกันข้อมูล PII ถูกเก็บใน replay ซึ่งสำคัญมากสำหรับ PDPA compliance

    ตั้งค่า Alert ที่ไม่รบกวนทีม

    หลายบริษัทเปิด Sentry แล้วได้ alert วันละ 200 ฉบับ จนทีมปิด notification ทั้งหมด คำแนะนำในการตั้ง alert:

  • Issue Alert: แจ้งเมื่อมี issue ใหม่ที่กระทบ user >= 10 คน ใน 1 ชั่วโมง
  • Error Spike: แจ้งเมื่อ error rate เพิ่ม > 5% ใน 5 นาที (anomaly detection)
  • Performance Regression: แจ้งเมื่อ p95 latency ของ endpoint สำคัญเพิ่ม > 50%
  • Slack/LINE Notify: ส่ง alert ไป channel `#alerts-prod` พร้อม link ตรงไป issue
  • ใช้ Inbound Filters เพื่อ ignore noise เช่น bot traffic, browser extension errors, third-party script errors ที่ควบคุมไม่ได้

    Performance Monitoring & Profiling

    Sentry APM ทำให้เห็นว่าจุดไหนช้าโดยไม่ต้องเดา:

  • **Web Vitals**: LCP, FID, CLS, TTFB ของแต่ละ page
  • **N+1 Query Detection**: Sentry ตรวจ query ซ้ำ ๆ และแจ้งให้ใช้ eager loading
  • **Slow Function Profiling**: เห็น flame graph ของ CPU usage จริงในโลก production
  • **Distributed Tracing**: เชื่อม trace จาก browser → API → database เป็นภาพเดียว
  • เปรียบเทียบ Sentry กับ Datadog และ New Relic

    | คุณสมบัติ | Sentry | Datadog APM | New Relic |

    |---|---|---|---|

    | Error Tracking | เด่นที่สุด | พื้นฐาน | ดี |

    | APM/Tracing | ดี | เด่นที่สุด | เด่น |

    | Self-Hosted | ใช่ | ไม่ | ไม่ |

    | Session Replay | ใช่ | Limited | ใช่ |

    | ราคาเริ่มต้น | Free / $26 | $31/host | $0.30/GB |

    | เหมาะกับ | SME, Frontend-heavy | Enterprise, DevOps | Mid-market |

    สำหรับ SME ไทยที่เน้น Web App และต้องการเก็บ data ในประเทศ Sentry Self-Hosted คือทางเลือกที่ตอบโจทย์ทั้งงบและ PDPA

    Best Practices สำหรับ Sentry ใน Production

    1. ตั้ง `release` ทุก deploy เพื่อ rollback ได้ไว

    2. Mask PII ทั้ง form input + Session Replay

    3. ใช้ `beforeSend` hook กรอง error sensitive ก่อนส่ง

    4. ตั้ง quota alert ใน Sentry เพื่อกัน bill shock

    5. รวม Sentry กับ CI/CD ผ่าน GitHub Action `getsentry/action-release`

    สรุปและขั้นตอนถัดไป

  • ติดตั้ง Sentry ใน production ภายใน 1 ชั่วโมง — ROI สูงที่สุดในการลงทุน Observability
  • ตั้ง sample rate 10% และค่อยปรับเพิ่มตาม budget
  • Mask PII ใน Session Replay เพื่อ comply PDPA
  • ใช้ Release tracking + commit link เพื่อระบุ deploy ที่ทำให้ error เพิ่ม
  • เริ่มจาก Free tier ก่อน upgrade เมื่อ error volume > 5K/เดือน
  • หากต้องการให้ทีมผู้เชี่ยวชาญ adsfit ช่วย setup Sentry, ออกแบบ alert policy, หรือ integrate กับ CI/CD pipeline ของคุณ ติดต่อเราได้ที่ [adsfit.co.th/contact](https://www.adsfit.co.th/contact) หรืออ่านบทความ DevOps อื่น ๆ ในหมวด Development เพิ่มเติม

    Tags

    #Sentry#Error Tracking#APM#Observability#DevOps#Self-Hosted

    สนใจโซลูชันนี้?

    ปรึกษาทีม ADS FIT ฟรี เราพร้อมออกแบบระบบที่ฟิตกับธุรกิจของคุณ

    ติดต่อเรา →

    บทความที่เกี่ยวข้อง