VISULOX 5 Documentation
5.0.2 5.0.1
5.0.2 5.0.1

Monitoring & Log Inspection Guide


Purpose: How to monitor Visulox services, inspect logs, change log level, and validate runtime health on Linux systems.


Scope: Visulox Portal, Visulox Connector, Visulox Core.

1. Installed Version Verification

Verify installed RPM packages:

rpm -qa | grep -E "visulox|vlx"

Check Visulox Portal binary version:

/opt/visulox-portal/bin/vlx-portald version

Check Visulox license status:

sudo visulox license status

2. Visulox Core

Service Status:

systemctl status vlx-core
# Healthy state indicator: Active: active (running)

 visulox integrity
 # To check component status

Logs:

journalctl -u vlx-core.service -f
journalctl -u vlx-core.service -n 200

Restart:

systemctl restart vlx-core

Core Configuration Validation:

visulox config list

# Exmaples:
visulox config -name role
visulox config -name visulox-portal.hostname

# Edit example:
visulox config edit -name visulox-portal.hostname='raw.tbsol.de'

3. Visulox Portal

To see all available vlx-portald commands, run:

/opt/visulox-portal/bin/vlx-portald --help


Available commands:

Command

Description

completion

Generate the autocompletion script for the specified shell

control-user

Testing username or (username and password)

create-maingateway-connector

Create maingateway connector_server in the database and print its secret

create-worker-portal-server

Create a worker portal_server row from an FQDN

fetch-ad-info

Fetch and display information from Active Directory server

fetch-ldap-info

Fetch and display information from LDAP server

health-check

Check Visulox Portal installation health

help

Help about any command

install

Install all default data and configurations that system needs

join

Join a cluster by fetching configuration from a master server

migrate

Migrate up or down

serve-all

Start all API servers (rest-apis, socket-apis, soap-apis)

serve-consumer

Start the KeyDB consumer gateway

serve-osgd

Start osgd api server based on SGD server

serve-restapi

Start rest api server

setup-master

Setup master node

setup-node

Setup worker node to join a cluster

version

Print the version number

Flags:

Flag

Description

-c, --configFile string

Path to the configs file (e.g. ./configs.yaml) [Optional]

--down

Apply down migrations (reverse all applied migrations)

-h, --help

Help for this command

-f, --migration-force int

Force migration version (default -1)

-i, --migration-version

Print out the version of current migration

-s, --steps int

Steps of migrations — should be used with migrate command

--up

Apply up migrations (apply all migrations)

Use [command] --help for more information about a specific command.

3.1. Service Status and Logs

Status:

systemctl status vlx-portal

# Healthy state indicator: Active: active (running)

Logs:

journalctl -u vlx-portal -f

File-Based Logs (Default path):

/var/log/visulox-portal/portal.log

# Monitor:
tail -f /var/log/visulox-portal/portal.log

3.2. Set log level and log file path

3.2.1. Portal

Edit configurations:

sudo vi /opt/visulox-portal/configs/config.json

Update Logger block:

"Logger": {
  "Level": "debug",
  "ExtraFilePath": "/var/log/visulox-portal/portal.log"
}
  1. Ensure file permissions:

sudo mkdir -p /var/log/visulox-portal
sudo touch /var/log/visulox-portal/portal.log
sudo chown vlx:vlxgroup /var/log/visulox-portal/portal.log
sudo chmod 664 /var/log/visulox-portal/portal.log
  1. Restart:

sudo systemctl restart vlx-portal

⚠ Use debug only temporarily.

3.2.2. Connector

Edit configurations:

sudo vi /opt/visulox-portal-connector/configs/config.json

Update Logger block:

"Logger": {
  "Level": "debug",
  "ExtraFilePath": "/var/log/visulox-portal-connector/connector.log"
}
  1. Ensure file permissions:

sudo mkdir -p /var/log/visulox-portal-connector
sudo touch /var/log/visulox-portal-connector/connector.log
sudo chown vlx:vlxgroup /var/log/visulox-portal-connector/connector.log
sudo chmod 664 /var/log/visulox-portal-connector/connector.log
  1. Restart:

sudo systemctl restart vlx-connector

⚠ Use debug only temporarily.

3.3. Portal User Management

Use the following command to manage Portal users (e.g., create or update a user with a password):

/opt/visulox-portal/bin/vlx-portald control-user \
  -c /opt/visulox-portal/configs/config.json \
  -u <username> \
  -p <password>

Parameters:

  • -c — Path to the Portal config file

  • -u — Username

  • -p — Password

Example:

/opt/visulox-portal/bin/vlx-portald control-user -c /opt/visulox-portal/configs/config.json -u u1 -p abc123

3.4 UI Validation (Hostname Required)

Visulox may not work correctly via IP. Access must use the configured hostname.

Example:

https://raw.tbsol.de:8180/ui4/login

Do not use:

https://<SERVER_IP>:8180

4. Visulox Connector

4.1 Service Status

systemctl status vlx-connector

4.2 Real-Time Connector Logs (systemd)

journalctl -u vlx-connector -f

4.3 File-Based Connector Logs (if enabled)

Default path:

/var/log/visulox-portal-connector/connector.log

Monitor:

tail -f /var/log/visulox-portal-connector/connector.log

4.4 Set Connector Log Level

  1. Edit:

sudo vi /opt/visulox-portal-connector/configs/config.json
  1. Update:

"Logger": {
  "Level": "debug",
  "ExtraFilePath": "/var/log/visulox-portal-connector/connector.log"
}
  1. Ensure permissions:

sudo mkdir -p /var/log/visulox-portal-connector
sudo touch /var/log/visulox-portal-connector/connector.log
sudo chown vlx:vlxgroup /var/log/visulox-portal-connector/connector.log
sudo chmod 664 /var/log/visulox-portal-connector/connector.log
  1. Restart:

sudo systemctl restart vlx-connector

5. Process Verification

ps aux | grep -E "visulox|vlx" | grep -v grep

Expected:

  • visulox

  • vlx-portal

  • vlx-connector

6. Port Verification

Check listening ports:

ss -tulpen | grep -E "8180|vlx|visulox|connector|portal"

Validate:

  • Expected ports listening

  • Bound to correct interface

  • No port conflicts

7. Typical Operational Flow after Upgrade

  1. Verify RPM versions

  2. Check service status

  3. Restart services (if required)

  4. Monitor logs in real time

  5. Validate hostname-based UI access

  6. Confirm no restart loops

8. Common Failure Indicators & Immediate Actions

8.1 Restart Loop

journalctl -u <service> -n 200

8.2 Configuration Error

Inspect:

journalctl -u <service>
visulox config list

8.3 Port Conflict

ss -tulpen | grep <port>

8.4 Portal Health Check

Run the built-in health check to verify Visulox Portal installation health:

/opt/visulox-portal/bin/vlx-portald health-check -c /opt/visulox-portal/configs/config.json

9. Permissions and Safe Editing

Ensure log files have correct ownership.

Portal:

chown vlx:vlxgroup /var/log/visulox-portal/portal.log

Connector:

chown vlx:vlxgroup /var/log/visulox-portal-connector/connector.log

Restart service after changes.

10. Check Session Startup Logs

For each application session, a directory is created under:

/var/visulox-portal-connector/xpra

Run the following command to list the session directories sorted by date and time:

ls -alihtr

The latest directory corresponds to the most recent session.

To find the correct folder, note that in Web Mode each session has a unique identifier (UUID) visible in the URL.
This UUID represents the EmulatorSession ID, and the corresponding directory in this path is created with the same name.

Inside the session directory, you can find the session startup logs in:

app_launcher.log