Commit Graph

606 Commits

Author SHA1 Message Date
Dominik Honnef 38c5890428 Reuse devinfo struct
The devstat API expects us to reuse one devinfo for many invocations of
devstat_getstats. In particular, it allocates and resizes memory
referenced by devinfo.
2017-01-05 05:38:26 +01:00
Dominik Honnef ea55d0f5cb Don't race in FreeBSD devstat collector
Querying the number of devices separately from the device list itself is
racy. Devices may be added or removed between the two calls; and removed
devices would lead to a segfault.
2017-01-05 05:38:26 +01:00
Dominik Honnef 5e220c1665 Move cgo portions of FreeBSD devstat collector into own file
Embedding 100 lines of code in a comment doesn't make for good reading,
editing or code quality.
2017-01-05 05:38:26 +01:00
Dominik Honnef 20ca0f1376 Eliminate memory leak in FreeBSD devstat collector
The memory allocated by calloc was never freed. Since the devinfo struct
never leaves the function, anyway, we might as well just allocate it on
the stack.
2017-01-05 05:38:26 +01:00
Tobias Schmidt 3b469e5547 Merge pull request #405 from dominikh/fix-freebsd-cpu
Fix build of cpu_freebsd.go
2017-01-04 21:06:39 -06:00
Dominik Honnef 732dd67729 Fix build of cpu_freebsd.go
Corrects an incorrect merge in 8e50b80
2017-01-05 03:16:51 +01:00
Johannes 'fish' Ziemke f9d3f830cb Merge pull request #399 from discordianfish/fish-fs-uniq-metric
Make sure we only return one metric per mounted fs
2017-01-04 16:48:04 +01:00
Johannes 'fish' Ziemke 4c9131b7d8 Make sure we only return one metric per mounted fs 2017-01-04 16:45:25 +01:00
Johannes 'fish' Ziemke 6dd39b15c2 Do not build meminfo on freebsd 2017-01-04 16:02:49 +01:00
Johannes 'fish' Ziemke a97ff2bcda Do not build meminfo on windows 2017-01-04 15:16:13 +01:00
Johannes 'fish' Ziemke 7617e8b4be Update archs supported by collectors in README 2017-01-04 12:30:48 +01:00
Johannes 'fish' Ziemke d17b1b44a6 Merge pull request #398 from prometheus/fish-netdev-check-scan-errror
Check for errors in netdev scanner
2017-01-03 16:00:08 +01:00
Johannes 'fish' Ziemke 9969f93e7d Merge pull request #387 from discordianfish/fish-fix-meminfo-darwin
Refactor meminfo and add darwin metrics
2017-01-03 14:50:52 +01:00
Johannes 'fish' Ziemke 6576571ac8 Check for errors in netdev scanner 2017-01-03 14:48:52 +01:00
Johannes 'fish' Ziemke 26c6182c84 Move comment and remove superfluous newline 2017-01-03 14:41:05 +01:00
Johannes 'fish' Ziemke b68a9ec7af Merge pull request #359 from CloudAndHeat/feature/hwmon_chip_name_metric
hwmon: Provide annotation metric to link chip sysfs paths to human-readable chip types
2017-01-03 14:38:43 +01:00
Johannes 'fish' Ziemke 4e696d5d31 Merge pull request #391 from discordianfish/fish-add-cpu-darwin
Add cpu collector for darwin
2017-01-03 14:23:50 +01:00
Johannes 'fish' Ziemke 079fd701a0 Merge pull request #389 from prometheus/fish-use-const-metrics
Convert remaining collectors to use ConstMetrics
2017-01-03 14:22:58 +01:00
Johannes 'fish' Ziemke d2ca252457 Merge pull request #393 from discordianfish/fish-add-netdev-darwin
Add netdev collector for darwin
2017-01-03 14:12:36 +01:00
Johannes 'fish' Ziemke 8e50b80d12 Convert remaining collectors to use ConstMetrics 2017-01-03 14:11:10 +01:00
Johannes 'fish' Ziemke c53bc168fe Merge pull request #321 from discordianfish/fish/scope-clarify-deprecate
RFC: Limit node-exporter scope, mark collectors deprecated that don't fit
2017-01-03 14:04:52 +01:00
Johannes 'fish' Ziemke 3db2f442ae Limit node-exporter scope, deprecated collectors 2017-01-03 14:03:23 +01:00
Johannes 'fish' Ziemke c21c59dfeb Add meminfo stats for Darwin 2017-01-03 11:22:46 +01:00
Johannes 'fish' Ziemke 2983c4a31d Refactor meminfo collector similar to filesystem
Instead of doing the whole metric exposition in a platform specific collector
implementation, this creates and updates the metrics in meminfo.go and
expected a platform specific implementation of getMemInfo on
*meminfoCollector.
2017-01-03 11:20:36 +01:00
Julius Volz 269ee7a7b4 Merge pull request #385 from dominikh/freebsd-no-c
Replace some FreeBSD collectors with pure Go versions
2016-12-31 12:30:37 +01:00
Johannes 'fish' Ziemke 3c47ef8e60 Add netdev collector for darwin
Same as for openbsd, this is just slightly adjusted from freebsd
variant.
2016-12-29 19:17:15 +01:00
Johannes 'fish' Ziemke a0b6f55aa9 Merge pull request #394 from discordianfish/fish-fix-makefile
Fix Makefile by using first element of GOPATH
2016-12-29 19:02:51 +01:00
Johannes 'fish' Ziemke 2c5f17d4e7 Fix Makefile by using first element of GOPATH
If GOPATH includes multiple paths, running `make promu` would fail.
This fixes it by always using the first path.
2016-12-29 18:52:36 +01:00
Dominik Honnef f0adcd163d Implement CPU collector on FreeBSD without cgo 2016-12-29 04:29:52 +01:00
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
Johannes 'fish' Ziemke 050d6f7f13 Add cpu collector for darwin 2016-12-28 18:38:52 +01:00
Johannes 'fish' Ziemke 41271cd99c Merge pull request #272 from bluecmd/patch-2
Allow overrides for GO and PROMU
2016-12-28 10:49:00 +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
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