Clean Linux OS
adduser xormon passwd xormonIncrease user system limits
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
# RHEL 8: subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms # RHEL 9: subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms # Rocky Linux 8.x dnf config-manager --set-enabled powertools # Rocky Linux 9.x dnf config-manager --enable crb
dnf install -y epel-release dnf install -y perl ed libxml2 sharutils epel-release wget curl gnupg net-tools sblim-wbemcli libaio wget curl strace pinentry 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 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 perl-DBD-Pg # for oVirt/RHV/OLVM support onlyPython: required only for prediction graphs
dnf install -y python3-virtualenv python3-pip libpq-devel python3-devel gcc-c++ gcc
dnf install -y java-11-openjdk-headless
dnf module enable nodejs:20 dnf install nodejs npm update -g npm node -v
curl -fsSL https://rpm.nodesource.com/setup_20.x | bash - dnf install -y nodejs npm update -g npm node -vYou can download and install Node.js from RPM if you cannot access the repository directly.
dnf install ./nodejs-20.5.0-1nodesource.x86_64.rpm -y npm update -g npm node -v
dnf -qy module disable postgresql
# EL8 dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm # EL9 dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL [timescale_timescaledb] name=timescale_timescaledb baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/\$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 EOL
dnf install -y timescaledb-2-postgresql-16 postgresql16-contrib
mkdir /opt/pgsql chown postgres:postgres /opt/pgsql/ chmod 750 /opt/pgsql/
vi /usr/lib/systemd/system/postgresql-16.service Environment=PGDATA=/opt/pgsql
systemctl daemon-reload
vi /var/lib/pgsql/.bash_profile PGDATA=/opt/pgsql
/usr/pgsql-16/bin/postgresql-16-setup initdb
timescaledb-tune -yes --pg-config=/usr/pgsql-16/bin/pg_config sed -i 's/#synchronous_commit = on/synchronous_commit = off/' /var/lib/pgsql/16/data/postgresql.confAlternative database location:
timescaledb-tune -yes --pg-config=/usr/pgsql-16/bin/pg_config -conf-path=/opt/pgsql/postgresql.conf sed -i 's/#synchronous_commit = on/synchronous_commit = off/' /opt/pgsql/postgresql.conf
systemctl enable --now postgresql-16
sudo -u postgres psql postgres=# \password postgres postgres=# \qMake note of the password. It will be needed later during XorMon NG installation.
firewall-cmd --zone=public --add-port=8443/tcp --permanent firewall-cmd --zone=public --add-port=8162/tcp --permanent firewall-cmd --reload
adduser xormonIncrease user system limits, append this into /etc/security/limits.conf 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
vi /etc/apt/sources.listYour '/etc/apt/sources.list' should look like:
# Debian 11 deb http://deb.debian.org/debian/ bullseye main contrib non-free deb-src http://deb.debian.org/debian/ bullseye main contrib non-free deb http://security.debian.org/debian-security bullseye-security main contrib non-free deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free # Debian 12 deb http://deb.debian.org/debian/ bookworm main non-free-firmware non-free deb-src http://deb.debian.org/debian/ bookworm main non-free-firmware non-free deb http://security.debian.org/debian-security bookworm-security main non-free-firmware non-free deb-src http://security.debian.org/debian-security bookworm-security main non-free-firmware non-free deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware non-free deb-src http://deb.debian.org/debian/ bookworm-updates main non-free-firmware non-free
apt update apt install -y perl ed wget ca-certificates curl gnupg sudo snmp snmp-mibs-downloader nmap alien libaio1 ksh tcpdump sblim-wbemcli net-tools strace pinentry 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 libdbd-odbc-perl default-jre libdbd-pg-perl apt install -y libdbd-pg-perl # for oVirt/RHV/OLVM support onlyPython: required only for prediction graphs
apt install -y python3-venv
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - apt-get install -y nodejs npm update -g npm node -v
/usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
# Debian: echo "deb https://packagecloud.io/timescale/timescaledb/debian/ $(lsb_release -c -s) main" | tee /etc/apt/sources.list.d/timescaledb.list # Ubuntu: echo "deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main" | tee /etc/apt/sources.list.d/timescaledb.list
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | apt-key add - apt update apt install -y timescaledb-2-postgresql-16 postgresql-client
systemct stop postgresql.service pg_dropcluster --stop 16 main
pg_createcluster -d /opt/pgsql 16 main systemctl daemon-reload
systemct enable --now postgresql.service
timescaledb-tune -yes sed -i 's/#synchronous_commit = on/synchronous_commit = off/' /etc/postgresql/16/main/postgresql.conf systemctl restart postgresql.service
sudo -u postgres psql postgres=# \password postgres postgres=# \qMake note of the password. It will be needed later during XorMon NG installation.
apt install -y ufw ufw enableConfigure firewall
ufw allow ssh ufw allow http ufw allow https ufw allow 8443/tcp ufw allow 8162/tcp ufw reload
adduser xormon passwd xormonIncrease user system limits
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
# RHEL 9: subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms # Rocky / Alma / Centos Linux 9.x crb enable
dnf install -y epel-release dnf install -y perl ed libxml2 sharutils epel-release wget curl gnupg net-tools sblim-wbemcli libaio wget curl strace pinentry 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 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 perl-DBD-Pg # for oVirt/RHV/OLVM support onlyPython: required only for prediction graphs
dnf install -y python3-virtualenv python3-pip libpq-devel python3-devel
dnf install -y java-11-openjdk-headless
dnf module enable nodejs:20 dnf install nodejs npm update -g npm node -v
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
setcap 'cap_net_bind_service=+ep' /usr/bin/node
dnf -qy module enable postgresql
dnf install -y postgresql-server postgresql-contrib
postgresql-setup --help
postgresql-setup initdb
# 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
# essentials for building dnf install cmake gcc postgresql-server-develIf 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
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 installWe 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.confor 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
systemctl enable --now postgresql
sudo -u postgres psql postgres=# \password postgres postgres=# \qMake note of the password. It will be needed later during XorMon NG installation.
# 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
su - xormon mkdir xormon-ng cd xormon-ng
tar zxf xormon-ng-<ver>.tar.gz ./xormon.sh start
APP_PORT[8443]= DB_HOST[127.0.0.1]= DB_PORT[5432]= DB_USERNAME[postgres]= DB_DATABASE[xormon]= DB_PASSWORD[]= <password>
netstat -an| grep LISTEN |grep ":443 "
su - setcap 'cap_net_bind_service=+ep' `which node`
vi ~/xormon-ng/server-nest/.env APP_PORT=443
cd ~/xormon-ng ./xormon.sh stop cd server-nest/ npx pm2 kill cd .. ./xormon.sh start
cd ~/xormon-ng/server-nest/ python3 -m venv venv venv/bin/python3 -m ensurepip --upgrade venv/bin/python3 -m pip install --upgrade pip venv/bin/python3 -m pip install -r microservices/analyzer/requirements/requirements.txt cd ~/xormon-ng ./xormon.sh stop ./xormon.sh start
env PATH=$PATH:/usr/bin /home/xormon/xormon-ng/server-nest/node_modules/pm2/bin/pm2 startup systemd -u xormon --hp /home/xormon
https://<IP>:8443/Default login: xormon / xormon