Licenses and renewal
Every on-premise installation needs a valid SPOT license before dashboards or SAP extraction can start. Choose the online procedure when you received an activation key and the host can reach the licensing service. Choose offline when you received a license file for an installation without that connectivity.
The license defines its expiry date and its SAP-user and SAP-instance limits. Going above a limit creates a warning and is recorded in history, but it does not stop SPOT or the connector. A missing, invalid, expired, or revoked license does block product data and extraction.
Suite with web interface
First installation
- Install
spot-suiteorspot-suite-externaland openhttp://<server>:8080/setup. - In the License card, use one of these options:
- License key > Activate license for online activation.
- Offline license > Install file for the file you received.
- Wait until the card shows License valid. Check the expiry date before continuing.
- Complete Elasticsearch, SAP, and the first administrator, then save setup.
The rest of the form stays disabled until SPOT can validate the license. Do not copy or manually edit the installed license file.
After creating the first administrator
Sign in as an administrator and open Configuration > License. This section lets you:
- check status, online/offline mode, expiry, and assigned capacity;
- compare observed SAP users and instances with their limits;
- review quality, freshness, and usage history;
- activate a new online key or install a new offline file;
- download the encrypted renewal package.
Users without the administrator role only receive a general warning. They do not see contract figures, identifiers, or license actions.
Connector-only through the CLI
The connector-only package includes the local validator. After installing the RPM or DEB, first confirm it is active:
sudo systemctl enable --now spot-license.service
sudo systemctl status spot-license.service --no-pager
Online activation
Use the hidden prompt. The key will not appear in shell history or the process list:
sudo -u spot /opt/spot/bin/spot-agent-sap license-activate
Automation may use --stdin or --key-file. The input file must be a regular
file, readable by user spot, and have 0600 permissions. Never pass a key as
a positional argument or store it in a script, visible variable, or systemd
unit.
Offline installation
Prepare a protected temporary copy and install it with the dedicated command:
sudo install -o spot -g spot -m 0600 /received/path/license /run/spot-license.offline
sudo -u spot /opt/spot/bin/spot-agent-sap license-install /run/spot-license.offline
sudo rm -f /run/spot-license.offline
license-install validates the candidate first and only then replaces the
active license. If the file is invalid, it preserves the previous license.
Validation and startup
sudo -u spot /opt/spot/bin/spot-agent-sap license-status --json
sudo -u spot /opt/spot/bin/spot-agent-sap license-check
sudo systemctl restart spot-agent-sap.service
sudo systemctl status spot-agent-sap.service --no-pager
license-check succeeds for a valid license, including when there is a usage
warning. A truly invalid license prevents elastic-bootstrap and run, so the
agent service cannot become operational until it is corrected.
The collector records samples automatically while the agent is running. For diagnosis, you can request one sanitized manual sample:
sudo -u spot /opt/spot/bin/spot-agent-sap license-usage-sample
Portable / non-root
Set SPOT_HOME, start the included validator, and use the same commands without
sudo:
export SPOT_HOME="$HOME/spot-agent"
"$SPOT_HOME/scripts/run-license.sh" >"$SPOT_HOME/log/license.out" 2>"$SPOT_HOME/log/license.err" &
"$SPOT_HOME/bin/spot-agent-sap" license-activate
# or: "$SPOT_HOME/bin/spot-agent-sap" license-install /protected/path/license
"$SPOT_HOME/bin/spot-agent-sap" license-check
For a portable suite, use that suite directory as SPOT_HOME. The license and
its history remain under $SPOT_HOME/data/license; do not copy them between
installations or edit their contents.
How usage is calculated
- SAP instances: every configured SAP connection, including disabled ones.
- SAP users: the sum of recent
users-logged-invalues from enabled connections. SPOT sums all sources and rounds the total once. - Complete: every enabled source has a recent value.
- Partial: at least one recent value exists, but a source is missing.
- Unknown: no recent value exists.
A missing value is never converted to zero. A partial reading can prove that a limit was exceeded when its subtotal is already above the limit, but it cannot prove that usage is within the limit.
SPOT records samples every five minutes. The interface shows detailed samples for the last 24 hours and daily summaries for longer periods. Coverage gaps remain visible.
When to prepare the renewal package
Generate a new package:
- when your SPOT contact requests it for a renewal review;
- before the expiry date shown in Configuration > License;
- after a persistent overage or a change in the number of SAP systems when you are asked to review capacity;
- when support needs to verify coverage or continuity of the history.
Generate it as close as possible to the request and, when possible, after the enabled sources have sent recent data. If quality is partial or unknown, the package preserves that condition; it never invents values. Export remains available even after the license has expired.
Download and deliver the package
From the suite
- Sign in as an administrator.
- Open Configuration > License.
- Review the expiry date, latest sample, and quality.
- Under Prepare renewal, select Download renewal package.
- Keep
spot-renewal.spot-renewalexactly as downloaded and send it through the secure channel agreed with your SPOT contact.
From connector-only
umask 077
sudo -u spot /opt/spot/bin/spot-agent-sap license-renewal-export \
--output /var/lib/spot-agent-sap/spot-renewal.spot-renewal
Copy the resulting file to the agreed secure channel and remove the transport copy after receipt is confirmed. For portable:
umask 077
"$SPOT_HOME/bin/spot-agent-sap" license-renewal-export \
--output "$SPOT_HOME/data/spot-renewal.spot-renewal"
The package is encrypted for SPOT and contains sanitized license state, usage, quality, coverage, overages, and verifiable history. It does not contain the license key, credentials, or SAP connection details. Do not open, edit, merge, or repackage it: any alteration makes it unverifiable. Retain only the copies required by your transfer policy.
Apply the returned renewal
SPOT will return either a new online key or a new offline file. Apply it from
Configuration > License or with license-activate / license-install,
according to the mode you received. Then:
- run
license-status --jsonor refresh the license card; - verify valid status, the new expiry, and limits;
- restart the connector if it had been blocked;
- confirm that the previous history is still visible.
Renewal does not require deleting the license, journal, or connector state.