Sysmon

From Phospher

Jump to: navigation, search

Contents

Introduction

Sysmon (Systems Monitor) started off as a desire I had to see the current status of servers I host out of my garage. Sysmon quickly turned into something much more than an ICMP monitor. I wanted the ability to navigate to a website and quickly determine the health of my hosts. Sysmon uses 'colors' to depict system status. Green=good, Yellow=warning and Red=uh-oh. If you're color-blind, show an interest and I'll add text warnings.

The majority of sysmon is written in PHP using an sqlite3 database. All ./admin_tools/* scirpts are written in shell (BASH).

Requirements

  • Supported browsers notes:
    • Google Chrome 100% (recommended) (Tested on Linux, Android and Windows) >= 8.0
    • Konqueror 100% (Tested on Linux/KDE 4.5.5, older versions may work).
    • Firefox 100% (Tested on Linux and Windows, < 4.0 expands hover data to main screen, really messed up). >= 4.0
    • Internet Explorer 100% (6 and 7 work, but they don't display the hover windows). >= 8.0
    • Safari 100% (Tested on Windows 5.0.4, older versions may work).
    • Opera 11.00 (Tested on Linux and Windows, works, but does not display the hover windows. Hopefully future releases will work).
    • Opera 11.61 100% (Tested on Linux, works perfectly) >= 11.61



Sysmon server requires:

  • Linux (mine is running on CentOS 6.2 i386 and CentOS 5.1 x86_64, it should run on any OS that supports these services.)
  • Apache
  • PHP
  • PHP-PDO module
  • SQLite3



Sysmon client requires:

  • Linux (I don't have a need for any other OS, if interest is shown, I will consider porting the client to multiple platforms)
  • bc
  • bash
  • curl
  • sed
  • grep
  • netstat (in net-tools package)
  • ifconfig (in net-tools package)
  • cut
  • mpstat (in sysstat package)



Sysmon currently watches:


  • The Host icon will turn colors if the host hasn't checked in within 120 or 300 seconds.
    • < 120 seconds(green), >= 120 seconds(yellow) and >= 300 seconds(red)


  • Memory utilization (total, used, free)
    • < 75%(green), >= 75%(yellow) and >= 95%(red)


  • CPU (model, core count, clock speed, load percentage)
    • < 75%(green), >= 75%(yellow) and >= 95%(red)


  • Storage (total, used, free)
    • < 75%(green), >= 75%(yellow) and >= 95%(red) (per volume)


  • Services (running or not)
    • exit 0 (green) and exit 1 (red)



A monitor will turn blue if sysmon is waiting for a client push.

Screenshots

Sysmon's front page
Hovering over the host icon
Hovering over the hostname
Hovering over memory
Hovering over CPU
Hovering over a disk
Hovering over services
New host added
Pending service feed from client


Live System

You can view my live sysmon installation here.
You can download the sysmon server package from here.

There are a number of changes that I will be making over the next few weeks.

ToDo

  • Polish/create an admin web interface
  • Polish scripts under admin_tools/
  • Create auto-updater script which can be run in cron that will download sysmon binaries from my servers
  • Create email notifier daemon
  • Roles?


License


Sysmon is licensed under the GPLv2 (GNU Public License version 2).

Personal tools