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 e68802f065 Merged in development (pull request #4)
Development
2021-06-16 08:23:26 +00:00
client Ensure hostname is provided, if it can't be properly detected. 2021-06-14 17:57:18 +02:00
doc Disable netstat extension. 2021-06-11 02:21:32 +02:00
gradle/wrapper Refactored package names. 2021-05-21 11:08:43 +02:00
plugins Ensure hostname is provided, if it can't be properly detected. 2021-06-14 17:57:18 +02:00
server Make threads configurable. 2021-06-16 10:20:17 +02:00
shared Ensure hostname is provided, if it can't be properly detected. 2021-06-14 17:57:18 +02:00
.gitattributes Initial commit, work in progress 2021-04-25 15:25:20 +02:00
.gitignore Refactoring of component names. 2021-05-07 12:39:55 +02:00
README.md Ensure hostname is provided, if it can't be properly detected. 2021-06-14 17:57:18 +02:00
bitbucket-pipelines.yml Cleanup and initial test of build pipeline. 2021-05-21 17:00:47 +02:00
build.gradle Work on base/common metrics. 2021-05-28 15:52:33 +02:00
gradle.properties Make threads configurable. 2021-06-16 10:20:17 +02:00
gradlew Initial commit, work in progress 2021-04-25 15:25:20 +02:00
gradlew.bat Initial commit, work in progress 2021-04-25 15:25:20 +02:00
settings.gradle Refactoring of component names. 2021-05-07 12:39:55 +02:00

README.md

System Monitor

Java based system monitoring solution with support for plugins.

  • Example Grafana dashboard showing metrics from a host running sysmon.

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';

Components

Client

Runs on your hosts and collects metrics, which are sent to the central server.

Server

Receives aggregated metrics from clients and saves these into InfluxDB.

Plugins

Loaded by the client and provides extensions for doing the actual collecting of metrics.