Title
Create new category
Edit page index title
Edit category
Edit link
Linux
Overview
This section describes how to install and configure MetaDefender (MD) Cluster Control Center on supported Linux distributions. After installation, administrators can use MD Cluster Control Center to manage MD Cluster services from a centralized interface.
Prerequisites
Before installing the MD Cluster Control Center service, ensure the following requirements are met.
| Requirement | Description |
|---|---|
| Operating System | Ubuntu 22.04+, Debian 12+, Rocky 9+, or RHEL 9+. |
| Privileges | Root or sudo privileges |
| Installation package | Debian/Ubuntu: md-cluster-control-center_<version>-1_amd64.deb
Rocky/RHEL: md-cluster-control-center-<version>-1.x86_64.rpm |
| Network access | Required port is open (default port: 8892). |
| Dependencies | MD Cluster Identity Service and PostgreSQL must be installed and reachable from the Control Center host. |
| Disk space | A minimum of 100 GB of available disk space is required. |
Create the ignition file
Create an ignition file in YAML format. This file contains the credentials and connection settings required for the service.
The file must include the following keys:
| Key | Description |
|---|---|
identity.host | IP address or domain name of the MD Cluster Identity Service host. Do not use localhost or 127.0.0.1. |
identity.port | Port used by MD Cluster Identity Service. |
identity.connection_key | A 4-64 character alphanumeric string (a-z, A-Z, 0-9) that matches the Identity Service connection key. |
database.host | IP address or domain name of the PostgreSQL server. |
database.port | Port used by PostgreSQL. |
database.user | PostgreSQL user. SUPERUSER privileges are required during the initial setup. |
database.password | PostgreSQL user password. |
secure.encryption_key | A 32-character plain text key containing only lowercase letters and digits. |
Example ignition file:
xxxxxxxxxxdatabase: host: "your_postgres_host_ip" port: 5432 user: "your_postgres_username" password: "your_postgres_admin_password"identity: host: "your_md_cluster_identity_service_host_ip" port: 8891 connection_key: "1234abcd"secure: encryption_key: "12345678123456781234567812345678" # [a-z0-9]{32}Save the ignition file to the following path on the target machine:
xxxxxxxxxx/etc/opswat/md_cluster_control_center.ymlThe ignition file contains sensitive credentials. This file can be safely deleted any time after the installation is complete.
Install the service
- Copy the installer file (
.debor.rpm) to the target machine. - Open Terminal.
- Run the following command to start the installation:
xxxxxxxxxx# Debian or Ubuntusudo apt -y install uuidsudo dpkg -i <md_cluster_control_center_package> || sudo apt install -f # Rocky or RHELsudo yum -y install uuidsudo yum install <md_cluster_control_center_package> -yVerify the service status
- Open Terminal and run the following command:
xxxxxxxxxxsudo systemctl status md-cluster-control-center- Check the active (running) field in the output.
- If the service is not running, start it manually:
xxxxxxxxxxsudo systemctl restart md-cluster-control-center- To ensure the service starts automatically at system boot:
xxxxxxxxxxsudo systemctl enable md-cluster-control-centerService management
| Action | Command |
|---|---|
| Check service status | sudo systemctl status md-cluster-control-center |
| Start service | sudo systemctl start md-cluster-control-center |
| Stop service | sudo systemctl stop md-cluster-control-center |
| Restart service | sudo systemctl restart md-cluster-control-center |
| Enable service at boot | sudo systemctl enable md-cluster-control-center |
Customize the service configuration
During installation, MD Cluster Control Center generates a configuration file at:
xxxxxxxxxx/etc/md-cluster-control-center/md_cluster_control_center.ymlTo customize the service behavior:
- Open the configuration file in a text editor such as nano.
xxxxxxxxxxsudo nano /etc/md-cluster-control-center/md_cluster_control_center.yml- Modify the required settings according to your environment.
- Save the changes.
- Restart the service to apply the new settings.
xxxxxxxxxxsudo systemctl restart md-cluster-control-centerDirectory structure
/etc/opswat/md_cluster_control_center.yml: Service ignition file./etc/md-cluster-control-center/md_cluster_control_center.yml: Service configuration file./var/log/md-cluster-control-center/: Default log directory./var/lib/md-cluster-control-center/: Contains persistent data required for the service to maintain state across reboots.
Log files
To check the service logs, open the file: /var/log/md-cluster-control-center/control-center.log.
To check the system log, run the following in Terminal:
xxxxxxxxxx# Fetch by systemd-journaldsudo journalctl -r # Ubuntu syslogsudo cat /var/log/syslog # Rocky or RHEL syslogsudo cat /var/log/messageUninstall the service
xxxxxxxxxx# Debian or Ubuntusudo apt purge <md_cluster_control_center_package> # Rocky or RHELsudo yum remove <md_cluster_control_center_package>Troubleshooting
A. Service does not start
- Check the service status:
xxxxxxxxxxsudo systemctl status md-cluster-control-center- Review recent service logs:
xxxxxxxxxxsudo journalctl -u md-cluster-control-center -n 100 --no-pager- Verify that the configuration file syntax is valid and restart the service after correcting any issue.
B. Installation fails
Possible causes:
- Insufficient privileges.
- Missing package dependencies.
- Required
uuidpackage is not installed.
Solution:
- Ensure the installation commands are executed with sudo.
- Install dependencies and rerun the package installation.
- Confirm the package file matches the Linux distribution in use.
C. Control Center cannot connect to Identity Service
Possible causes:
identity.hostis incorrect.- Network connectivity issues.
- Firewall restrictions.
identity.connection_keydoes not match the value configured on MD Cluster Identity Service.
Solution:
- Verify
identity.host,identity.port, andidentity.connection_keyin the ignition or configuration file. - Ensure MD Cluster Identity Service is running and reachable from MD Cluster Control Center host.
- Verify that firewall rules allow traffic between the two services.
- Do not use
localhostor127.0.0.1foridentity.hostunless both services run on the same host and the deployment explicitly supports it.
D. Database connection fails
Possible causes:
- PostgreSQL is not running.
- Database credentials are incorrect.
- PostgreSQL is not reachable from MD Cluster Control Center host.
Solution:
- Verify PostgreSQL service status.
- Confirm
database.host,database.port,database.user, anddatabase.passwordare correct. - Ensure PostgreSQL accepts remote connections and firewall rules allow access.
Ignition file key reference
identity.host(Required)- Value type: string.
- Description: IP address or domain name of the server hosting MD Cluster Identity Service. Avoid using
localhostor127.0.0.1.
identity.port(Required)- Value type: number.
- Description: Port where MD Cluster Identity Service listens for client connections.
identity.connection_key(Required)- Value type: string.
- Description: A 4-64 character string that contains only digits (
0-9) and letters (a-z,A-Z). This value must match the connection key configured on MD Cluster Identity Service.
database.host(Required)- Value type: string.
- Description: IP address or domain name of the PostgreSQL server.
database.port(Required)- Value type: number.
- Description: Port where PostgreSQL listens for client connections.
database.user(Required)- Value type: string.
- Description: PostgreSQL user account. SUPERUSER privilege is required during the initial setup.
database.password(Required)- Value type: string.
- Description: PostgreSQL user password.
secure.encryption_key(Required)- Value type: string.
- Description: A 32-character plain text key composed only of lowercase letters (
a-z) and digits (0-9).
rest.port(optional)- Value type: number.
- Description: Port where MD Cluster Control Center listens for incoming connections. Default value is
8892.
rest.log_path(optional)- Value type: string.
- Description: Location where REST logs are written.
rest.log_level(optional)- Value type: string.
- Description: Level of REST log messages (
dump,debug,info,warning, orerror).
log.streams[@].log_type(optional)- Value type: string.
- Description: Type of log device (
fileorsyslog).
log.streams[@].log_level(optional)- Value type: string.
- Description: Level of log message (
dump,debug,info,warning, orerror).
log.streams[@].log_path(optional)- Value type: string.
- Description: Location where logs are written. If
log.streams[@].log_typeis"file", the value is a file path. Iflog.streams[@].log_typeis"syslog", the value can be[tcp/udp]://host:portfor a remote syslog server or"local"for the local syslog server.