Christian Schwarz
f29f3873ea
Add a collector for ZFS, currently focussed on ARC stats.
...
It is tested on FreeBSD 10.2-RELEASE and Linux (ZFS on Linux 0.6.5.4).
On FreeBSD, Solaris, etc. ZFS metrics are exposed through sysctls.
ZFS on Linux exposes the same metrics through procfs `/proc/spl/...`.
In addition to sysctl metrics, 'computed metrics' are exposed by
the collector, which are based on several sysctl values.
There is some conditional logic involved in computing these metrics
which cannot be easily mapped to PromQL.
Not all 92 ARC sysctls are exposed right now but this can be changed
with one additional LOC each.
2017-01-08 10:23:58 -06:00
Johannes 'fish' Ziemke
dde59014b8
Merge pull request #409 from discordianfish/use-promhttp-set-logger
...
Use promhttp and setup logger
2017-01-06 16:33:57 +01:00
Johannes 'fish' Ziemke
2e47fcb8c5
Only store relevant e2e output
...
This makes commits ligher/more readable when updating the output.
2017-01-06 12:36:26 +01:00
Johannes 'fish' Ziemke
17e71b0a16
Update client_golang
2017-01-06 12:33:21 +01:00
Johannes 'fish' Ziemke
ad2eb4a788
Use Gauge for megacli counters
...
Without refactoring this to use const metrics, we need to make this a
gauge to we can keep using Set() which was deprecated for counters.
2017-01-06 12:33:21 +01:00
Johannes 'fish' Ziemke
01a9a37556
Stop using deprecated SetMetricFamilyInjectionHook
2017-01-06 12:21:12 +01:00
Johannes 'fish' Ziemke
3983cd58ff
Use promhttp and setup logger
2017-01-05 19:30:48 +01:00
Johannes 'fish' Ziemke
3e266e28b9
Merge pull request #397 from dominikh/freebsd-cpu
...
Collect CPU temperatures on FreeBSD
2017-01-05 17:32:48 +01:00
Johannes 'fish' Ziemke
fc1113cd11
Merge pull request #396 from dominikh/bsd-memleak
...
Don't leak or race in FreeBSD devstat collector
2017-01-05 17:31:57 +01:00
Dominik Honnef
d827db8e17
Better error handling when collecting CPU temps
...
Log why we couldn't collect the temperature, and set metric to NaN if
the CPU should support temperature collection but had an error.
2017-01-05 15:19:56 +01:00
Johannes 'fish' Ziemke
91f4781234
Merge pull request #311 from kpettijohn/solaris-loadavg
...
Added loadavg collector for Solaris
2017-01-05 11:49:16 +01:00
Dominik Honnef
9847257bc0
Add missing license headers
2017-01-05 06:18:34 +01:00
Dominik Honnef
782eaee100
Collect CPU temperatures on FreeBSD
2017-01-05 06:17:16 +01:00
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
Kevin Pettijohn
d2fbeeb3c3
Added loadavg collector for solaris
...
It seems solaris prefers "sys/loadavg.h" over "stdlib.h" when
fetching the load average.
For Illumos based OSes it was required to include "sys/time.h" to
ensure that "hrtime_t" was defined.
https://www.illumos.org/issues/6002
It also required setting the ldflags "-fno-stack-protector -lssp" to
avoid undefined symbols when linking with gcc.
/opt/local/go/pkg/tool/solaris_amd64/link: running gcc failed: exit status 1
Undefined first referenced
symbol in file
__stack_chk_fail /tmp/go-link-138622936/000002.o
__stack_chk_guard /tmp/go-link-138622936/000002.o
2017-01-04 17:45:40 -08: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