הקמת ניטור סינתטי: הגנה על נתיבים קריטיים מפני תקלות
תארו לעצמכם: באמצע יום עבודה, טופס ההזמנה נופל. ניטור זמינות מראה 200 OK, אבל משתמשים לא יכולים לשלם. אנו מיישמים ניטור סינתטי — ניטור מבוסס דפדפן שעובר על תרחישים מרכזיים כל 5-15 דקות ומפעיל התראה על שגיאה. במשך 5 שנות ניסיון על 50+ פרויקטים, חידדנו את השיטה שלנו. היא תופסת תקלות לפני שהעסק מבחין בהן.
ניטור סינתטי מחקה פעולות משתמש אמיתיות. הוא פותח דפדפן, עובר על תרחיש (כמו ביצוע הזמנה), ומתעד את הזמן של כל שלב, כל שגיאה וצילומי מסך. זה מזהה בעיות שאינן נראות לניטור זמינות: JavaScript שבור, סלקטורים שהשתנו, תגובות API איטיות. לפי State of Synthetic Monitoring, 78% מהחברות כבר משתמשות בבדיקות סינתטיות לתרחישים קריטיים. בדיקות סינתטיות עונות על השאלה "האם העסק עובד?" ולא רק "האם השרת מגיב?" זהו מרכיב מפתח בהמשכיות עסקית.
באתר מסחר אלקטרוני טיפוסי, אנו מגדירים 5-7 תרחישים: חיפוש, כרטיס מוצר, עגלה, תשלום, אישור הזמנה. עבור SaaS — התחברות, יצירת משאב, פעולה מרכזית. כל תרחיש רץ ממספר אזורים כדי לסנן שגיאות רשת אקראיות.
ההבדל מניטור זמינות
פינג פשוט ל-GET / אינו ניטור סינתטי. הוא רק עונה על "האם השרת חי?" ניטור סינתטי בודק פונקציות עסקיות:
- רישום משתמש חדש
- חיפוש והצגת תוצאות
- הוספת פריט לעגלה
- מעבר דרך תשלום
בדיקות אוטומטיות כאלה מספקות מדדי זמינות וביצועים לכל שלב. זה משפיע ישירות על הכנסות: אם התשלום שבור, האתר מפסיד כסף. שעה אחת של השבתה בתשלום יכולה לעלות עד $100,000 לאתר מסחר אלקטרוני ממוצע. זה תלוי בתנועה ובערך הזמנה ממוצע.
אילו נתיבים קריטיים אנו מנטרים
| סוג אתר | נתיבים קריטיים | תדירות בדיקה |
|---|---|---|
| מסחר אלקטרוני | חיפוש → מוצר → עגלה → תשלום | כל 5-10 דקות |
| מסחר אלקטרוני | התחברות → חשבון → היסטוריית הזמנות | כל 15 דקות |
| SaaS | התחברות → לוח בקרה → יצירת פרויקט | כל 5 דקות |
| SaaS | נקודות קצה של API ללקוחות B2B | כל דקה |
| אתר תוכן | חיפוש → מאמר → טופס הרשמה | כל 15 דקות |
למה אנו בוחרים ב-Playwright + Checkly
Playwright הוא מסגרת אוטומציית דפדפן מודרנית. הוא עובד עם Chromium, Firefox, WebKit. Playwright מריץ בדיקות פי 2-3 מהר יותר מ-Puppeteer בזכות הקשרים מקבילים וניהול דפדפן יעיל. בשילוב עם Checkly (פלטפורמה מנוהלת), אנו מקבלים ביצוע בדיקות מ-10+ אזורים ברחבי העולם. היא מספקת צילומי מסך על שגיאה, מעקב מפל מים של בקשות, ואינטגרציה עם PagerDuty, Slack, Opsgenie.
דוגמת סקריפט לבדיקת תשלום:
// checkly: checkout-flow.spec.js
const { chromium } = require('playwright')
const { expect } = require('@playwright/test')
async function checkoutFlow() {
const browser = await chromium.launch()
const page = await browser.newPage()
try {
// Открыть каталог
await page.goto('https://example.com/catalog')
await expect(page.locator('.product-grid')).toBeVisible()
// Выбрать первый товар
await page.locator('.product-card').first().click()
await expect(page.locator('[data-testid="product-title"]')).toBeVisible()
// Добавить в корзину
await page.locator('[data-testid="add-to-cart"]').click()
await expect(page.locator('[data-testid="cart-count"]')).toContainText('1')
// Перейти в корзину
await page.goto('https://example.com/cart')
await expect(page.locator('.cart-items')).toContainText('1 товар')
console.log('Checkout flow: PASS')
} finally {
await browser.close()
}
} מה כלול בהקמת ניטור סינתטי סוהר
- ביקורת נתיבים קריטיים: יחד נזהה 5-7 תרחישים שמניעים את העסק שלך
- כתיבת בדיקות Playwright עם טיפול בשגיאות והערכות
- הגדרת פלטפורמה מנוהלת (Checkly או Datadog) או אירוח עצמי על GitHub Actions
- אינטגרציית התראות ל-PagerDuty, Telegram, Slack
- ניהול נתוני בדיקה: יצירת משתמש בדיקה, ניקוי הזמנות, החרגה מאנליטיקה
- תיעוד להשקה ותחזוקה
- הדרכת צוות (שיחת וידאו של שעה)
קבעו ייעוץ — נעזור לכם לבחור את פתרון הניטור האופטימלי.
אפשרות אירוח עצמי: GitHub Actions + Playwright
אם התקציב מוגבל, אנו פורסים ניטור על GitHub Actions. קוד במאגר, ריצה על cron כל 5-15 דקות:
---
name: Synthetic Monitoring
on:
schedule:
- cron: '*/5 * * * *'
workflow_dispatch:
jobs:
check-critical-paths:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Playwright
run: npx playwright install chromium
- name: Run synthetic checks
run: npx playwright test tests/synthetic/
- name: Notify on failure
if: failure()
run: curl -X POST "$SLACK_WEBHOOK" -d '{"text":"FAILED"}'
---
מגבלה: ה-cron של GitHub Actions אינו מבטיח דיוק ברמת שנייה (יכול להתעכב 5-15 דקות). לתרחישים רגישים לזמן, השתמשו בשירותים מנוהלים.
איך ניטור סינתטי מונע אובדן הכנסות?
מקרה אמיתי: לאחר עדכון CMS, שלב בחירת שיטת המשלוח של קמעונאי נשבר. ניטור זמינות שתק (200 OK), והזמנות לא בוצעו במשך 4 שעות. בדיקה סינתטית תפסה את הבעיה 5 דקות לאחר הפריסה. בזכות משוב מהיר, ההשבתה צומצמה, וחסכנו לעסק כ-$50,000 בחודש.
דוגמה נוספת: איך מנענו תקלה בפלטפורמת SaaS
בפרויקט אחד, שינוי API החזיר שגיאת 500 בנקודת הקצה של יצירת פרויקט. בדיקה סינתטית שרצה כל 5 דקות תיעדה את התקלה תוך 2 דקות מהפריסה. מפתחים קיבלו התראה והחזירו את השינוי תוך 10 דקות. ללא ניטור, ההשבתה הייתה נמשכת עד שעתיים.שלבי עבודה ולוחות זמנים
- ניתוח (יום אחד): הגדרת נתיבים קריטיים, הסכמה על נתוני בדיקה
- פיתוח בדיקות (1-2 ימים): כתיבת סקריפטים של Playwright, הגדרת סביבה
- אינטגרציית פלטפורמה (יום אחד): Checkly / Datadog / GitHub Actions + התראות
- בדיקות (חצי יום): הרצת בדיקות, התאמת timeouts ו-locators
- פריסה ומסירה (חצי יום): תיעוד, הדרכה, העברת גישה
לוח זמנים כולל — בין 2 ל-5 ימי עסקים תלוי במספר התרחישים. נבחן את הפרויקט שלך — צרו קשר באימייל או במסנג'ר.
ניהול נתוני בדיקה
- משתמש סינתטי ייעודי עם חשבון ייצור
- אמצעי תשלום: כרטיס בדיקה (Stripe 4242)
- הזמנות מסומנות כ-
// checkly: checkout-flow.spec.js const { chromium } = require('playwright') const { expect } = require('@playwright/test') async function checkoutFlow() { const browser = await chromium.launch() const page = await browser.newPage() try { // Открыть каталог await page.goto('https://example.com/catalog') await expect(page.locator('.product-grid')).toBeVisible() // Выбрать первый товар await page.locator('.product-card').first().click() await expect(page.locator('[data-testid="product-title"]')).toBeVisible() // Добавить в корзину await page.locator('[data-testid="add-to-cart"]').click() await expect(page.locator('[data-testid="cart-count"]')).toContainText('1') // Перейти в корзину await page.goto('https://example.com/cart') await expect(page.locator('.cart-items')).toContainText('1 товар') console.log('Checkout flow: PASS') } finally { await browser.close() } }ומודרות מדוחות - ניקוי יומי של עגלות וטיוטות דרך API
מדדים והתראות
| מדד | תיאור | סף |
|---|---|---|
| זמינות % | אחוז ריצות מוצלחות | < 99% → אזהרה, < 95% → קריטי |
| משך שלב | זמן לכל שלב (P95) | > 3 שניות → אזהרה, > 5 שניות → קריטי |
| משך זרימה כולל | זמן תרחיש כולל | > 10 שניות → אזהרה, > 20 שניות → קריטי |
| שלב כשל ראשון | איזה שלב נכשל | כל שגיאה → קריטי |
התראות: אם 2 מתוך 3 בדיקות מאזורים שונים נכשלות — קריטי ב-PagerDuty. אנו מגדירים הסלמה לצוות תוך 5 דקות.
מוכנים ליישם ניטור סינתטי ולהגן על העסק שלכם מהשבתות? צרו קשר — נבחן את הפרויקט שלכם ביום אחד. קבלו ייעוץ עם מהנדס — נראה לכם איך לאבטח את הפרויקט שלכם.







