Skip to main content

Documentation Portal

Server requirements (single node)

The table below summarizes the system requirements for the (virtualized) TrendMiner server. TrendMiner always recommends provisioning the recommended specifications to ensure a consistent and performant UX.

Table 3. TrendMiner Server - Hardware requirements

Resource

Minimum

Minimum with MLHub[a]

Recommended

vCPU

16

+ 1 core per 4 active kernels (per user) + 1 core per 8 notebook tiles (per user per dashboard)

16

RAM

64GB

+ 1GB per active kernel (per user) + 256MB per notebook tile (per user per dashboard)

96GB

Disk

SSD, 500GB, 250MB/s

SSD, 500GB, 250MB/s

SSD, 500GB, 250MB/s

[a] Contact your Customer Success Manager for more information on MLHub Notebook and Machine Learning Model capabilities



These resources may be increased with increasing TrendMiner usage or number of connected data sources. Please work with TrendMiner support to determine the projected resource requirements.

Additional CPU and Memory requirements

On top of the above requirements TrendMiner requires the memory to be scaled along with the CPUs at a ratio of at least 1-2 and preferably 1-4. In practice this would result in 128GB RAM for a server with 32 CPUs and 256GB RAM for a server with 64 CPUs.

Execute the lscpu command and verify that the "CPU(s)" listed is in line with the minimal system requirements.

Execute the free -m command and verify that the "Total - Mem" listed is in line with the minimal system requirements.

Additional disk requirements
  • Disk type: To verify your disk is not rotational (like a HDD) execute the lsblk command. This should show a "0" in the RO column for the root (/) and /mnt/data mount points.

  • Disk space: The required disk space highly depends on the usage of the system: number of users and the amount of items they save on the system + the number of tags which are added and indexed. If usage increases further disk space increases might be required.

  • Disk speed: TrendMiner performs a lot of read/write actions on the disk hence it is important to verify that the minimal disk speed requirements are met.

    The following commands can be used to measure the disk speed:

    #create a test file in /run which we will write to /mnt/data
    dd if=/dev/urandom of=/run/test.bin bs=1M count=1024 status=none
    
    #write the test file to /mnt/data and measure the disk write performance of /mnt/data. This is the result to take into account.
    dd if=/run/test.bin of=/mnt/data/test1.bin bs=1M conv=fsync 
    
    #remove the test files again
    rm /run/test.bin /mnt/data/test1.bin

    The output of the second command in MB/s is the disk speed measured at that time. As this measurement is a snapshot of the speed at that time, there is no guarantee this speed can be met constantly. However, if this test reveal the disk speed is far below the minimal requirement the disk speed should be increased to avoid performance, installation or upgrade failures.

Prep the mount points

2 mount points are required: a root volume (/) and a data volume (/mnt/data).

The root volume contains system logs and services and should have at least 10GB of disk space.

The /mnt/data volume stores all TrendMiner application data and logs. Important notes about the /mnt/data mount point:

  • Ensure that this directory has sufficient free disk space. If TrendMiner runs out of available disk space services will start failing leading to downtime for the users. Ensure that at least the minimal required disk space is available and keep in mind that as usage of the system grows, the available disk space might need to be extended.

  • Make sure /mnt/data is mounted to a non-volatile/permanent disk to avoid a broken TrendMiner installation after a server reboot. To make sure this is the case, create a dummy file in /mnt/data, perform a reboot and verify your dummy file is still available.

  • TrendMiner requires d_type support for the /mnt/data volume. To check this run command xfs_info /mnt/data/. In the resulting output you should see ftype=1. If ftype=0 the volume should be reformatted to support d_type.

The available volumes and disk spaces can be verified with the df -h command.

Root permissions

TrendMiner uses the root user to run commands (e.g. during installation and upgrades). The root user needs sudo permissions. To verify this is the case execute the sudo id command. The result should be uid=0(root) gid=0(root) groups=0(root)

Repository access

Access to the official OS repositories or a mirror of them is required. TrendMiner has no extra requirements when installing on a customer-provided AlmaLinux 9 or Red Hat Enterprise Linux 9 system outside of the software that is available in the official operating system repositories.

For AlmaLinux 9:

  • AlmaLinux 9 - BaseOS

  • AlmaLinux 9 - Extras

  • AlmaLinux 9 - AppStream

