Commit graph

572 commits

Author SHA1 Message Date
Dominik Honnef d2a43f7d05 Implement meminfo on BSD without cgo
This removes some error handling, which should be fine. If the calls
fail, we will get the zeroes, which is a safe enough fallback.
Additionally, if the first sysctl (page_size) succeeded it is unlikely
that other ones will fail.
2016-12-29 02:19:21 +01:00
Dominik Honnef 0f6191987e Implement file systems on FreeBSD without cgo
The code may also work for other BSDs, but I don't have access to those
for testing.
2016-12-26 23:06:17 +01:00
Dominik Honnef 54c74923ee Implement loadavg on FreeBSD without cgo
The code may also work for other BSDs, but I don't have access to those
for testing.
2016-12-26 23:06:05 +01:00
Ben Kochie 10e525ff02 Merge pull request #375 from prometheus/fish-add-runit-servicedir-flag
Add runit service dir flag
2016-12-26 13:01:51 +01:00
Johannes 'fish' Ziemke d506b2266c Merge pull request #374 from prometheus/fish-add-filesystem-errors
Add node_filesystem_device_errors_total metric
2016-12-26 11:51:14 +01:00
Johannes 'fish' Ziemke 88f8dba35e Merge pull request #384 from bjornfor/filesystem-ignore-autofs
Ignore autofs filesystems on linux
2016-12-26 11:50:31 +01:00
Johannes 'fish' Ziemke ad1befe6d6 Merge pull request #320 from mattbostock/add_storcli
Add StorCli text collector example script
2016-12-26 11:49:07 +01:00
Bjørn Forsman 64e637cbcc Ignore autofs filesystems on linux
node_exporter currently triggers autofs to mount the underlying
filesystem on every scrape. This is undesirable. Better ignore autofs.

The underlying filesystem that autofs mounts will be monitored though,
when the (real) filesystem is mounted.
2016-12-25 15:13:45 +01:00
Johannes 'fish' Ziemke 71ea37987f Merge pull request #365 from EdSchouten/drbd
A collector for DRBD
2016-12-25 11:04:43 +01:00
Ed Schouten b0d15eaac6 Reduce the severity of these messages.
They get printed all the time, as there are some tokens in the /proc
file that we simply don't support. It's better to keep these as
debugging messages, which may come in useful if new tags start to
appear.
2016-12-23 15:57:46 +01:00
Ed Schouten 4adf7fa96c Improve the help strings, as proposed in the code review. 2016-12-23 15:55:49 +01:00
Matt Bostock 004bdca8e5 Add text_collector_examples README 2016-12-22 22:57:14 +00:00
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
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
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