Go to file
Buddy Sandidge 25c8ee0a17 Add test cases
cmd/ohwm-client Rename module
lib Add test cases
.gitignore Add test cases
LICENSE Add MIT license
Makefile Add test cases
README.md Update readme
go.mod Add test cases
go.sum Add test cases

README.md

Open Hardware Monitor Client

A utility to fetch metrics from Open Hardware Monitor instances by using it's web service. It currently only supports two commands; printing to a console and a prometheus exporter.

Stability

This package is under development and should not considered stable at this time.

Install

You can go get this project by running:

$ go get git.buddy.wtf/buddy/open-hardware-monitor-client/cmd/ohwm-client

Usage

$ ohwm-client help
NAME:
   ohwm-client - A new cli application

USAGE:
   ohwm-client [flags] <command> [flags]

DESCRIPTION:
   Open Hardware Manager Client

COMMANDS:
   print    pretty prints api result
   export   runs http exporter for prometheus
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --host value    open hardware monitor host [OSHW_HOST] (default: "127.0.0.1:8085") [$OHWM_HOST]
   --scheme value  open hardware monitor scheme (http/https) (default: "http") [$OHWM_SCHEME]
   --path value    open hardware monitor path (ie /data.json) (default: "/data.json") [$OHWM_PATH]
   --help, -h      show help

Prometheus Exporter

The prometheus exporter converts the JSON format from the Open Hardware Monitor to the OpenMetrics format used by prometheus. The server responds to the /metrics endpoint.

$ ohwm-client export --http :9112
2019/10/01 18:43:38 listen on: :9112
2019/10/01 18:43:50 GET /metrics

Print

Print will print the results to the console. Example output:

$ ohwm-client print
Sensor: Value (Min - Max)
  TOY
    Gigabyte Z170MX-Gaming 5
      ITE IT8628E
        Voltages
          Voltage #1: 0.804 V (0.492 V - 1.392 V)
          Voltage #2: 2.016 V (1.968 V - 2.016 V)
          Voltage #3: 2.028 V (1.968 V - 2.028 V)
          Voltage #4: 2.004 V (1.968 V - 2.004 V)
          Voltage #5: 0.012 V (0.012 V - 0.012 V)
          Voltage #6: 1.068 V (1.056 V - 1.068 V)
          Voltage #7: 1.200 V (1.188 V - 1.200 V)
          Standby +3.3V: 3.384 V (3.384 V - 3.384 V)
          VBat: 3.168 V (3.168 V - 3.168 V)
        Temperatures
          Temperature #1: 34.0 °C (27.0 °C - 49.0 °C)
          Temperature #2: 47.0 °C (31.0 °C - 59.0 °C)
          Temperature #3: 30.0 °C (24.0 °C - 70.0 °C)
        Fans
          Fan #1: 1573 RPM (1329 RPM - 2744 RPM)
          Fan #2: 729 RPM (549 RPM - 1776 RPM)
          Fan #3: 773 RPM (611 RPM - 1000 RPM)
          Fan #4: 748 RPM (547 RPM - 975 RPM)
          Fan #5: 817 RPM (638 RPM - 1078 RPM)
        Controls
          Fan Control #1: -
          Fan Control #2: -
          Fan Control #3: -
    Intel Core i7-6700K
      Clocks
        Bus Speed: 100 MHz (100 MHz - 100 MHz)
        CPU Core #1: 4008 MHz (802 MHz - 4208 MHz)
        CPU Core #2: 4008 MHz (802 MHz - 4209 MHz)
        CPU Core #3: 4008 MHz (802 MHz - 4209 MHz)
        CPU Core #4: 4008 MHz (802 MHz - 4208 MHz)
      Temperatures
        CPU Core #1: 25.0 °C (18.0 °C - 72.0 °C)
        CPU Core #2: 26.0 °C (20.0 °C - 76.0 °C)
        CPU Core #3: 22.0 °C (16.0 °C - 69.0 °C)
        CPU Core #4: 22.0 °C (16.0 °C - 63.0 °C)
        CPU Package: 29.0 °C (24.0 °C - 76.0 °C)
      Load
        CPU Total: 0.2 % (0.0 % - 89.1 %)
        CPU Core #1: 0.0 % (0.0 % - 91.4 %)
        CPU Core #2: 0.8 % (0.0 % - 89.1 %)
        CPU Core #3: 0.0 % (0.0 % - 87.5 %)
        CPU Core #4: 0.0 % (0.0 % - 91.4 %)
      Powers
        CPU Package: 12.4 W (4.5 W - 70.1 W)
        CPU Cores: 6.0 W (2.3 W - 67.3 W)
        CPU Graphics: 0.0 W (0.0 W - 0.0 W)
        CPU DRAM: 1.0 W (0.4 W - 3.4 W)
    Generic Memory
      Load
        Memory: 29.4 % (18.4 % - 60.5 %)
      Data
        Used Memory: 4.7 GB (2.9 GB - 9.6 GB)
        Available Memory: 11.3 GB (6.3 GB - 13.0 GB)
    NVIDIA GeForce GTX 980 Ti
      Clocks
        GPU Core: 135 MHz (135 MHz - 1392 MHz)
        GPU Memory: 405 MHz (405 MHz - 3506 MHz)
        GPU Shader: 270 MHz (270 MHz - 2784 MHz)
      Temperatures
        GPU Core: 36.0 °C (30.0 °C - 82.0 °C)
      Load
        GPU Core: 0.0 % (0.0 % - 100.0 %)
        GPU Memory Controller: 0.0 % (0.0 % - 55.0 %)
        GPU Video Engine: 0.0 % (0.0 % - 52.0 %)
        GPU Memory: 10.2 % (8.0 % - 98.9 %)
      Fans
        GPU: 0 RPM (0 RPM - 3867 RPM)
      Controls
        GPU Fan: 0.0 % (0.0 % - 63.0 %)
      Data
        GPU Memory Free: 5519.7 MB (65.8 MB - 5651.3 MB)
        GPU Memory Used: 624.3 MB (492.7 MB - 6078.2 MB)
        GPU Memory Total: 6144.0 MB (6144.0 MB - 6144.0 MB)
    SAMSUNG MZHPU512HCGL-00000
      Load
        Used Space: 56.1 % (55.8 % - 56.9 %)