Title
Create new category
Edit page index title
Edit category
Edit link
Windows
Overview
This section describes how to install and configure MetaDefender (MD) Cluster Identity Service on Windows system. After installation, MD Cluster Control Center can connect to MD Cluster Identity and monitor its system health.
Prerequisites
Before installing the MD Cluster Identity Service, ensure the following requirements are met.
Requirement | Description |
|---|---|
Operating System | Windows 11 23H2+, or Windows Server 2019+. |
Privileges | Administrator privileges |
Installation package |
|
Network access | Required port is open (default port: 8891). A minimum network bandwidth of 1 Gbps is required. |
Hardware | 4vCPU and 4GB RAM |
Disk space | A minimum of 50 GB of available disk space is required. |
Create the ignition file
Create an ignition file in YAML format. This file contains the credentials required for the service to connect to the system.
The file must include the following keys:
Key | Description |
|---|---|
| IP address or domain name of the server hosting PostgreSQL. |
| IP address or domain name of the server hosting PostgreSQL. |
| PostgreSQL server user. SUPERUSER privileges are required to set up the database and extensions during the initial configuration. |
| PostgreSQL user password. |
| A 4–64 character alphanumeric string (a–z, A–Z, 0–9) used by MD Cluster Control Center to connect to the server. |
| The content of private key in X509 format. |
| The content of certificate in X509 format. |
Example ignition file:
Save the ignition file to the following path on the target machine:
The 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 (
.msi) to the target machine.Open PowerShell with Administrator privileges.
Run the following command to start the installation in silent mode:
Verify the service status
Open PowerShell and run the following command:
Check the Running Status in the output.
If the service is not running, start it manually:
Service management
Action | Command (PowerShell) |
|---|---|
Check service status |
|
Start service |
|
Stop service |
|
Restart service |
|
Customize the service configuration
During installation, MD Cluster Identity Service generates a configuration file at:
To customize the service behavior:
Open the configuration file in a text editor.
Modify the required settings according to your environment.
Save the changes.
Restart the service to apply the new settings.
Directory structure
C:\opswat\md_cluster_file_storage.yml: Service Ignition file.C:\Program Files\OPSWAT\MetaDefender Cluster Identity Service\md_cluster_file_storage.yml: Service configuration file.C:\Program Files\OPSWAT\MetaDefender Cluster Identity Service\data\log\identity-service.log: Service log file.C:\Program Files\OPSWAT\MetaDefender Cluster Identity Service\data\storage: Default storage directory.C:\Program Files\OPSWAT\MetaDefender Cluster Identity Service\data\logDefault log directory.
Log files
To check the service log, open the file C:\Program Files\OPSWAT\MetaDefender Cluster Identity Service\data\log\identity-service.log.
To check logs using Event Viewer:
Open Event Viewer.
Navigate to Windows Logs > Application.
Look for events related to MD Cluster Identiy Service.
Uninstall the service
Open PowerShell and run the following command:
Troubleshooting
A. Service is not running
Check the service status
Start the service if it is not running:
B. Installation fails
Possible causes
Insufficient privileges.
Missing dependencies.
Solution
Ensure the installation command is executed with Administrator privileges.
Ensure dependencies are installed.
C. MD Cluster Control Center cannot connect to MD Cluster Identity Service.
Possible causes
Network connectivity issues.
Firewall restrictions.
Solution
Ensure MD Cluster Control Center has network connectivity to MD Cluster Identity Service.
Verify that firewall rules allow inbound and outbound connections.
Ignition file key reference
secure.connection_key(Required)Value type: string.
Description: Use a 4–64 character string that contains only numbers (0–9) and letters (a–z, A–Z). This string is used by clients to connect to the server. Set this value as the
identity.connection_keyin the MD Cluster Control Center configuration file.
secure.private_key(Required)Value type: string.
Description: The content of private key in X509 format.
secure.certificate(Required)Value type: string.
Description: The content of certificate in X509 format.
database.host(Required)Value type: string.
Description: IP address or domain name of the server hosting PostgreSQL.
database.port(Required)Value type: string.
Description: Port where the PostgreSQL server listens for client connections.
database.user(Required)Value type: string.
Description: PostgreSQL server user. SUPERUSER privileges are required to set up the database and extensions during the initial configuration.
database.password(Required)Value type: string.
Description: PostgreSQL user password.
rest.host[optional)Value type: string.
Description: IP address (V4/V6) or host where the server resides on. Default value is '*'. Notes:
'*'allows the service to accept connections from all network interfaces. To bind the service to a specific interface, specify its IP address or domain name. For example, to listen on all IPv4 interfaces, set the host to0.0.0.0.
rest.port[optional)Value type: number.
Description: The port where the server resides on. Default value is
8891.
log.streams[@].log_type[optional)Value type: string.
Description: Type of log device (
file, orsyslog)
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"thenlog.streams[@].log_pathis the path to a file on file system where logs are written. Iflog.streams[@].log_typeis"syslog"thenlog.streams[@].log_pathcan be[tcp/udp]://host:portwhere host:port is the host and port to a remote syslog server that supports TCP or UDP protocol.log.streams[@].log_pathcan be"local"to write log to local syslog server (Linux only).
user.name[optional)Value type: string.
Description: Username for the initial administrator account.
user.password[optional)Value type: string.
Description: Password for the initial administrator account.
user.email[optional)Value type: string.
Description: Email address for the initial administrator account.
user.apikey[optional)Value type: string.
Description: API key for the initial administrator account.