Domů / Docs

Dokumentace

Jak DiffMon funguje v oblasti monitoringu, alertů, bezpečnosti a API integrace.

Smart Schema Validation

Jak DiffMon klasifikuje diffy API na schema a value změny včetně severity, fingerprintů a troubleshootingu.

Smart Schema Validation

Smart Schema Validation (SSV) vám pomůže oddělit skutečný API contract drift od běžného value churnu.

Dostupnost plánu: Pro a vyšší.

Místo toho, aby DiffMon jen řekl "změnil se hash", klasifikuje JSON změny do kategorií:

  • schema_change (drift shape/type)
  • value_change (obsah se změnil, shape zůstává stabilní)
  • mixed (oboje)

Kdy se SSV spouští

SSV se spouští automaticky, když platí vše z následujícího:

  1. Typ cíle monitoru je api.
  2. Fetch mode je content.
  3. Response body lze parseovat jako JSON.
  4. Nejprve se aplikují JSON select/ignore pravidla.

Pokud tyto podmínky neplatí, DiffMon se vrátí k legacy hash diffingu.

Co uživatelé vidí v aplikaci

V historii monitoru a u incidentů dostanete:

  • classification badge (schema_change, value_change, mixed, unchanged)
  • přechod schema hashe (fromSchemaHash -> toSchemaHash)
  • počitadla schema/value změn
  • nejčastěji změněné JSON paths
  • severity pro každou změnu (critical, high, medium, info)

To pomáhá rychlé triáži:

  • priorizujte schema_change a mixed
  • value_change berte jako nižší riziko, pokud nejde o business-critical oblast

Severity model

SSV emituje severity na každém change recordu:

KategorieOperaceSeverity
schemareplacecritical
schemaremovehigh
schemaaddmedium
valuereplaceinfo
valueadd / removeinfo

Chování webhooků

Pro diff.detected obsahují webhook payloady:

  • diff_summary s classification, schema_changes, value_changes
  • changes[] s path, category, op, severity
  • diff_fingerprint pro deduplikaci a grouping

To umožňuje stabilní downstream routing a automation bez nutnosti znovu implementovat diff logiku.

Best practices konfigurace

  1. Pokud potřebujete detekci contract driftu, nechte API monitory v content mode.
  2. Pomocí selectJsonPaths zaměřte monitoring na stabilní podmnožinu, například jen data.items.
  3. Pomocí ignoreJsonPaths vyřaďte známá volatilní pole, například timestampy, ID nebo rotující tokeny.
  4. Než ignore pravidla rozšíříte, projděte si nejčastěji změněné paths.

Troubleshooting

Běžné chyby a varování monitoru:

KódVýznamAkce
SELECT_RULES_INVALID_JSON_PATHNeplatná syntaxe select JSON pathOpravte formát selectJsonPaths
IGNORE_RULES_INVALID_JSON_PATHNeplatná syntaxe ignore JSON pathOpravte formát ignoreJsonPaths
SELECT_RULES_INVALID_JSONResponse není validní JSON, zatímco jsou nastavená select pravidlaOvěřte formát odpovědi endpointu
IGNORE_RULES_INVALID_JSONResponse není validní JSON, zatímco jsou nastavená ignore pravidlaOvěřte formát odpovědi endpointu
SELECT_OR_IGNORE_RULES_INVALID_JSONResponse není validní JSON, zatímco jsou nastavené obě sady pravidelOvěřte formát odpovědi endpointu
UNEXPECTED_MIMEFormát odpovědi neodpovídá očekávanému typu a body nejde parseovat jako JSONZkontrolujte upstream response/content type
mime_mismatch_json (warning)Body se parseovalo jako JSON, ale Content-Type není JSONPožádejte poskytovatele o opravu content-type hlavičky
schema_analysis_failed (warning)Extrakce schématu selhala, hash diff je ale stále k dispoziciZkontrolujte shape payloadu a logy, pak zkuste znovu

Související dokumentace