ARMT (Another Remote Monitoring Tool)
C C++ Shell Assembly Ada Component Pascal Other
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


ARMT (Another Remote Monitoring Tool) is another tool to assist server administrators in their fight to keep servers online.

This tool is still a work in progress so do not expect too much yet.

Currently monitoring of a remote server is performed via various scripts many of which perform simple repeatble tasks, such as checking for a running process or checking if a service such as HTTP is alive.

Other checks are not feasable or are a pain to perform as they require support of other tools such as a recent version of smartmontools, or other dependent libraries that may not be installed on the target machine.

ARMT aims to work around these issues by compiling to a static binary that contains all the required support tools embedded also as static binaries. So far ARMT is able to perform the following:

  • Get installed PCI devices
  • Get SMART status of block devices
  • Get CCISS RAID status of arrays
  • Get MD (Software) RAID status of arrays
  • Get a running process list and ports bound to processes
  • Connect to a HTTP(s) server
  • Create and compare a MD5 hash database of critical system files

To perform these tasks ARMT uses the following support libraries and executables

  • libpcre
  • polarssl
  • smartctl
  • cciss_vol_status
  • megactl (not used yet)
  • lsscsi (not used yet and may be removed)
  • zlib (not used yet)

To avoid shared linking ARMT also has it's own built-in DNS resolver that wraps gethostbyname as linking to gethostbyname causes a system dependency on the shared libc.