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 43d3e9babf
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
Lowercase client hostnames, housekeeping, update dashboards.
2023-02-06 19:47:36 +01:00
client Lowercase client hostnames, housekeeping, update dashboards. 2023-02-06 19:47:36 +01:00
doc Lowercase client hostnames, housekeeping, update dashboards. 2023-02-06 19:47:36 +01:00
gradle/wrapper Update dependencies. 2023-01-04 12:35:00 +01:00
plugins Lowercase client hostnames, housekeeping, update dashboards. 2023-02-06 19:47:36 +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 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 Build updates. 2023-01-04 14:44:42 +01:00
gradle.properties Lowercase client hostnames, housekeeping, update dashboards. 2023-02-06 19:47:36 +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 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';