For RHEL 9:

  • rhel-9-for-x86_64-appstream-rpms

  • rhel-9-for-x86_64-baseos-rpms

To list all available repos on the system use dnf repolist . TrendMiner will add another repo called tm-appliance during installation.

Important

If a mirror is configured for the official OS repositories it could be not all required packages are served by the mirror which could lead to failing installations and upgrades. In case of an error, please check which package is missing and make sure that package is available in your mirror.

To check which repos are configured, use the dnf repolist -v enabled command and check the Repo-baseurl.

Examples of packages which could be missing in your mirror but are required by TrendMiner: ntp, fio, ...

DNS server

Make sure a DNS server is correctly configured. Verify the configured DNS server by executing cat /etc/resolv.conf. If a NetworkManager is managing your network settings, make sure the DNS config is not lost after a reboot by verifying the resolv.conf file still contains the DNS server after a reboot.

Before starting the installation make sure the DNS server is not running. To check if a DNS server is running and to stop and disable the DNS server use the following commands:

lsof -i :53

systemctl stop systemd-resolved
systemctl disable systemd-resolved
Ansible installation

TrendMiner installation requires ansible to be installed on the server.

It's required to use the EPEL repository for installing ansible  https://docs.fedoraproject.org/en-US/epel/ (the ansible-core package is missing some plugins which TrendMiner requires and can therefore not be used!)

You can install ansible EPEL using the following commands:

On RHEL9:

subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf install ansible

On AlmaLinux9:

dnf config-manager --set-enabled crb
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf install ansible

In case it is not possible to enable the codeready-builder-for-rhel-9 repo on your server (e.g. you do not have a subscription and you get a message 'Repositories disabled by configuration') please make sure to host the repo on a satellite or as a workaround you can skip the repo enablement and manually install the epel and ansible packages.

In case your server is not allowed to make outgoing internet connections, please make sure the packages are manually uploaded to the server.

iptables installation

TrendMiner requires the iptables and iptables-nft packages which can be installed using the following command:

dnf install -y iptables iptables-nft
Network requirements
  • Gigabit Ethernet or better is required for TrendMiner to work.

  • The TrendMiner appliance uses Kubernetes (K3S) as its infrastructure layer, which needs a range of IP addresses for internal communication between different pods and services. These IP addresses should not be used by other applications/servers/clients which need to connect to TrendMiner or to which TrendMiner needs to connect, e.g. IPs assigned to clients connecting to TrendMiner, an AD server configured in TrendMiner, a connector to which TrendMiner needs to connect, ...

    The TrendMiner appliance uses the following default IP addresses/ranges:

    If your company is already using one or more of these IP addresses it is possible to change the IP ranges for TrendMiner. In this case please contact TrendMiner support before starting the installation.

    More info about the appliance IP requirements can be found here: Appliance IP requirements FAQs

Other software

No other software should be installed on the server to avoid interference with TrendMiner.

Especially the installation of a virus scanner can cause performance degradation/deteriorated user experience and even failing installations or upgrades. Please contact TrendMiner support if your company policy requires the installation of a virus scanner.

Examples of virus scanners/security solutions which are known to cause interference with TrendMiner are:

  • Microsoft Defender Advanced Threat Protection (sudo ps -ef | grep mdatp)

  • Trend Micro AV (sudo ps -ef | grep ds_agent)

  • Crowdstrike (sudo ps -ef | grep falcon-sensor)

It is also known that if third party software writes data to /etc/init.d it can cause a failure of the TrendMiner installation script: e.g. error: unpacking of archive failed on file /etc/init.d. Please make sure to not install third party software. If this is required by company policy please align first with TrendMiner support for a suitable solution.

Outgoing Network configuration

To be able to comply to the license audit terms, you need to allow communication to our collector system by opening communications on a firewall or proxy server.

option 1 (preferred):

  • from: TrendMiner Appliance Server (Linux)

  • to: license.trendminer.cloud (DNS based IP whitelisting)

  • port: TCP 443

option 2:

  • from: TrendMiner Appliance Server (Linux)

  • to: 13.248.161.236 and 3.33.158.180

  • port: TCP 443

In case you cannot open or allow access to the internet on specific port and IP, you will need to provide us the metrics manually, as described in this document Disabling Automated Data Collection & Manual Data Export Requirement.