Open source, cross-platform, client/server based systems monitoring solution. Reads the usual metrics such as cpu, disk i/o and network, but also allows for plugins and scripts to extend the functionality. Metrics for shared processor utilization on IBM Power is also measured. The clients need only Java and sends metrics to the server (through HTTP), which stores these in InfluxDB for display through Grafana. https://github.com/mnellemann/sysmon
Go to file
Mark Nellemann 186d678861
continuous-integration/drone/push Build is passing Details
Set ID of routes and fix bug when no configuration file is found.
2023-01-22 11:07:15 +01:00
client Set ID of routes and fix bug when no configuration file is found. 2023-01-22 11:07:15 +01:00
doc Update links. 2023-01-18 15:50:09 +01:00
gradle/wrapper Update dependencies. 2023-01-04 12:35:00 +01:00
plugins Cleanup and fix username in drone pipeline. 2023-01-04 15:00:31 +01:00
server Set ID of routes and fix bug when no configuration file is found. 2023-01-22 11:07:15 +01:00
shared Cleanup and fix username in drone pipeline. 2023-01-04 15:00:31 +01:00
.drone.yml Cleanup and fix username in drone pipeline. 2023-01-04 15:00:31 +01:00
.editorconfig Build updates. 2023-01-04 14:44:42 +01:00
.gitattributes Initial commit, work in progress 2021-04-25 15:25:20 +02:00
.gitignore Update oshi library and bump version. 2022-06-27 08:04:25 +02:00
CHANGELOG.md Set ID of routes and fix bug when no configuration file is found. 2023-01-22 11:07:15 +01:00
LICENSE Improve robustness, logging and example dashboards 2021-09-22 15:46:48 +02:00
README.md Update links and provide screenshots. 2023-01-06 08:15:18 +01:00
bitbucket-pipelines.yml Update oshi to fixed version. 2022-10-30 13:03:53 +01:00
build.gradle Build updates. 2023-01-04 14:44:42 +01:00
gradle.properties Set ID of routes and fix bug when no configuration file is found. 2023-01-22 11:07:15 +01:00
gradlew Update dependencies. 2023-01-04 12:35:00 +01:00
gradlew.bat Update dependencies. 2023-01-04 12:35:00 +01:00
settings.gradle Update links and provide screenshots 2023-01-06 08:15:37 +01:00

README.md

System Monitor

Open source system monitoring solution with support for plugins.

This software is free to use and is licensed under the Apache 2.0 License.

  • Example dashboards are provided in the doc/dashboards/ folder, which can be imported into your Grafana installation.
  • Screenshots of some of the default dashboards are available in doc/screenshots section.

Sysmon Icon

Some of my other related projects are:

  • hmci for agent-less monitoring of IBM Power servers
  • svci for monitoring IBM Spectrum Virtualize (Flashsystems / Storwize / SVC)
  • syslogd for redirecting syslog and GELF to other logging destinations

Components

Server

The server component receives aggregated metrics from clients and saves these into InfluxDB.

Client & Plugins

The client runs on all or some of your hosts and collects metrics, which are then sent to the central sysmon-server component. Plugins are loaded by the client at startup and should also be installed.

Known problems

Correct timezone and clock

  • Ensure you have correct timezone and date/time and NTPd (or similar) running to keep it accurate!

Naming collision

You can't have hosts with the same name, as these cannot be distinguished when metrics are written to InfluxDB (which uses the hostname as key).

Renaming hosts

If you rename a host, the metrics in InfluxDB will still be available by the old hostname, and new metrics will be written with the new hostname. There is no easy way to migrate the old data, but you can delete it easily:

USE sysmon;
DELETE WHERE hostname = 'unknown';