Import, export and repository snapshot

The Import/Export page lets you bulk-import objects from a CSV file, export any object type to CSV, and commit a point-in-time backup of every monitor and application to your version-control repositories.

The page is split into two tabs: Import and Export. The Export tab also hosts the Repository snapshot action.

import export page

Note:

Importing is restricted to users in the ADMIN group. The number of importable objects is capped by your license.

Import

Import objects in bulk from a single CSV file.

  1. Open the Import tab.
  2. Drag & drop a CSV file onto the drop zone, or click browse to pick one.
  3. Upload starts automatically; a progress bar and status message report the result.

The object type (api, db, nslookup, ping, tcp, sys, snmp, wmi, url, websocket, app, host, snmp device, wmi device, container host, report, downtime, user) is detected from the file content, so you do not select a type when importing.

CSV format:

  • Field separator is a semicolon (;).
  • Lines starting with # are treated as comments and ignored. Every export starts with comment lines that name and describe each column.
  • The file must contain at least one data row.
  • Monitor exports (url, api, tcp, udp, ping, nslookup, sys, db, websocket) end with the monitor’s prediction settings: predEnabled;predCount;predDataName;predAlert. A file exported before these columns existed still imports, with prediction off.
  • url and api exports then carry the status priority (statusPriority).
  • Every monitor export ends with the SIGNL4 settings: s4WH;s4OnF;s4OnSC. The application export ends with the logo (imageData, see below) and the same three SIGNL4 columns.

A file exported by an older version still imports: a column it does not have takes its default on a new object, and an existing object keeps its current value.

Tip:

To get a correctly formatted template, export the same object type first and edit the resulting CSV.

Updating existing objects

A line whose object already exists updates it. Some values are protected:

Object Kept from the existing object
Monitor Its current thresholds (critical, major, minor, and the jitter thresholds), so an import never undoes auto-thresholds or your tuning. Columns the file leaves empty (status priority, SIGNL4) also keep their current value.
Application Its SIGNL4 settings, when the line comes from an export without the SIGNL4 columns.
User Its password. The admin running the import also keeps its own group and enabled state, so it cannot lock itself out.
Downtime Everything, while the downtime is running: it is left unchanged.

Import result

The status message lists one result per line: what was created or updated, and for each rejected line the line number of the file and the reason (wrong number of fields, an unclosed quote, an invalid value…). A bad line no longer stops the import: the other lines are imported. Fix the reported lines and import the file again.

Export

Export a single object type to CSV.

  1. Open the Export tab.
  2. In Export type, select the object type (app, api, db, nslookup, ping, sys, tcp, url, websocket, snmp device, wmi device, container host, host, report, downtime, user).
  3. Click Export. The CSV is generated and downloaded as a zip archive.

A container host line carries the host’s connection, discovery scope, notification settings and its workload selection as JSON. Importing it creates the host on its probes and recreates its workload monitors; workloads have no lines of their own. A host whose name already exists is skipped.

An app line carries the application’s logo in the imageData column, as a base64 PNG or JPEG data URI, so a restore on another installation shows the same logos. Only real PNG/JPEG images are accepted at import.

Reports, downtimes and users

Type What a line carries At import
report The report definition: type, scope (monitors, applications, tags), schedule, recipients, format, state. A report switched on is scheduled at once.
downtime The downtime: type (custom or regular), schedule, applications and monitors in scope, state. A downtime switched on is scheduled at once; a running one is left unchanged.
user The account (group, type, e-mail, language, tags, applications…) and the user’s own view settings: both 3D layouts and cameras, the /app and /all view preferences, and the 3D background and profile pictures as data URIs. A new local user needs its bcrypt password hash, in the password column. An existing user keeps its password.

Repository snapshot

The Repository snapshot card commits a point-in-time CSV backup of all monitor types and applications to your configured Git repositories, in one batch commit. Use it to version-control your monitoring inventory or to keep an off-box copy for disaster recovery.

  1. In Repository snapshot, choose the target:
    • all enabled — commit to every configured and enabled provider.
    • GitLab — commit to GitLab only.
    • GitHub — commit to GitHub only.
  2. Click Back up now.

The snapshot writes one CSV per monitor type plus an applications CSV and a manifest.json, under a monitors/ and applications/ folder in the repository.

Note:

Secret columns (passwords, tokens, SNMP/WMI credentials) are redacted by default. To include them, enable the secrets policy in the provider configuration and use a private repository.

Configure the Git repository

Providers and the secrets policy are configured in Settings → External Services → Repositories & Backup. Two backends are available: GitLab and GitHub. Configure one or both.

GitLab

Field Description
GitLab Namespace Group/namespace that owns the repository. Required so monitor scripts are saved correctly.
GitLab Token Personal or project access token with repository write scope.
Gitlab base URL API base URL, e.g. https://my-gitlab.com/api/v4.
Gitlab project name Target project (repository) name.
Gitlab branch Branch to commit to, e.g. dev.

Use the test (bolt) icon to verify the connection. The synchronize icon reconciles the GitLab repository with the current Mugnsoft monitor list and deletes files that no longer belong to any monitor.

GitHub

Field Description
GitHub Owner User or organization that owns the backup repository.
GitHub Token Personal access token with repository write scope.
GitHub repository name Target repository, e.g. mugnsoft-monitors.
GitHub branch Branch to commit to, e.g. main.
GitHub base URL (Enterprise) Leave empty for github.com; set your GitHub Enterprise base URL (e.g. https://github.mycorp.com) otherwise.

Use the test (bolt) icon to verify the connection and the synchronize icon to reconcile the repository with the current monitor list.

Include secrets in CSV backups

Each provider panel has an Include secrets in CSV backups toggle. It is a shared policy that applies to both GitLab and GitHub.

Note:

When enabled, passwords, tokens and SNMP/WMI credentials are written to the CSV in clear form. Only enable this against a private repository.

After filling in the fields, enable the provider and save the settings. The provider then becomes selectable in the Repository snapshot target list.

Translations