Adds three new SD-WAN checks (wanAppRtpMos/Loss/Jitter) that measure
REAL voice-traffic quality on actual RTP frames via Prisma DPI, not
synthetic link probes. Graded against the WORST 5-minute window so
transient degradation the 24h link-probe averages smooth away
actually surfaces.
Voice-app selection is tenant-configurable via PRISMA_APP_ID_VOICE +
PRISMA_APP_NAME_VOICE (Webex_Calling_RTP recommended for Webex
Calling shops — the Webex-specific DPI signature excludes non-Webex
UDP noise). Legacy PRISMA_APP_ID_RTP_BASE still honored with a
one-time deprecation warning.
Widens the default WAN look-back from 24h to 7 days: per-app metrics
only get datapoints when calls actually happen, so sporadic Webex
Calling stores (3-4 calls/day) need a wider window for worst-window
statistics to be meaningful. Interval picker snaps 7d to 1hour
buckets (168 pts) to keep payloads bounded while preserving
worst-hour granularity. Hard-capped at 7d — beyond that Prisma
downsamples to 1-day buckets and the signal collapses.
Also:
- Client-side concurrency limiter (PRISMA_MAX_INFLIGHT, default 3)
to prevent 429 cascades when /voicediag fans out 10+ parallel
metric fetches
- "View in Prisma UI" deep links in both /phonestatus WAN follow-up
and /voicediag details, threading through a new
integrations/paloalto/urls.js builder
- humanizeMetricUnit maps raw API unit strings ("percentage",
"milliseconds") to display symbols ("%", "ms") to fix
"11.83percentage" leaking to the UI
- getAppAudio envelope distinguishes not-configured / fetch-failed /
no-traffic states so misleading "set env var" messages don't fire
when the real problem is a 429
Co-authored-by: Cursor <cursoragent@cursor.com>
36 lines
752 B
JavaScript
36 lines
752 B
JavaScript
// src/integrations/paloalto/index.js
|
|
//
|
|
// Barrel re-export for the Palo Alto Prisma SD-WAN integration.
|
|
// Consumers should import from this file rather than reaching into
|
|
// individual sub-modules — same pattern as integrations/serviceChannel/.
|
|
|
|
export {
|
|
paloAltoAxios,
|
|
getPrismaToken,
|
|
_resetPrismaAuthCache,
|
|
} from './client.js';
|
|
|
|
export {
|
|
siteNameForStore,
|
|
findSdwanSiteForStore,
|
|
getAllSites,
|
|
getElementsForSite,
|
|
getWanInterfacesForSite,
|
|
_resetSitesCache,
|
|
} from './sites.js';
|
|
|
|
export {
|
|
LQM_METRIC_NAMES,
|
|
APP_METRIC_NAMES,
|
|
getHealthscore,
|
|
getLqmMetric,
|
|
getAppMetric,
|
|
getAlarms,
|
|
} from './metrics.js';
|
|
|
|
export {
|
|
getPrismaUiBaseUrl,
|
|
buildAppDetailsUrl,
|
|
} from './urls.js';
|
|
|
|
export { default } from './client.js';
|