A sat-nms backend service provides a gate to all sat-nms MNC servers in your overall system. This could be just a single MNC service running on the same host as the backend (all-in-one server) or any number of MNC service distributed over your network.
There are three steps to configure the sat-nms backend service:
/home/satnms/backend/backend.propertiesBy default the satnms4-backend package delivers a sample configuration for an all-in-one server installation. This template can be found in /home/satnms/backend/backend.properties.default. You can use this template by copy it to real backend configuration file: /home/satnms/backend/backend.properties and then editing it regarding you requirements.
To enable a minimal backend setup with a MNC service running on localhost just use the provide template:
satnms@satnms7-dev:~/backend$ cp backend.properties.default backend.properties
A detailed description of all options from backend.properties is available in the administration manual.
To ensure the backend service will automatically start on reboot, login as root and enable this service.
rootNow you can start the backend service as user satnms and check if its running.
satnmssatnms-watch┌──────────────────────┤ sat-nms state ├─────────────────────────┐
│ │
│ hostname / MNC name : satnms7-dev / MNC │
│ satnms OS version : debian-satnms-7.01 2023-10-05 │
│ ____________________________________________________________ │
│ │
...
│ │
│ backend service : RUNNING │
│ backend version : 1.17.10 │
...
│ │
│ last updated : 2025-14-02 16:48:48 UTC │
│ ____________________________________________________________ │
│ │
│ refresh refresh service states │
│ satnms-start start MNC Service │
│ backend-stop stop Backend Service │
│ nginx-start start Nginx Webserver │
│ │
│ <Select service> <Exit> │
└────────────────────────────────────────────────────────────────┘
The output depends on the installed services. In the example above, only the sat-nms backend service is installed and running.
You can also control the backend service directly with the follwing commands:
sudo systemctl start backendsudo systemctl stop backendCheck if the backend service start successfully:
systemctl status backendsatnms@satnms7-dev:~/backend$ systemctl status backend
● backend.service - sat-nms MNC Backend
Loaded: loaded (/etc/systemd/system/backend.service; disabled; preset: enabled)
Active: active (running) since Fri 2025-02-14 16:06:10 UTC; 5min ago
Main PID: 18136 (java)
Tasks: 22 (limit: 2307)
Memory: 136.9M
CPU: 8.788s
CGroup: /system.slice/backend.service
└─18136 java -Djava.security.egd=file:/dev/./urandom -jar backend.jar
You can test if the backend is ready to reply on REST-API requests use the heathcheck API-Endpoint which does not require authentication. It requires jq and curl installed. Run: curl -k https://localhost:8443/healthcheck | jq and if should report some information about the running backend software.
satnms@satnms7-dev:~$ curl -k -s https://localhost:8443/healthcheck | jq
{
"dict": [
{
"key": "PRODUCT",
"val": "satnms4 backend"
},
{
"key": "WEBSITE",
"val": "www.satnms.com"
},
{
"key": "VERSION",
"val": "1.17.10 2024-12-17 12:22:54"
},
{
"key": "SERIALNO",
"val": "000001"
}
]
}
Logfiles are available:
cat /home/satnms/backend/backend.logjournalctl -u backendA detailed description how to run the sat-nms backend service is available in the administration manual.
Troubleshooting
If you have trouble to connect to the backend server's API endpoints check first if the backend service is still running with:
systemctl status backend or/home/satnms/backend-statAdditionally you can lookup the process ID (PID) of the backend service process:
satnms@satnms7-dev:~$ ps axu | grep backend.jar
satnms 18136 0.3 8.4 2606224 170268 ? Ssl 16:06 0:25 java -Djava.security.egd=file:/dev/./urandom -jar backend.jar
Now check if the backend process with this PID (here 18136 from the second column) is associated to a process listening on the TCP port 8443:
satnms@satnms7-dev:~$ ss -taunp |grep 8443
tcp LISTEN 0 100 *:8443 *:* users:(("java",pid=18136,fd=10))
The backend internal web server runs on Port 8443 and serves only HTTPS requests. You should that this process is LISTEN on all interfaces (*:8443)