Commit graph

763 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