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 5204142cb4
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
Remove ansible example
2023-11-02 20:03:01 +01:00
client Update 3rd party build dependencies. 2023-06-07 07:48:58 +02:00
doc Remove ansible example 2023-11-02 20:03:01 +01:00
gradle/wrapper Update 3rd party build dependencies. 2023-06-07 07:48:58 +02:00
plugins Make a zip archive of plugins. 2023-06-24 21:32:37 +02:00
server Update 3rd party build dependencies. 2023-06-07 07:48:58 +02:00
shared Lowercase client hostnames, housekeeping, update dashboards. 2023-02-06 19:47:36 +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 Lowercase client hostnames, housekeeping, update dashboards. 2023-02-06 19:47:36 +01:00
LICENSE Improve robustness, logging and example dashboards 2021-09-22 15:46:48 +02:00
README.md Lowercase client hostnames, housekeeping, update dashboards. 2023-02-06 19:47:36 +01:00
bitbucket-pipelines.yml Update oshi to fixed version. 2022-10-30 13:03:53 +01:00
build.gradle Make a zip archive of plugins. 2023-06-24 21:32:37 +02:00
gradle.properties Update dependencies and bump version. 2023-11-02 09:40:47 +01:00
gradlew Update 3rd party build dependencies. 2023-06-07 07:48:58 +02:00
gradlew.bat Update 3rd party build dependencies. 2023-06-07 07:48:58 +02: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 and scripts.

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

Screenshots

screenshot

Screenshots of other dashboards are available in the doc/screenshots folder.

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