Xymon


Xymon

This is a simple but powerful monitoring tool

Install it from source or using rpms

Server Configuration:

Add some yum repostitories: # vim /etc/yum.repos.d/xymon.repo

And add this to the file:

#
# Xymon RPMs provided by Japheth "J.C." Cleaver
#

Xymon name=Xymon-releaseverbaseurl = http : //terabithia.org/rpms/xymon/elreleasever/x86_64/ gpgcheck=1 gpgkey=http://terabithia.org/rpms/RPM-GPG-KEY-JCLEAVER enabled=1

#yum install epel-release.noarch -y

#yum install xymon.x86_64 xymon-client.x86_64 httpd -y

Edit the xymon configuration file and change the following lines:

XYMONSERVERHOSTNAME="$MACHINEDOTS" # The hostname of your server.
XYMONSERVERIP="127.0.0.1" # The IP-address of your server. Use the real one, not 127.0.0.1 .
Example:
XYMONSERVERHOSTNAME="xymon.example.org"
XYMONSERVERIP="192.168.0.1"

Create a user for web access

# htpasswd -c /etc/xymon/xymonpasswd [USERNAME]
New password:
Re-type new password:
Adding password for user ...

Add more users / change passwords with # htpasswd /etc/xymon/xymonpasswd [USERNAME]

Open the firewall ports for xymon and the webserver

# firewall-cmd --zone=public --add-port=1984/tcp --permanent
# firewall-cmd --zone=public --add-port=80/tcp --permanent
# systemctl restart iptables.service

Enable the xymon and httpd services:

# systemctl enable xymonlaunch.service
# systemctl enable httpd.service

###Client Configuration: Add some yum repostitories:

# vim /etc/yum.repos.d/xymon.repo
[Xymon]
name=Xymon-$releasever
baseurl=http://terabithia.org/rpms/xymon/el$releasever/x86_64/
gpgcheck=1
gpgkey=http://terabithia.org/rpms/RPM-GPG-KEY-JCLEAVER
enabled=1

###Install

# yum install epel-release.noarch -y
# yum install xymon-client.x86_64 -y

Edit the xymon client configuration file

vim /etc/sysconfig/xymonclient.cfg

And change the following line

XYMONSERVERS="0.0.0.0"
Example:
XYMONSERVERS="192.168.0.1"

Open the firewall port

# firewall-cmd --zone=public --add-port=1984/tcp --permanent
# systemctl restart iptables.service

###Enable the service

# systemctl enable xymonlaunch.service

###Starting the services: On the server:

# systemctl enable xymonlaunch.service
# systemctl enable httpd.service

###On the Client:

# systemctl start xymonlaunch.service

Install xymon and apache2 on Debian Stretch

sudo apt-get install apache2
sudo apt-get install xymon

Copy the ‘xymon’ file located in /etc/apache2/conf.d to /etc/apache2/conf-available –but– change it from xymon to xymon.conf (command: sudo cp /etc/apache2/conf.d/xymon /etc/apache2/conf-available/xymon.conf)

Now, create a symlink to that file in the conf-enabled folder (command: sudo ln -s /etc/apache2/conf-available/xymon.conf /etc/apache2/conf-enabled/ )

Edit the xymon.conf file in /etc/apache2/conf-available and remove any lines with “Order allow,deny” and “All from localhost…” and put “Require all granted” in their place

Restart both Apache2 and Xymon (command: sudo systemctl restart apache2 restart … repeat for Xymon but replace apache2 with xymon)

file locations

/etc/default/xymon-client

/etc/xymon/hosts.cfg

/etc/xymon/tasksc.cfg

/etc/xymon/protocols.cfg

Xymom config

You could update tasks.cfg to include an extra xymonnet section :


[xymonnet-20s]
        ENVFILE /usr/lib/xymon/server/etc/xymonserver.cfg
        NEEDS xymond
        CMD HOSTSCFG=$XYMONHOME/etc/hosts-20s.cfg xymonnet --report --ping
--checkresponse --timeout=20
        LOGFILE $XYMONSERVERLOGS/xymonnet.log
        INTERVAL 5m

This will get its configuration from a different hosts.cfg called hosts-20s.cfg. In this file you would include only the hosts and tests where you want a timeout of 20 seconds.

The normal network tests would continue to run, so you’d want to remove those tests from the main hosts.cfg, but leaving the hosts in.

Installation of the Xymon PS client is straightforward

  1. Review xymonclient_config.xml and at the least, set the Xymon server address.

  2. Copy the following files to a directory on the target server (e.g. c:files(x86))

  1. Xymonclient.ps1

  2. Nssm.exe

  3. Xymonclient_config.xml

  1. Run the following command to install the service from a PowerShell prompt (may need to be an administrative prompt):

    ..ps1 install

  2. Either review and start the service in Windows services control panel or run:

..ps1 start

The script will create the windows service entry using the SYSTEM or LOCALSYSTEM account to run the service. If BBWin or the original PowerShell client is running, it’s best to stop and disable those services first.

Powershell execution policy

In step 3 above, if the PowerShell execution policy has not been set then you will receive a PowerShell error. You can either run “Set-ExecutionPolicy RemoteSigned” from an administrative PowerShell prompt or start powershell using “powershell.exe -executionpolicy remotesigned” from Start->Run.

Tested and working on Windows Server 2016

BBWinClient

Download and install the BBWinClient

config file is BBWin.cfg

This doesn’t seem to work on Windows Server 2016 for some reason


These writings represent my own personal views alone.
Licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.