No Description

Nick Babcock a426b7e7f5 Release 0.1.2. 7 years ago
LibreHardwareMonitor @ 22bd00c806 a426b7e7f5 Release 0.1.2. 7 years ago
OhmGraphite a426b7e7f5 Release 0.1.2. 7 years ago
assets 50ef65828f Add dashboard images 7 years ago
.gitattributes 8c87b003f4 Add .gitignore and .gitattributes. 7 years ago
.gitignore 8c87b003f4 Add .gitignore and .gitattributes. 7 years ago
.gitmodules f439846293 Working version of ohm export to graphite 7 years ago
CHANGELOG.md a426b7e7f5 Release 0.1.2. 7 years ago
Dockerfile 6d5b7afc2d Use NLog built for docker 7 years ago
LICENSE.txt 62a0c572e7 Add license and readme 7 years ago
OhmGraphite.sln f439846293 Working version of ohm export to graphite 7 years ago
README.md ab7a8e217e Include upgrade instructions 7 years ago

README.md

OhmGraphite

OhmGraphite takes the hard work of extracting hardware sensors from Open Hardware Monitor (technically LibreHardwareMonitor for most up to date hardware) and exports the data in a graphite compatible format. If you're missing GPU, temperature, or power metrics in Grafana or (or other graphite UI), this tool is for you!

OhmGraphite functions as a console app (cross platform) or a Windows service that periodically polls the hardware. My recommendation is that even though OhmGraphite can be run via Mono / Docker, many hardware sensors aren't available in those modes.

Don't fret if this repo hasn't been updated recently. I use this every day to create beautiful dashboards. Keep in mind, Open Hardware Monitor supported components will determine what metrics are available. Below are graphs / stats made strictly from OhmGraphite (additional Windows metrics can be exposed, see Monitoring Windows system metrics with grafana)

GPU Utilization Temperatures Power Text1 Text2

Getting Started (Windows)

  • Create a directory that will home base for OhmGraphite (I use C:\Apps\OhmGraphite).
  • Download the latest zip and extract to our directory
  • Update app configuration (located at OhmGraphite.exe.config). The config below polls our hardware every 5 seconds and sends the results to a graphite server listening on localhost:2003.

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <appSettings>
    <add key="host" value="localhost" />
    <add key="port" value="2003" />
    <add key="interval" value="5" />
    </appSettings>
    </configuration>
    
  • This config can be updated in the future, but will require a restart of the app for effect.

  • The app can be ran interactively by simply executing OhmGraphite.exe. Executing as administrator will ensure all sensors are found.

  • To install the app .\OhmGraphite.exe install. The command will install OhmGraphite as a Windows service (so you can manage it with your favorite powershell commands or services.msc)

  • To start the app after installation: .\OhmGraphite.exe start or your favorite Windows service management tool

Upgrades

  • Stop OhmGraphite service
  • Unzip latest release over previous directory
  • Start OhmGraphite service

Getting Started (Docker)

Since the full gambit of metrics aren't available in a Docker container, I've refrained from putting the project on docker hub lest it misleads people to think otherwise.

docker build -t nickbabcock/ohm-graphite .
docker run -v $PWD/app.config:/opt/OhmGraphite/OhmGraphite.exe.config:ro nickbabcock/ohm-graphite

app.config is in the same format as the above configuration.