Commit Graph

289 Commits

Author SHA1 Message Date
stuart nelson
ef1925db7d Compile netdev on dragonfly (#314)
* Compile netdev on dragonfly

* Only run netdev bsd test on bsd

* Update README.md
2016-09-27 21:44:13 +01:00
stuart nelson
ee37a27d91 Export values as uint64_t 2016-09-20 23:27:56 +02:00
stuart nelson
e942d7e234 Maintain granularity in cpu data
Export cpu mode times as original uint64_t data,
and update frequency, and do the conversion to
float64 and subsequent division in go.
2016-09-20 09:10:53 +02:00
Ben Kochie
afac1f7433 Update mdstat fixture based on linux source.
Update `Contains` matching for `resync=`
2016-09-19 16:11:16 +02:00
stuart nelson
57f88ac4f6 Update comment 2016-09-19 09:48:53 +02:00
stuart nelson
78c84b1a47 Remove old freq finding code
This is the code that was lifted from the freebsd
implementation, but was not correct.
2016-09-19 09:48:34 +02:00
stuart nelson
45ac033d9e Use correct frequency for calculating cpu time
The correct frequency is the systimer frequency,
not the stathz.

From one of the DragonFly developers:

The bump upon each statclock is:
((cur_systimer - prev_systimer) * systimer_freq) >> 32

systimer_freq can be extracted from following
sysctl in userspace:
sysctl kern.cputimer.freq
2016-09-19 09:35:41 +02:00
stuart nelson
8cc06aab04 Remove unneeded ncpu variable 2016-09-18 17:36:39 +02:00
stuart nelson
9f7822ccdc Remember to bzero string
Duplication was caused by malloc returning a
region of memory that already had data in it.
2016-09-18 16:17:49 +02:00
stuart nelson
c02dcdeb35 Remove unused comment. 2016-09-18 14:21:54 +02:00
stuart nelson
3e4a154656 Correctly exporting values
Moved to exporting via a string, which is then
split and parsed.

The string is sometimes duplicated, however.
2016-09-18 14:16:26 +02:00
Ben Kochie
64b82596ef Fix mdadm collector for resync=PENDING.
Add fix for mdadm devices in state `resync=PENDING`.
* Update test and fixture.
2016-09-18 08:30:20 +02:00
stuart nelson
4b4385bd44 Remove free
Don't need it since we aren't malloc'ing
2016-09-17 19:14:31 +02:00
stuart nelson
cc5142a007 Remove some unnecessary includes 2016-09-17 19:13:05 +02:00
stuart nelson
a9d27ea722 Appears to be working? Still need to cleanup after self 2016-09-17 18:50:08 +02:00
stuart nelson
1d75b376ae checkpoint 2016-09-17 14:43:29 +02:00
stuart nelson
1b7a18c271 Creating slice from C-array
Might not be lined up correctly? Weird output data
in the second CPU.
2016-09-17 14:05:36 +02:00
stuart nelson
61f36ac1ab Activate filesystem collector on DragonFly (#302) 2016-09-11 12:08:00 -04:00
stuart nelson
03da1ea516 successfully exporting one of 2 cpus 2016-09-10 21:13:06 +02:00
stuart nelson
cda2f493ee wip 2016-09-10 19:22:34 +02:00
Takuya Nakaike
0f2a87ab22 add s390x support 2016-08-24 08:06:04 -04:00
Calle Pettersson
e890743f79 Add white/blacklisting of units for systemd collector 2016-08-20 13:08:03 +02:00
Julius Volz
428746c48e Merge pull request #285 from prometheus/meminfo-bsd-constmetrics
Convert BSD meminfo collector to use ConstMetrics
2016-08-14 20:14:13 +02:00
Julius Volz
f0796683fe Convert BSD meminfo collector to use ConstMetrics
This suffers from the same concurrency bug as the netstat one:
https://github.com/prometheus/node_exporter/issues/280
2016-08-13 00:40:29 +02:00
Julius Volz
c0b46391e2 Merge pull request #283 from prometheus/meminfo-constmetrics
Convert meminfo collector to use ConstMetrics
2016-08-12 19:02:30 +02:00
Brian Brazil
25289c5024 Merge pull request #284 from prometheus/sockstat-constmetrics
Convert sockstat collector to use ConstMetrics
2016-08-12 00:42:23 +01:00
Julius Volz
cef3d98256 Convert sockstat collector to use ConstMetrics
This suffers from the same concurrency bug as the netstat one:
https://github.com/prometheus/node_exporter/issues/280
2016-08-12 01:36:42 +02:00
Julius Volz
eac396c637 Convert meminfo collector to use ConstMetrics
This suffers from the same concurrency bug as the netstat one:
https://github.com/prometheus/node_exporter/issues/280
2016-08-12 01:30:15 +02:00
Julius Volz
f91bca427b Convert filefd collector to use ConstMetrics
This suffers from the same concurrency bug as the netstat one:
https://github.com/prometheus/node_exporter/issues/280
2016-08-12 01:26:25 +02:00
Julius Volz
9128952454 Fix end-to-end tests after netstat conversion 2016-08-12 01:09:20 +02:00
Julius Volz
8c5c880705 Convert netstat collector to use ConstMetrics
Fixes https://github.com/prometheus/node_exporter/issues/280
2016-08-12 00:34:00 +02:00
Thomas Frössman
32e3445d72 Fix mdstat tabs parsing 2016-08-06 14:08:11 +02:00
Daniel
c3eba340e3 Update e2e-output.txt 2016-07-09 15:36:52 +02:00
Daniel
87b3df90e6 Update diskstats 2016-07-09 15:23:31 +02:00
Daniel
a7a8d088da Ignore partitions on NVME devices by default
The convention of the linux driver is nvme($device)n($namespace)p($partition). On *bsd it seems to be different, using "ns" instead of "n" as the namespace separator.
2016-07-09 13:23:01 +02:00
Brian Brazil
f660b32f08 Merge pull request #267 from mgit-at/sockstat-rhe4
sockstat: add support for RHE4
2016-07-07 21:30:23 +01:00
Johannes 'fish' Ziemke
7e5aaa9e33 Use meminfo_freebsd on darwin as well 2016-07-06 12:12:16 +02:00
Johannes 'fish' Ziemke
4b04d04558 Enable *bsd collector on darwin 2016-07-06 10:24:20 +02:00
Michael Gebetsroither
4b820427dd sockstat: add support for RHE4 2016-07-05 23:24:54 +02:00
slene
dea279267a Close file handler in textfile 2016-06-30 00:06:51 +08:00
Karsten Weiss
69ba0e916b filefd_linux.go: Fix a typo. 2016-06-20 18:08:26 +02:00
Matthias Rampke
344fe2c4c5 Merge pull request #253 from prometheus/superq/md_raid0
Add support for raid0 devices in mdadm_linux collector.
2016-06-14 12:14:51 +02:00
Ben Kochie
8c809cd29a Add additional test for mdadm_linux collector 2016-06-11 08:54:39 +02:00
Ben Kochie
a09bbaacd1 Add support for raid0 devices in mdadm_linux collector. 2016-06-11 08:54:39 +02:00
Julius Volz
ffd96078e0 Merge pull request #241 from mrwacky42/ignore-fs-types
Add flag to ignore certain filesystem types (Copy of #217)
2016-06-06 17:31:29 -04:00
Sharif Nassar
f0630d5cbb Do not export the filesystem type pattern 2016-06-06 11:10:50 -07:00
Anton Tolchanov
fc3a7b7a97 Add NTP stratum to NTP collector 2016-06-03 13:25:30 +03:00
Chris Batey
387c64424b Use the offset calculation that includes round trip time in the ntp collector
Previously the raw time difference was used which includes the network trip time
between the node and the ntp server. This makes setting alerts off the value
troublesome as it depends on the latency as well as the clock offset.
2016-06-01 08:56:20 +01:00
Sharif Nassar
bf88b6ee0f Fix typos, and initialisms from comments in #217 2016-05-13 13:40:14 -07:00
Dominik Schulz
3fe5e7f8fa Add ignored fs types 2016-05-13 13:40:14 -07:00
Tobias Schmidt
3d81f25fdd Merge pull request #224 from giganteous/test-freebsd-netdev
Add a unit test for the conversion
2016-05-05 01:12:52 -04:00
Tobias Schmidt
6683a89f9e Merge pull request #226 from giganteous/fix-386-on-freebsd
Fix compilation on freebsd/386
2016-05-05 01:08:14 -04:00
Steve Durrheimer
60cbc9efc0
Make version informations consistent between prometheus components
This also fixes #231 by adding the '-version' flag
2016-05-04 08:43:33 +02:00
Julius Volz
c3b16c7b2e Remove lastlogin collector.
See also https://github.com/prometheus/node_exporter/issues/229
2016-04-24 18:30:15 +02:00
Kai Storbeck
53d0a7815b Add a unit test for the conversion 2016-04-21 23:45:34 +02:00
Matthias Schiffer
91ddafdb33 Add 'logind' exporter
logind provides a nice interface to find out about the numbers of sessions
on a system; it is used on most Linux distributions, even those which
aren't using systemd.

The exporter exposes the total number of sessions indexed by the following
attributes:

* seat
* type ("tty", "x11", ...)
* class ("user", "greeter", ...)
* remote ("true"/"false")
2016-04-20 17:28:12 +02:00
Kai Storbeck
dcfbf40dbf change caps of the constant 2016-04-20 00:22:47 +02:00
Kai Storbeck
365e688cec gofmt, a typo, and an unintended change crept in 2016-04-20 00:19:16 +02:00
Kai Storbeck
aac89c524e This should fix it. 2016-04-20 00:08:26 +02:00
Kai Storbeck
1122ce49c7 fix the uint conversion to strings 2016-04-16 14:39:55 +02:00
Christoph Hack
5d35401a41 systemd-collector: support private/direct connections without dbus 2016-03-29 16:19:47 +02:00
Christian Svensson
fff0298c68 Fix NTP server command line reference
--ntpServer is actually -collector.ntp.server
2016-02-20 22:04:49 +01:00
Christian Schwarz
1fc84e2fb6 Re-implement CPU metrics collection through sysctls.
This removes the requirement to run `node_exporter` as root or with read
access to `/dev/kmem` in order to get CPU usage statistics.

Once FreeBSD adds a macro for the `kern.cp_times` sysctl, the
`setupSysctlMIBs()` function should be replaced by usage of the macro.
2016-02-17 15:39:21 +01:00
Christian Schwarz
2ca6280b82 Fix compile error on FreeBSD
When compiling `20ecedd0b4c983bd7b88f97cd7a21461988a6c12` with GNU make (`gmake`) on FreeBSD 10.2-RELEASE, I get the following error:

```
collector/filesystem_bsd.go:60: non-bool mnt[i].f_flags & MNT_RDONLY (type C.uint64_t) used as if condition
Makefile.COMMON:85: recipe for target 'node_exporter' failed
gmake: *** [node_exporter] Error 2
```

This problem is fixed by this patch.
2016-02-17 15:39:21 +01:00
Carlos Amedee
8578a3281a fix a small typo in an error message. 2016-02-09 23:22:29 -05:00
Pavel Borzenkov
5a085dcaf5 meminfo_numa: fix crash on CentOS 6 kernel
It turns out, on some kernels (notably - CentOS6) there is an empty line
inserted at the beginning of /sys/devices/system/node/node*/meminfo
files.  The leads to node_exporter crash on such kernels.

Fix this by checking for empty string first.

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
2016-02-06 16:11:49 +03:00
Tobias Schmidt
e2163db0f7 Document os support of each collector 2016-01-21 19:36:58 -05:00
Tobias Schmidt
041de0e30c Fix go format style in filesystem collector 2016-01-21 16:20:32 -05:00
Tobias Schmidt
d1f0f2247d Merge pull request #165 from pborzenkov/ksmd-collector
Add new collector exposing 'ksmd' stats
2016-01-21 08:48:47 -05:00
Tobias Schmidt
4d07881b5b Merge pull request #162 from wrouesnel/read_only_flag
Add filesystem read-only metric.
2016-01-21 08:43:54 -05:00
Pavel Borzenkov
0e78ed63a6 Add new collector exposing 'ksmd' stats
Add new collector which exposes the content of /sys/kernel/mm/ksm
directory. This directory contains control and statistics files for
Kernel Samepage Merging daemon.

The collector is not enabled by default.

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
2016-01-21 13:43:22 +03:00
Tobias Schmidt
c47c011063 Fix go format style in mdadm collector 2016-01-21 00:44:07 -05:00
Tobias Schmidt
f6f4fda1aa Merge pull request #168 from pborzenkov/per-numa-meminfo
Add new per NUMA node memory statistics collector
2016-01-20 23:43:24 -05:00
afefelov
00e1db52bb Fix mdstat for devices in delayed resync state
In some raid configurations resync will be delayed for devices allocated
on the same physiclal units.

Fixes #170.
2016-01-20 23:35:39 -05:00
Juergen Hoetzel
4c909d4793 Disable compilation of vmstat on !Linux target OS 2016-01-19 17:43:02 +01:00
Juergen Hoetzel
e3437dc583 Fix build on 32-bit architectures 2016-01-19 17:21:47 +01:00
Pavel Borzenkov
21d473ffd4 Fix compilation without conntrack collector
Entry collector uses readUintFromFile() function which is defined by
conntrack collector. Thus, it is impossible to build node_exporter w/o
conntrack collector. Fix this by factoring out the function into
helper.go file.

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
2016-01-15 15:16:12 +03:00
Pavel Borzenkov
c12d8ea927 Add new per NUMA node memory statistics collector
It is sometimes useful to understand the distribution of free/occupied
memory between NUMA nodes to deal with performance problems. To do so,
add new meminfo_numa collector that enables exporting of per node
statistics along with unit and end-to-end tests for it.

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
2016-01-15 15:04:27 +03:00
Björn Rabenstein
fae388dcab Merge pull request #191 from erkki/fix_filefd
fix block nesting bug
2016-01-14 15:15:08 +01:00
Richard Hartmann
e8fdc4d160 collector/entropy_linux.go: Use canonical name for available entropy 2016-01-14 08:26:04 +01:00
Richard Hartmann
aee580d8d8 Introduce entropy collector for Linux 2016-01-13 18:29:52 +01:00
Erkki Eilonen
ff7106615e fix block nesting bug causing filefd values to never be updated post initial call 2016-01-13 21:09:01 +07:00
Florian Koch
5d5346af8a Add vmstat collector, enabled per default 2016-01-11 07:58:30 +01:00
Caskey L. Dickson
ab9ee574fb Build cleanly under windows.
Removes unused signal handlers left over from signal based collection
and block the non windows-relevant collectors loadavg and interrupts.

Signal based collection removed in 1c17481a42.
2016-01-07 17:59:16 -08:00
Juergen Hoetzel
e02d99ebff Fix compilation on FreeBSD. Refs #139
There is no interrupts_freebsd.go implementation yet.
2016-01-07 19:25:30 +01:00
Daniel Bechler
fc3931c924 Add build_info metric similar to the one of Prometheus itself 2016-01-06 23:54:33 +01:00
Peter Fern
09e610ad37 Calculate Linux disk bytes read/written based on sector size (512B)
Logical sector size appears to be fixed at 512B for the foreseeable
future in the kernel, so for now we just hard-code it.
2015-12-27 22:00:02 +11:00
Brian Brazil
a82b4c30cb Add linux conntrack collector. 2015-12-20 00:57:52 +00:00
Julius Volz
613f531280 Merge pull request #174 from audebert/systemd
collector: add systemd services status
2015-12-19 16:19:19 +01:00
Rémi Audebert
8628d60125 collector: systemd: collect whether the system is operational 2015-12-19 13:54:20 +01:00
Rémi Audebert
87ccaa39c9 collector: add systemd 2015-12-19 13:54:20 +01:00
Brian Brazil
2f0d697f8c Do a make format run. 2015-12-18 14:08:52 +00:00
Brian Brazil
7739fb4e12 Switch linux stat to using ConstMetric 2015-12-18 12:28:51 +00:00
Brian Brazil
6e20d89467 Merge pull request #169 from pborzenkov/ntp-fix-missing-arg
Add missing argument to fmt.Errorf function in 'ntp' collector
2015-11-13 15:13:02 +00:00
Pavel Borzenkov
d773360d12 Add missing argument to fmt.Errorf function in 'ntp' collector
Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
2015-11-13 18:09:11 +03:00
Pavel Borzenkov
d1789be33e Fix compilation on OS X
As OS X doesn't have it's own interrupts provider, don't build
interrupts_common on OS X as well. Otherwise build fails, because
interrupts_common depends on variables provided by platform-specific
files.

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
2015-11-12 18:17:32 +03:00
Will Rouesnel
05539ee156 Add filesystem read-only metric node_filesystem_readonly
This is a boolean metric which is set to 1 when the filesystem is flagged as
read-only.
2015-11-12 14:11:07 +11:00
Bruno Bigras
f74de8943b Fix flag name in textfile.go 2015-11-10 15:45:50 -05:00
Julius Volz
07b39499cd Fix protocol version setting in NTP collector.
The upstream library changed their interface - the global Version
variable is gone:

283ed9d548
2015-11-10 10:08:57 +01:00
Tobias Schmidt
b11cd9c7d4 Merge pull request #158 from mischief/interrupts-openbsd
collector: add openbsd support to interrupt collector
2015-11-06 22:26:09 -05:00