From c31973d3c8a0e7c78f90d3b1dd8aa3854180f7f8 Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Wed, 6 Jul 2022 11:39:01 -0700 Subject: [PATCH] add gpsd plugin This plugin graphs dilution of precision and satellite count data from [gpsd](https://gpsd.gitlab.io/gpsd/). --- plugins/gpsd/example-graphs/gpsd_dop-day.png | Bin 0 -> 30620 bytes .../example-graphs/gpsd_satellites-day.png | Bin 0 -> 34149 bytes plugins/gpsd/gpsd | 108 ++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 plugins/gpsd/example-graphs/gpsd_dop-day.png create mode 100644 plugins/gpsd/example-graphs/gpsd_satellites-day.png create mode 100755 plugins/gpsd/gpsd diff --git a/plugins/gpsd/example-graphs/gpsd_dop-day.png b/plugins/gpsd/example-graphs/gpsd_dop-day.png new file mode 100644 index 0000000000000000000000000000000000000000..c97b462aba3f83eeaf45e53914a59125447d1ecf GIT binary patch literal 30620 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 literal 0 HcmV?d00001 diff --git a/plugins/gpsd/example-graphs/gpsd_satellites-day.png b/plugins/gpsd/example-graphs/gpsd_satellites-day.png new file mode 100644 index 0000000000000000000000000000000000000000..829beee69b2b695659d97cb8631d0fb9b8f25db9 GIT binary patch literal 34149 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�lG(QUoy_NbPidHcfIG`?LG-|8 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 /dev/null | sed --quiet '/SKY/{p;q}'`) + +puts <<~MUNIN + multigraph gpsd_dop + graph_title GPS dop + graph_category gps + xdop.label xdop + ydop.label ydop + vdop.label vdop + tdop.label tdop + hdop.label hdop + gdop.label gdop + pdop.label pdop + xdop.info Longitudinal dilution of precision + ydop.info Latitudinal dilution of precision + vdop.info Vertical (altitude) dilution of precision + tdop.info Time dilution of precision + hdop.info Horizontal dilution of precision + gdop.info Geometric (hyperspherical) dilution of precision, a combination of PDOP and TDOP + pdop.info Position (spherical/3D) dilution of precision + xdop.type GAUGE + ydop.type GAUGE + vdop.type GAUGE + tdop.type GAUGE + hdop.type GAUGE + gdop.type GAUGE + pdop.type GAUGE + xdop.value #{replace_null(sky['xdop'])} + ydop.value #{replace_null(sky['ydop'])} + vdop.value #{replace_null(sky['vdop'])} + tdop.value #{replace_null(sky['tdop'])} + hdop.value #{replace_null(sky['hdop'])} + gdop.value #{replace_null(sky['gdop'])} + pdop.value #{replace_null(sky['pdop'])} + + multigraph gpsd_satellites + graph_title GPS satellites + graph_category gps + nSat.min 0 + uSat.min 0 + nSat.label nSat + uSat.label uSat + nSat.info Number of satellites seen + uSat.info Number of satellites used + nSat.type GAUGE + uSat.type GAUGE + nSat.value #{replace_null(sky['nSat'])} + uSat.value #{replace_null(sky['uSat'])} +MUNIN + +__END__ + +=pod + +=encoding utf8 + +=head1 NAME + +gpsd - Munin plugin for graphing data from gpsd. + +=head1 CONFIGURATION + +No configuration needed. + +=head1 NOTES + +Requires the multigraph and dirtyconfig capabilities available in munin 2.0 +and newer. + +Developed and tested with gpsd 3.22. + +=head1 AUTHOR + +Copyright © 2022 Kenyon Ralph + +=head1 LICENSE + +This program is free software: you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +this program. If not, see L. + +=cut