Component Config Builder

The Component Config Builder is a guided chat wizard that generates a ready-to-run configuration file for any Mugnsoft component: a Probe (monitor.json), an Integrator (integrator.json) or a Sentinel Agent (discovery_agent.json). Answer a few questions — the builder fills in every other setting with production-safe defaults.

Opening the builder

From the Components page:

  • click the robot icon in the toolbar (next to the “plus” add button), or
  • click Build config file in the empty-state message shown when no component is registered yet.

Admin rights are required.

How it works

  1. Pick a component type — Probe, Integrator or Sentinel Agent.
  2. Answer the questions — free text, number, or one-click choice chips. A ← Back chip lets you return to the previous question at any time; re-answering simply overwrites the previous value.
  3. Review the summary — before anything is generated, the builder shows a recap of all your answers. Click the pencil icon next to any field to change just that answer; you return straight to the summary afterwards.
  4. Generate — click Generate config. A collapsible preview of the exact file content appears in the chat.
  5. Download or copy — use Download config to save the file, or Copy JSON to copy its content to the clipboard.
  6. Deploy — copy the file next to the component binary on the target machine and start the service. The component self-registers with the webserver on startup:
# Linux
./discovery_agent install && ./discovery_agent start

# Windows
discovery_agent.exe install && discovery_agent.exe start
Secrets are masked. Sensitive answers (Slack bot token, PagerDuty API key) are typed in a password field and shown as •••••••• in the chat and the summary. They are written in clear text only inside the generated file.

If an answer fails the final validation, the builder jumps back to the offending question so you can fix it — no need to start over.

Express vs Custom (Sentinel Agent)

The Sentinel Agent flow starts with a mode choice:

  • Express (recommended) — you answer only the 5 essentials: name, application, port, processes and schedule. Everything else uses the defaults listed below.
  • Custom — walks through all options: capture interval, filesystems, per-process traffic thresholds, URLs, APIs, log monitors, folder monitors, notifications…

Any setting can be refined later in the component’s Details form on the Components page.

Express mode defaults

The tables below list every value the builder writes when you pick Express (or press Enter to skip an optional question in Custom mode). See the Sentinel Agent configuration reference for the meaning of each field.

Reading the threshold tables. *AutoThreshold: "true" means thresholds are learned from history — the paired *FixedThresh* values are only used if you later switch auto-thresholding off. An empty value ("") means unset: no alert fires for that severity (shown as ∞ in the UI).

Collection & discovery

Key Default
discoCapInterval "10" (seconds of traffic sniffing per cycle)
discoFSGMonitored "C:"
ports / probeEndPoint / tags / location / description ""
integratorEndPoint "" (no integrator)
trafficThresholds {} (per-process traffic alerting off)
urls / apis / logMonitors / dirMonitors not set

Auto-threshold engine

Key Default
discoGAutoThresholdRange / discoPAutoThresholdRange "24" (hours of history)
discoGAutoThreshCri / discoPAutoThreshCri "6" (std-dev factor)
discoGAutoThreshMaj / discoPAutoThreshMaj "4"
discoGAutoThreshMin / discoPAutoThreshMin "2"

System metrics (global)

All system metrics are enabled (*GMonEnabled: "true").

Metric Auto Fixed Cri / Maj / Min
discoCPUG* "true" 99 / 98 / 0.01
discoMEMG* "true" 99 / 98 / 97
discoLoadAvg1minG* / 5minG* / 15minG* "true" 200 / 150 / 100
discoFSG* "true" 99 / 98 / 97
discoFSInodesG* "true" 98 / 96 / 90
discoTCPSocketsG* "true" unset
discoCpuIOWaitG* "false" unset (collected, never alerts)
discoDiskQueueG* "false" unset (collected, never alerts)
discoDiskUtilG* "true" 95 / 85 / 70
discoDiskReadRateG* / discoDiskWriteRateG* "true" 500 / 300 / 100
discoNetBytesRateG* "true" 100000000 / 50000000 / 10000000
discoNetTxDropsG* "false" unset (collected, never alerts)
discoSwapInRateG* / discoSwapOutRateG* "true" 1048576 / 524288 / 102400

Per-process metrics

All per-process metrics are enabled (*PMonEnabled: "true") and auto-thresholded (*PAutoThreshold: "true").

Metric Fixed Cri / Maj / Min (used only if auto is later disabled)
discoCPUP* 98 / 96 / 90
discoMEMP* unset / 3 / 1
discoSWAPP* unset / 3 / 1
discoCPUUserP* unset
discoIostatReadP* / discoIostatWriteP* unset
discoNumThreadsP* / discoNumFDsP* unset

Notifications & actions

Key Default
notifyStatus "MINOR" (minimum severity that triggers a notification)
notifyAfter "1" (consecutive breaches before first alert)
notifyFor "2" (alerting cycles)
emailOnF / emailOnSC / slackOnF / slackOnSC / teamsOnF / teamsOnSC / pdOnF / pdOnSC "false"
emailR ""
scriptOnF / scriptOnSC "false", scriptAction / scriptActionT ""
integratorRetryQueueSize "500"

Service & logging

Key Default
logLevel "info"
logCompress "true"
maxSize "10" (MB per log file)
maxBackups "5"
maxAge "28" (days)
logMaxLinesPerTick "100000"
backupInterval "24" (hours between KV backups)
nbDaysBackup "336" (hours of backup retention)

The builder also resolves webserver (the endpoint the component reports to) and the internal shared secret automatically from the running webserver — you never type those.

Probe and Integrator flows

Both flows are short (no Express/Custom split):

  • Probe — name, port (default 8072), location, description, optional integrator selection (fetched live from the webserver). Produces monitor.json with auto-thresholding enabled (24 h range, std-dev factors 8/6/4).
  • Integrator — name, port (default 8060), description, then one yes/no section per notification channel: Email (recipients only — SMTP settings are inherited from the webserver), PagerDuty, Slack, Microsoft Teams. Produces integrator.json.

See the Probe and Integrator configuration references for the full field list.

Translations