Debian 13

Overview of XorMon requirements:
  • Node.js 20
  • PostgreSQL 16
  • Timescale DB 2.21 Community Edition
Prerequisites
  • HW sizing
  • supported Linux OS
  • access to internet repositories
  • 5 GB of free space in the "/home" filesystem for the application
  • enough free space in the "/var" filesystem for the data (see Sizing)
After installing the host system, install XorMon by following the instructions on the XorMon app install tab.

Host OS installation procedure
  • Create xormon user (as root)
    adduser xormon
  • Increase user system limits (as root)
    vi /etc/security/limits.conf
    Append following lines before the end of the file
    xormon          hard    stack           -1
    xormon          soft    stack           -1
    xormon          hard    data            -1
    xormon          soft    data            -1
    xormon          hard    nofile          32768
    xormon          soft    nofile          32768
    xormon          hard    nproc           64000
    xormon          soft    nproc           64000
  • Add 'non-free' repository to Debian apt sources
    vi /etc/apt/sources.list
    Debian 13
    deb http://deb.debian.org/debian/ trixie main non-free-firmware non-free
    deb-src http://deb.debian.org/debian/ trixie main non-free-firmware non-free
    
    deb http://security.debian.org/debian-security trixie-security main non-free-firmware non-free
    deb-src http://security.debian.org/debian-security trixie-security main non-free-firmware non-free
    
    deb http://deb.debian.org/debian/ trixie-updates main non-free-firmware non-free
    deb-src http://deb.debian.org/debian/ trixie-updates main non-free-firmware non-free
  • Install additional packages (as root)
    apt update
    
    apt install -y perl ed wget ca-certificates curl gnupg sudo snmp snmp-mibs-downloader nmap alien libaio1t64 ksh tcpdump sblim-wbemcli net-tools strace iputils-ping dnsutils unzip 
    apt install -y librrdp-perl libxml-sax-perl libxml-simple-perl libtimedate-perl libenv-sanctify-perl libcgi-pm-perl
    apt install -y libsnmp-perl libdata-dumper-simple-perl libxml2-utils liblwp-protocol-https-perl libcrypt-ssleay-perl ldap-utils
    apt install -y libio-socket-ssl-perl libmozilla-ldap-perl libxml-parser-perl libjson-xs-perl libio-pty-perl libxml-libxml-perl
    apt install -y postgresql-common apt-transport-https lsb-release default-jre libdbd-pg-perl
    apt install -y libnet-inet6glue-perl libdbd-pg-perl
    apt install -y unixodbc unixodbc-common unixodbc-dev
    Python: required only for prediction graphs
    You can run XorMon without it if you have trouble downloading necessary Python modules
    apt install -y python3-venv
  • Instal Perl module DBD::ODBC from CPAN
    perl -MCPAN -e'shell'
    
    cpan[1]> install DBD::ODBC
  • Java 11 Installation
    Required only by Hitachi Export Tool for Hitachi VSP monitoring.
    Skip if you don't need to monitor Hitachi VSP storage systems.

  • Install Node.js (as root)
    curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
    apt-get install -y nodejs
    npm update -g npm
    node -v
  • Install PostreSQL 16 and TimescaleDB extension (as root)

    XorMon requires Timescale DB Community Ediotion, which needs to be compiled from source, because binary packages for Debian 13 are not yet available.

    Do NOT install postgresql-1x-timescaledb from trixie-pgdg repository.
    This version is missing some key features required by XorMon.

    • Install prerequisite packages
      apt install gnupg postgresql-common apt-transport-https lsb-release wget
    • Run the PostgreSQL repository setup script
      /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
    • Update your local repository
      apt update
    • Install PostgreSQL 16 and build tools for TimescaleDB
      apt install postgresql-16 postgresql-server-dev-16 git cmake
    • Clone TimescaleDB source code
      cd ~
      git clone https://github.com/timescale/timescaledb
      cd timescaledb/
      git checkout 2.22.0
    • Build and install TimescaleDB
      cd ~/timescaledb/
      ./bootstrap
      cd ./build && make
      make install
    • Configure and restart PostgeSQL
      sed -i 's/^#synchronous_commit = on/synchronous_commit = off/' /etc/postgresql/16/main/postgresql.conf
      sed -i 's/^#password_encryption/password_encryption/' /etc/postgresql/16/main/postgresql.conf
      sed -i "s/^#shared_preload_libraries.*/shared_preload_libraries = 'timescaledb'/" /etc/postgresql/16/main/postgresql.conf
      
      systemctl restart postgresql@16-main.service
      
    • Set password for user postgres
      sudo -u postgres psql
      
      postgres=# \password postgres
      postgres=# ALTER USER postgres VALID UNTIL 'infinity';
      postgres=# \q
      Make note of the password. It will be needed later during XorMon installation.

  • Configure firewall (optional, as root)
    Open XorMon port in the firewall 8443 TCP (XorMon UI) and 8162 TCP (OS agent communication).
    Install UFW firewall if needed
    apt install -y ufw
    ufw enable
    Configure firewall
    ufw allow ssh
    ufw allow http
    ufw allow https
    ufw allow 8443/tcp
    ufw allow 8162/tcp
    ufw reload
    ufw status verbose

  • Follow XorMon application install