Commit Graph

713 Commits

Author SHA1 Message Date
Matt Bostock
2c02571040 Add StorCli text collector example script
Collect metrics from the StorCLI utility on the health of MegaRAID
hardware RAID controllers and write them to stdout so that they can be
used by the textfile collector.

We parse the JSON output that StorCLI provides.

Script must be run as root or with appropriate capabilities for storcli
to access the RAID card.

Designed to run under Python 2.7, using the system Python provided with
many Linux distributions.

The metrics look like this:

    mbostock@host:~$ sudo ./storcli.py
    megaraid_status_code 0
    megaraid_controllers_count 1
    megaraid_emergency_hot_spare{controller="0"} 1
    megaraid_scheduled_patrol_read{controller="0"} 1
    megaraid_virtual_drives{controller="0"} 1
    megaraid_drive_groups{controller="0"} 1
    megaraid_virtual_drives_optimal{controller="0"} 1
    megaraid_degraded{controller="0"} 0
    megaraid_battery_backup_healthy{controller="0"} 1
    megaraid_ports{controller="0"} 8
    megaraid_failed{controller="0"} 0
    megaraid_drive_groups_optimal{controller="0"} 1
    megaraid_healthy{controller="0"} 1
    megaraid_physical_drives{controller="0"} 24
    megaraid_controller_info{controller="0", model="AVAGOMegaRAIDSASPCIExpressROMB"} 1
    mbostock@host:~$
