Installing a fdmon Proxy on Centos 9

This procedure is intended for customers and distributors who want to create a fdmon Proxy from scratch, running under Centos 9, able to monitor and automate any Unix System (including AIX and VIO Server), Windows System, PostgreSQL Database, Microsoft SQL/Server Database, Oracle Instance (including ASM), KVM Server, VMware ESXi Hypervisor, vCenter Server, SNMP equipment and any Storage Solution that provide a SSH or REST API based management interface.

Note : to become a customer or a distributor, we invite you to contact us at :

contact@ncor-labs.ch

or contact directly our partner in Switzerland.

Here are requirements for building manually a standalone fdmon Proxy Server running under Centos 9 :

  • A Centos 9 linux server (minimal installation) with 4 cores and 4 GB RAM per 1000 CI to monitor
  • Your cliend ID, provided by the fdmon support
  • 2 Front-End IP addresses, provided by the fdmon Support
  • The download.sh file, provided by the fdmon support
  • 1 physical IP Address
  • 1 virtual IP Address (required for HA only)
  • 1 unique virtual Router ID (required for HA only)

Log as root.

Disable SELinux and firewall :

In the /etc/selinux/config file, replace :

SELINUX=enforcing by SELINUX=disabled

systemctl disable firewalld

sync ; reboot

Install required common packages :

yum -y install keepalived
yum -y install epel-release
yum -y install xdelta
yum -y install net-snmp-utils
yum -y install python3-pip
yum -y install postgresql-client
yum -y install freetds
yum -y install openldap-clients
pip3 install ssh2-python
pip3 install aiowmi

Note : The DES (Data Encryption Standard) algorithm is no longer supported by net-snmp under Centos 9.

Install required packages for VMware Monitoring :

mkdir -p /install/esxcli
mkdir -p /install/resxtop

Copy esxcli-7.0.0-15866526-lin64.sh provided by Broadcom to /install/esxcli
Copy resxtop-7.0.0-15992393-lin64.tgz provided by Broadcom to /install/resxtop
cd /install/esxcli
chmod u+x esxcli-7.0.0-15866526-lin64.sh
./esxcli-7.0.0-15866526-lin64.sh
...
Accept the EULA
...

Checking : 

esxcli --version

cd /usr/lib64
ln -s /usr/lib64/libncurses.so.6 ./libncurses.so.5
cd /intall/resxtop
tar -xzf resxtop-7.0.0-15992393-lin64.tgz
./install.sh
...
Accept the EULA
...

Checking : 

export LD_LIBRARY_PATH=/usr/lib/vmware/resxtop
resxtop
export LD_LIBRARY_PATH=

If you intend to monitor Oracle Instances, you must Oracle Instant Client for Linux x86-64 on the fdmon Proxy, according to the procedure provided by Oracle.

Install the fdmon environment :

useradd -d /home/fdmon -m fdmon
passwd fdmon
mkdir /fdmon
chown fdmon:fdmon /fdmon
su - fdmon
mkdir -p /fdmon/proxy/bin
mkdir -p /fdmon/proxy/tmp/ci
mkdir -p /fdmon/proxy/tmp/ip
cd /fdmon/proxy

Copy the file download.sh to /fdmon/proxy

cd /fdmon/proxy
chmod u+x download.sh
./download.sh fdmon_proxy

Note : If you don’t want to activate fdmon automation :

rm -rf /fdmon/proxy/bin/techno

Create the /fdmon/proxy/bin/fdmon.ini file as following :

FRONT_END front-end-ip1
FRONT_END front-end-ip2
CONCURRENT_COLLECTS 32

Get your public IP Address :

curl -s checkip.dyndns.org | sed 's#.*Address: \(.*\)</b.*#\1#'

Repeat the command in case of load balancing between several addresses.

Request to the fdmon Support a signature from your Client ID and all the IP addresses.

fdmon Support will provide you 1 signature for each address and activate the appropriate firewall rules on our client zone.

How to get a customer signature (for partners only) :

/fdmon/web/bin/signature.sh client-id ip-address, from any Front-End Node

In the /fdmon/proxy/bin/header.sh file, add the following lines :

export CLIENT_ID=your-id
export PROXIES="proxy-name" 

Create the signature file :

echo "SIGNATURE signature1
SIGNATURE signature2
..." > /fdmon/proxy/bin/signature.txt

Activate the fdmon user crontab :

crontab /fdmon/proxy/bin/crontab.txt

checking : 

crontab -l

Wait 1 minute, then check the connectivity with fdmon Cloud :

/fdmon/proxy/bin/check_signature.sh --> should return "OK"

Configure the File based identity management (the LDAP based identity management will be described in a separate Post) :

echo -n password | sha256sum
xxx  -
echo "user xxx FDMON_ADMIN" > /fdmon/proxy/bin/users.txt

Creating private/public Keys protected by a Passphrase (only for the first Proxy, if there is already a fdmon Proxy, public and private keys must be copied from this Proxy) :

cd /fdmon/proxy/bin
openssl genrsa -aes128 -passout stdin -out private.pem 1024
openssl rsa -in private.pem -passin stdin -pubout -out public.pem
./passphrase.sh

./send_pubkey.sh --> should return OK

Activating Proxy fdmon Services :

As root user :

cp /fdmon/proxy/bin/auth.service /etc/systemd/system
cp /fdmon/proxy/bin/collect.service /etc/systemd/system
cp /fdmon/proxy/bin/resolv.service /etc/systemd/system
systemctl start auth.service
systemctl status auth.service
systemctl start resolv.service
systemctl status resolv.service
systemctl start collect.service
systemctl status collect.service

Enabling the Proxy High Availability :

Create a keepalived configuration enabling Virtual IP of each fdmon Proxy.

Authorize a bidirectional SSH communication between all Proxies for the fdmon user (in order to enable the Passphrase copy when a node has restarted)

The PROXY parameter of each CI must be a Proxy Virtual IP

The destination server of the RSYSLOG client of a given CI must be the virtual IP specified by the PROXY parameter.

Be the first to comment

Leave a Reply

Your email address will not be published.


*