Commit graph

529 commits

Author SHA1 Message Date
Ed Schouten 4adf7fa96c Improve the help strings, as proposed in the code review. 2016-12-23 15:55:49 +01:00
Ed Schouten b7daf27678 Process feedback from the code review.
- Use the right number of printf() arguments. Use %q where it makes sense.
- Use "DRBD" instead of "Drbd", per Go's style guide.
- Add _total suffixes to counter metrics.
- Mention the unit (bytes) in documentation strings once more.
2016-12-22 13:57:19 +01:00
Ed Schouten d1fa279105 Use a descriptive name for the file descriptor. 2016-12-16 11:45:14 +01:00
Ed Schouten 6ff620e387 Properly propagate parse errors. 2016-12-16 11:36:36 +01:00
Ed Schouten 8c720baa58 Add myself to the AUTHORS file. 2016-12-11 11:59:13 +01:00
Ed Schouten 6269f7502a Add a collector for DRBD.
This collector exposes most of the useful information that can be found
in /proc/drbd. Sizes are normalised to be in bytes, as /proc/drbd uses
kibibytes.
2016-12-11 11:55:28 +01:00
Johannes 'fish' Ziemke ff5b901065 Merge pull request #360 from EdSchouten/nfs
Add a collector for NFS client statistics.
2016-12-11 11:40:24 +01:00
Ed Schouten a696830c38 Add a collector for NFS client statistics.
This change adds a new collector called "nfs" that parses the contents
of /proc/net/rpc/nfs and turns it into metrics. It can be used to
inspect the number of operations per type, but also to keep an eye on an
extraneous number of retransmissions, which may indicate connectivity
issues.

