RHEL (ppc64le)

RedHat Linux / Rocky Linux (ppc: PowerPC Little Endian)

As soon as you prepare the hosting platform, follow tab XorMon app install to get installed XorMon app.
HW sizing

  • Disable SELinux (as root)
    • Edit /etc/selinux/config
    • Set SELINUX=disabled
    • reboot
    In case you do not want to disable SELinux then follow this manual to configure SELinux in enforcing mode

  • Create xormon user (as root)
    adduser xormon
    passwd xormon
    
    Increase user system limits
    Append following lines to /etc/security/limits.conf
    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
    
  • Enable PowerTools / CodeReady Builder repository (as root)
    # RHEL 9:
    subscription-manager repos --enable codeready-builder-for-rhel-9-ppc64le-rpms
    
    # Rocky / Alma / Centos Linux 9.x
    dnf config-manager --enable crb
    

  • Install additional packages (as root)
    dnf install -y perl ed libxml2 epel-release wget curl gnupg net-tools sblim-wbemcli libaio wget curl strace 
    dnf install -y perl-TimeDate perl-XML-Simple perl-XML-SAX perl-XML-LibXML perl-Env perl-CGI perl-Data-Dumper
    dnf install -y perl-LWP-Protocol-https perl-libwww-perl perl-Time-HiRes perl-IO-Tty openldap-clients perl-Time-Piece 
    dnf install -y perl-JSON perl-JSON-PP perl-JSON-XS net-snmp-perl net-snmp-utils perl-DBI perl-DBD-ODBC unixODBC unixODBC-devel freetds
    dnf install -y libjpeg-devel zlib-devel libpng-devel libjpeg-turbo-devel libjpeg-turbo-utils
    dnf install -y perl-DBD-Pg  # for oVirt/RHV/OLVM support only
    dnf install -y perl-FindBin # it does not exist on RedHat 8.x
    Python: required only for prediction graphs
    You can run XorMon without it if you have trouble downloading necessary Python modules
    dnf install -y python3-virtualenv python3-pip libpq-devel python3-devel 
  • Install Java 11 (necessary for Hitachi VSP monitoring, required by Hitachi Export Tool)
    dnf install -y java-11-openjdk-headless
  • Install Node.js (as root)
    XorMon should work with Node.js 16+.
    We recommend Node.js 20.x or newer.
    • Repository installation
      dnf module enable nodejs:20
      dnf install nodejs
      npm update -g npm
      node -v
    • Manual download install: There are no RPMs available for ppc64le, get Power LE binaries from here: nodejs.org/en/download/prebuilt-binaries, i.e. LTS 20.12.0:
      cd /tmp
      wget https://nodejs.org/dist/v20.12.0/node-v20.12.0-linux-ppc64le.tar.xz
      # extract package to /usr/local
      cd /usr/local
      tar xf /tmp/node-v20.12.0-linux-ppc64le.tar.xz --strip-components=1
      # check node version
      node --version
      # remove source file
      rm /tmp/node-v20.12.0-linux-ppc64le.tar.xz 

    Allow node binary to use privilleged (< 1024) ports, so we can run XorMon on a standard HTTPS port (443)
    setcap 'cap_net_bind_service=+ep' /usr/bin/node
  • Install Timescale DB (as root)
    XorMon requires TimescaleDB 2.13 and newer (community edition).
    • Follow these installation instructions: TimescaleDB/PostgreSQL installation docu

    • PostgreSQL vrs TimescaleDB support matrix

    • Optionaly you might change database location from default /var/lib/pgsql/data
      Note that database must be on a filesystem having 100GB free at least (in big environments rather 500GB)
      postgresql-setup --help
      
    • Initialize DB
      postgresql-setup initdb
    • Change PostgreSQL Client Authentication Configuration
      # replace all ident methods with scram-sha-256 to anable login via TCP
      sed -i 's/ident$/scram-sha-256/g' /var/lib/pgsql/data/pg_hba.conf
      
    • Timescale DB
      As there are no RPMs for PowerPC architecture, we must compile from sources
      # essentials for building
      dnf install cmake gcc postgresql-server-devel
      
      If above fails with
      Problem: problem with installed package libpq-devel-13.11-1.el9.ppc64le
      - package postgresql-private-devel-15.6-1.module+el9.3.0+16128+52b853ae.ppc64le from appstream conflicts with libpq-devel provided by libpq-devel-13.11-1.el9.ppc64le from @System
      ...  
      Then remove libpq-devel and try installation again
      dnf remove libpq-devel 

      Get the latest release (tar.gz source codes) from github.com/timescale/timescaledb/releases and extract to /tmp/timescaledb-2.xx.x
      cd /tmp
      wget https://github.com/timescale/timescaledb/archive/refs/tags/2.14.2.tar.gz -O - | tar xz
      # bootstrap the build system
      cd timescaledb-2.14.2/
      ./bootstrap
      # to build the extension
      cd build && make
      # to install
      make install
      
      We need timescaledb-tune to configure PGSQL, install with Go lang if you are online
      dnf install golang
      go install github.com/timescale/timescaledb-tune/cmd/timescaledb-tune@latest
      # tune PGSQL for TSDB
      /root/go/bin/timescaledb-tune -yes -pg-config /usr/bin/pg_config -conf-path /var/lib/pgsql/data/
      sed -i 's/#synchronous_commit = on/synchronous_commit = off/' /etc/postgresql-setup/upgrade/postgresql.conf
      
      or get ready to use RPM to install timescaledb-tune:
      dnf install timescaledb-tune.el9.ppc64le.rpm
      # tune PGSQL for TSDB
      timescaledb-tune -yes -pg-config /usr/bin/pg_config -conf-path /var/lib/pgsql/data/
      sed -i 's/#synchronous_commit = on/synchronous_commit = off/' /etc/postgresql/16/main/postgresql.conf
      
    • Enable and run PostgreSQL service
      systemctl enable --now postgresql
      
    • 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 ports in the firewall: HTTPS (443) (XorMon UI) and 8162 TCP (OS agent communication)
    # OS agents connect to the port 8162
    firewall-cmd --zone=public --add-port=8162/tcp --permanent
    # UI runs on port 443
    firewall-cmd --zone=public --add-service=https --permanent
    # apply rules
    firewall-cmd --reload
    firewall-cmd --list-port
    

  • Follow XorMon application install