1.3.4 Configuration

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:

  1. create configuration file /home/satnms/backend/backend.properties
  2. modify configuration file
  3. enable autostart of backend service

By 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.

Now you can start the backend service as user satnms and check if its running.

┌──────────────────────┤ 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:

Check if the backend service start successfully:

satnms@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:

A 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:

Additionally 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)