2016-12-22 22:55:58 +00: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
Christian Svensson
ee1a0cc3cc Allow overrides for GO and PROMU
This allows the user to override how/where promu and/or go is invoked.
2016-12-22 00:38:47 +01:00
Julius Volz
296d7fdd2e Merge pull request #379 from juergenhoetzel/dont-use-non-posix-which
Use POSIX "command" instead of non-standard "which"
2016-12-21 22:22:29 +01:00
Juergen Hoetzel
92ea3e1599 Use POSIX "command" instead of non-standard "which" 2016-12-21 19:00:38 +01:00
Johannes 'fish' Ziemke
e681dcc296 Merge pull request #378 from prometheus/add-e2e-tests-makefile
Add e2e tests makefile
2016-12-21 18:33:38 +01:00
Johannes 'fish' Ziemke
445f9c1e45 Merge pull request #354 from prometheus/superq/smart_metrics
Add text file utility for SMART metrics
2016-12-21 12:57:18 +01:00
Johannes 'fish' Ziemke
3b1ef14e7b Add end-to-end tests as default Makefile target 2016-12-21 12:00:32 +01:00
Johannes 'fish' Ziemke
ac406e652e Print log if error occurs 2016-12-21 11:51:53 +01:00
Ben Kochie
481392d75c Merge pull request #376 from prometheus/fish-update-docker-readme
Improve Docker documentation
2016-12-20 18:36:34 +01:00
Björn Rabenstein
08c9347e88 Merge pull request #367 from mdlayher/mountstats
Add mountstats collector for detailed NFS statistics
2016-12-20 17:20:41 +01:00
Matt Layher
25a93e38e7
Add mountstats collector for detailed NFS statistics 2016-12-20 11:13:02 -05:00
Johannes 'fish' Ziemke
21173e21f0 Improve Docker documentation
This adds bind-mounts and ignore flags to Docker example and explains
why it's best run uncontainerized.
2016-12-19 16:17:53 +01:00
Ben Kochie
af4c98618f Merge pull request #372 from prometheus/superq/vendoring
Update vendoring
2016-12-19 14:49:50 +01:00
Johannes 'fish' Ziemke
9039a425d0 Add runit service dir flag 2016-12-19 13:10:38 +01:00
Johannes 'fish' Ziemke
deebf0aa49 Add node_filesystem_device_errors_total metric
This metric is the total number of errors occurred when getting stats
for the given device.
2016-12-19 11:48:32 +01:00
Ben Kochie
b8d951c0a3 Update vendoring entries
Fix missing checksums.
* `github.com/kolo/xmlrpc`
* `github.com/prometheus/client_model/go`
* `github.com/soundcloud/go-runit/runit`
2016-12-16 14:30:23 +01:00
Ben Kochie
90bb7678d4 Add vendoring of golang.org/x/sys/windows 2016-12-16 14:25:15 +01:00
Ben Kochie
6bbd2847e9 Update vendoring for golang.org/x/sys/unix 2016-12-16 13:07:52 +01:00
Ben Kochie
69ef3b6209 Update vendoring for github.com/prometheus/common/* 2016-12-16 13:07:49 +01:00
Ben Kochie
ec6385a095 Update vendoring for github.com/prometheus/client_golang/prometheus
Pin to 0.8.0 (c5b7fccd204277076155f10851dad72b76a49317)
2016-12-16 13:01:21 +01:00
Ben Kochie
f190b8f5a4 Update vendoring for github.com/matttproud/golang_protobuf_extensions/pbutil 2016-12-16 12:58:24 +01:00
Ben Kochie
3939e9d0b1 Update vendoring for github.com/golang/protobuf/proto 2016-12-16 12:56:38 +01:00
Ben Kochie
84c6c66a35 Update vendoring for github.com/godbus/dbus 2016-12-16 12:55:26 +01:00
Ben Kochie
ed9acc935c Update vendoring for github.com/coreos/go-systemd/dbus 2016-12-16 12:54:43 +01:00
Ben Kochie
6dd85969ef Update vendoring for github.com/beevik/ntp 2016-12-16 12:54:21 +01:00
Ben Kochie
f1def04193 Update vendoring for github.com/beorn7/perks/quantile 2016-12-16 12:53:18 +01:00
Ben Kochie
7c605d497d Update vendoring for github.com/Sirupsen/logrus 2016-12-16 12:52:33 +01:00
Ed Schouten
d1fa279105 Use a descriptive name for the file descriptor. 2016-12-16 11:45:14 +01:00
Ben Kochie
677ed28575 Merge pull request #361 from lucasbergman/mips-build-fix
mips64 build fix
2016-12-16 11:39:53 +01:00
Ed Schouten
6ff620e387 Properly propagate parse errors. 2016-12-16 11:36:36 +01:00
Johannes 'fish' Ziemke
f09b9def25 Merge pull request #363 from mdlayher/update-procfs
Update github.com/prometheus/procfs to latest revision
2016-12-12 18:01:28 +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
Matt Layher
2c93e7af0f
Add Matt Layher to AUTHORS 2016-12-07 12:20:10 -05:00
Matt Layher
bae238be61
Update github.com/prometheus/procfs to latest revision 2016-12-07 12:19:16 -05:00
Jonas Wielicki
3efaa1a6a8 Update end-to-end tests 2016-12-01 10:00:50 +01:00
Jonas Wielicki
c481dd19da Re-introduce human-readable chip types
The chip label generation has been changed in #334 to prefer the
unique device path (e.g. the location on the PCI bus) due to #333.

Here, a new annotation metric ``node_hwmon_chip_names`` is
introduced which allows to link the unique chip sysfs path to a
human-readable chip name which may not be unique among chip sysfs
paths (for example, dual-slot systems have multiple
chipType="coretemp" sensors).

This allows to mitigate the downsides of the solution to #333
(namely that the device path may not be stable across kernels and
reboots) for cases where it does not matter that multiple devices
may have the same human-readable name (e.g. aggregation or where
at most one device with a common chip name is present).

For cases where no human-readable name can be derived, the
annotation metric is not emitted.
2016-12-01 09:59:52 +01:00
Lucas Bergman
4f479e55e0 linux/mips: Unbreak the build
Specifically, uname syscall support on Linux is controlled by a build
tag white list, and both mips64 platforms were missing from the list.
2016-11-30 13:13:49 -06:00
Ben Kochie
0d2314e2b4 Add text file utility for SMART metrics
Add a utility to parse the output of `smartctl`.
* Scans all disks.
* Prints metrics for `smartctl --info`.
* Prints metrics for `smartctl --attributes`.
2016-11-27 14:32:32 +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