I've picked the name "nfs", as most operating systems use "nfs" for the
client component and "nfsd" as the server component. If we want to add
stats for the NFS server as well, we'd better call such a collector
"nfsd".
2016-12-09 19:58:08 +01:00
Ben Kochie 006d1c7922 Merge pull request #336 from prometheus/superq/v0.13.0
Release v0.13.0
2016-11-26 14:07:25 +01:00
Ben Kochie c44964f302 Fix indent issue in circle.yml. 2016-11-25 22:42:30 +01:00
Ben Kochie baa4492903 Release v0.13.0 2016-11-25 22:42:30 +01:00
stuart nelson 4c2f393af4 Update README.md (#352)
Dragonfly exports CPU, also
2016-11-25 09:02:02 +00:00
Ben Kochie 42d1658d56 Merge pull request #348 from prometheus/superq/v0.13.0-rc.2
Release v0.13.0-rc.2
2016-11-19 08:25:28 +01:00
Ben Kochie dfb22045d7 Release v0.13.0-rc.2
Update CHANGELOG with new features/bugfixes.
2016-11-17 21:19:40 +01:00
Ben Kochie f8af350ae2 Merge pull request #346 from mcdan/people/mcdan/issues/219
Fix additional mdadm parsing cases
2016-11-17 21:13:38 +01:00
dan mcweeney 13aa37025f Feedback on PR, thanks @tcolgate for the review 2016-11-17 10:23:01 -05:00
Ben Kochie 4fd03c31e4 Merge pull request #323 from stuartnelson3/dfly-devstat
Dragonfly devstat
2016-11-17 13:33:50 +01:00
Ben Kochie 7a9aad01b4 Merge pull request #310 from stuartnelson3/dfly-cpu
export DragonFlyBSD CPU time
2016-11-17 13:33:11 +01:00
stuart nelson e589a2b8af Remove gauges and convert to NewConstMetric format 2016-11-17 13:23:54 +01:00
stuart nelson 08bc709c35 Update README.md 2016-11-17 13:23:54 +01:00
stuart nelson 2b74cf7498 Export devstat for dragonfly 2016-11-17 13:23:54 +01:00
dan mcweeney 1f6b5aee39 #219 - add fixes for @samzhang111 super token 2016-11-16 14:49:57 -05:00
dan mcweeney 8d756cab50 Fixes end to end test 2016-11-16 14:47:03 -05:00
dan mcweeney 00c9a88a55 Fixes #219 - use the default to catch personalities that are unknown
Assumes all raid configurations start with raid and that anything
else is unknown.
2016-11-16 14:47:03 -05:00
Ben Kochie bb2b984030 Merge pull request #341 from EdSchouten/mdadm-attributes
mdstat: Fix parsing of RAID0 lines that contain additional attributes.
2016-11-16 17:55:21 +01:00
Ed Schouten 9749c2c0b3 mdstat: Fix parsing of RAID0 lines that contain additional attributes.
We seem to have a small number of Linux servers here that have lines in
/proc/mdstat that cannot be parsed by the node exporter, due to them
containing attributes that are not matched by the regular expression
("super 1.2").

Extend the regular expression to skip this data, just like we do for all
of the other status lines.
2016-11-16 17:21:25 +01:00
Ben Kochie 38ca73e783 Merge pull request #344 from prometheus/superq/disable_pcc
Disable broken ppc builds
2016-11-16 15:46:55 +01:00
Ben Kochie 887127e713 Disable broken ppc builds
Disable linux/{ppc64,ppc64le} until we figure out what is wrong with the
automated build pipeline.
2016-11-16 15:19:38 +01:00
Rene Treffer abe8e297a6 Prefer device path based names over exported names (#334)
* Prefer device path based names over exported names

For some sensors (like coretemp) it is possible that multiple
instances exist, thus base the name on the device path and not on
the exported name.

* Update end-to-end test for dual socket machines

Explicitly have 2 coretemp instances with a symlink for the device
such that the hwmon collector must pick that name (or fail)
2016-10-28 20:25:44 +01:00
Ben Kochie 2ff8e5f0e4 Merge pull request #313 from prometheus/superq/v0.13.0rc1
Prepare for 0.13.0-rc.1 release.
2016-10-16 14:32:21 +02:00
Ben Kochie 2ccc8bd1b1 Fixup: Remove ConstMetrics changelog entries. 2016-10-16 13:20:57 +02:00
Ben Kochie 0a9f1236ea Fixup: Adjust version in changelog. 2016-10-16 13:20:19 +02:00
Ben Kochie e40efa1914 Prepare for 0.13.0-rc.1 release.
* Update CHANGELOG.md.
* Update VERSION.
2016-10-16 13:07:22 +02:00
Ben Kochie c6162312f2 Add Linux NUMA "numastat" metrics (#249)
* Add Linux NUMA "numastat" metrics
  Read the `numastat` metrics from /sys/devices/system/node/node* when reading NUMA meminfo metrics.
* Update end-to-end test output.
* Add `numastat` metrics as counters.
* Add tests for error conditions.
* Refactor meminfo numa metrics struct
* Refactor meminfoKey into a simple struct of metric data.
  This makes it easier to pass slices of metrics around.
* Refactor tests.
* Fixup: Add suggested fixes.
* Fixup:  More fixes
* Add another scanner.Err() return
* Add "_total" to counter metrics.
2016-10-12 13:07:49 +02:00
Rene Treffer 081ecc5db0 Add hwmon /sensors support (#278)
* Add hwmon support (mainly known from lm-sensors)

This commit adds initial support for linux hardware sensors, exported
through sysfs.

Details of the interface can be found at
https://www.kernel.org/doc/Documentation/hwmon/sysfs-interface

* Add end-to-end test with some real life data

* Cleanup comments on hwmon collector

* Drop raw sensor name from hwmon output

* Let the sensor label be "sensor"

* Add hwmon short description to README.
2016-10-06 16:33:24 +01:00
stuart nelson 450fe0f3ba Add test 2016-09-28 09:10:05 +02:00
stuart nelson cf3710191a Compile meminfo for dfly (#315)
* Compile meminfo for dfly

* Update README.me
2016-09-28 08:08:19 +01:00
stuart nelson ef1925db7d Compile netdev on dragonfly (#314)
* Compile netdev on dragonfly

* Only run netdev bsd test on bsd

* Update README.md
2016-09-27 21:44:13 +01:00
stuart nelson ee37a27d91 Export values as uint64_t 2016-09-20 23:27:56 +02:00
stuart nelson e942d7e234 Maintain granularity in cpu data
Export cpu mode times as original uint64_t data,
and update frequency, and do the conversion to
float64 and subsequent division in go.
2016-09-20 09:10:53 +02:00
Julius Volz f5a15ee404 Merge pull request #309 from prometheus/superq/mdstat
Fix mdadm collector for resync=PENDING.
2016-09-19 17:32:44 +02:00
Ben Kochie afac1f7433 Update mdstat fixture based on linux source.
Update `Contains` matching for `resync=`
2016-09-19 16:11:16 +02:00
stuart nelson 57f88ac4f6 Update comment 2016-09-19 09:48:53 +02:00
stuart nelson 78c84b1a47 Remove old freq finding code
This is the code that was lifted from the freebsd
implementation, but was not correct.
2016-09-19 09:48:34 +02:00
stuart nelson 45ac033d9e Use correct frequency for calculating cpu time
The correct frequency is the systimer frequency,
not the stathz.

From one of the DragonFly developers:

The bump upon each statclock is:
((cur_systimer - prev_systimer) * systimer_freq) >> 32

systimer_freq can be extracted from following
sysctl in userspace:
sysctl kern.cputimer.freq
2016-09-19 09:35:41 +02:00
stuart nelson 8cc06aab04 Remove unneeded ncpu variable 2016-09-18 17:36:39 +02:00
stuart nelson 9f7822ccdc Remember to bzero string
Duplication was caused by malloc returning a
region of memory that already had data in it.
2016-09-18 16:17:49 +02:00
stuart nelson c02dcdeb35 Remove unused comment. 2016-09-18 14:21:54 +02:00
stuart nelson 3e4a154656 Correctly exporting values
Moved to exporting via a string, which is then
split and parsed.

The string is sometimes duplicated, however.
2016-09-18 14:16:26 +02:00
Ben Kochie 64b82596ef Fix mdadm collector for resync=PENDING.
Add fix for mdadm devices in state `resync=PENDING`.
* Update test and fixture.
2016-09-18 08:30:20 +02:00