GithubHelp home page GithubHelp logo

webdevops / gq-gmc-exporter Goto Github PK

View Code? Open in Web Editor NEW
3.0 4.0 0.0 127 KB

Prometheus exporter for GQ GMC (Geiger–Muller counter) devices

License: MIT License

Dockerfile 6.07% Makefile 17.73% Go 76.20%
prometheus-exporter geiger-counter prometheus-metrics gq-gmc geiger-muller

gq-gmc-exporter's Introduction

GQ GMC exporter (Geiger–Muller counter)

license DockerHub Quay.io

Prometheus exporter for Geiger–Muller counter from GQ GMC with serial interfaces (eg. USB)

Serial documentation: https://www.gqelectronicsllc.com/download/GQ-RFC1201.txt

Usage

Usage:
  gq-gmc-exporter [OPTIONS]

Application Options:
      --debug                         debug mode [$DEBUG]
  -v, --verbose                       verbose mode [$VERBOSE]
      --log.json                      Switch log output to json format [$LOG_JSON]
      --serial.port=                  Serial port device (eg. /dev/ttyUSB1) [$SERIAL_PORT]
      --serial.baudrate=              Serial bound rate (eg. 57600) [$SERIAL_BAUDRATE]
      --serial.databits=              Serial data bits (eg. 8) [$SERIAL_DATABITS]
      --serial.stopbits=              Serial stop bits (eg. 1) [$SERIAL_STOPBITS]
      --serial.intercharactertimeout= An inter-character timeout value, in milliseconds, see
                                      https://github.com/jacobsa/go-serial/blob/master/serial/serial.go#L91 (default: 1000)
                                      [$SERIAL_INTERCHARACTERTIMEOUT]
      --serial.minimumreadsize=       Minimum read size, see
                                      https://github.com/jacobsa/go-serial/blob/master/serial/serial.go#L91 (default: 0)
                                      [$SERIAL_MINIMUMREADSIZE]
      --server.bind=                  Server address (default: :8080) [$SERVER_BIND]
      --server.timeout.read=          Server read timeout (default: 5s) [$SERVER_TIMEOUT_READ]
      --server.timeout.write=         Server write timeout (default: 10s) [$SERVER_TIMEOUT_WRITE]

Help Options:
  -h, --help                          Show this help message

HTTP Endpoints

Endpoint Description
/metrics Default prometheus golang metrics

Metrics

Metric Description
gqgmc_info Device information
gqgmc_cpm Detected counts per minute from Geiger–Muller counter
gqgmc_voltage Current device voltage
gqgmc_temperature Current device temperature (if supported)

Tested devices

This exporter is tested with following devices:

  • GMC-300 plus

If you need support for other devices I ready to add support other devices but I need access to it (eg. via SSH or physical).

gq-gmc-exporter's People

Contributors

mblaschke avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gq-gmc-exporter's Issues

Mounting USB device to Docker container

What's the expected way to mount the USB device to a gq-gmc-exporter Docker container? Doing so with either --device=/dev/ttyUSB0 or --privileged /dev/bus/usb:/dev/bus/usb as extra parameters fails to start the container with

{"file":"serial.go:45","func":"Connect","level":"panic","msg":"cannot open /dev/ttyUSB0: open /dev/ttyUSB0: permission denied"}

The post parameters are:

--serial.port=/dev/ttyUSB0 --serial.baudrate=57600 --serial.databits=8 --serial.stopbits=1 --bind=8080

Consuming with Telegraf

Is querying /metrics expected to list the gqgmc_info, gqgmc_cpm, gqgmc_voltage and gqgmc_temperature metrics?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.