Commit Graph

66 Commits

Author SHA1 Message Date
Tobias Schmidt
211ddf33f1 Consolidate collector selection
Remove special tags necessary for gmond and runit collectors. All
collectors get built. Selection of which collectors to use continues to
happen via parameter.
2014-11-25 18:01:02 -05:00
Brian Brazil
96eaff8c7e Add an exporter for /proc/net/netstat, enabled by default.
This catches things like listen overflows, retransmits
and other things that are very useful for retroactive debugging
thus I think it's justified to have it on by default.
2014-11-11 16:54:08 +00:00
Brian Brazil
1c17481a42 Collect at every scrape, rather than at regular intervals.
Switch to Update using the Collecter Collect interface, due to not knowing all
metricnames in all modules beforehand we can't use Describe and thus the full
Collecter interface.

Remove 'updates', it's meaning varies by module and doesn't add much.
2014-10-29 17:00:36 +00:00
Johannes 'fish' Ziemke
2b3a112b54 Add time exporter
This simple exporter exposes the systems unix time. It's useful to
compare it to the prometheus server time and other targets to detect
clock skew.
2014-07-28 13:02:48 +02:00
Bjoern Rabenstein
0563ecd29d Migrated everything to new client_golang. 2014-06-26 19:20:36 +02:00
Brian Brazil
062443133e Add collector for /proc/stat, enabled by default.
This gives cpu stats, boot time, context switches, forks.
2014-06-06 10:37:16 +01:00
Brian Brazil
3f0814f13b Add filesystem collector module, to report space used etc. 2014-06-05 20:46:11 +01:00
Brian Brazil
cbb91fb332 Add option to print out available collectors.
Fix typo.
2014-06-04 14:09:33 +01:00
Brian Brazil
25ea90369c Split native collector into it's component parts and make them enablable.
Last login is disabled by default as it's broken on ubuntu 12.04
Interrupts is disabled by default as it's very granular and we'll have total interrupts from /proc/stat

Allow ignoring devices from diskstats, ignore ram and loop devices by default.

Use glog for logging.
2014-06-04 12:37:25 +01:00
Brian Brazil
bf39ec5bf1 Do an initial run of the collectors, so that you don't
have to wait 60s to see the first values.
2014-05-23 13:07:34 +01:00
Johannes 'fish' Ziemke
3a4aa70afb Make collector testable and add native test 2014-02-18 14:53:48 +01:00
Johannes 'fish' Ziemke
3ac5222f8b Move exporter to main and listen/interval to flags 2014-02-18 13:57:41 +01:00
Johannes 'fish' Ziemke
04380ae60a Add support for selecting collectors at buildtime
This works by using a global array with references to NewXCollector
functions. Each collector appends to that array in it's init() function.

Which file gets build depends on the build tags:

To build only the ganglia exporter, you can do:

    go build -tags nonative,ganglia

By default it will build only the native collector.
2014-02-12 11:16:53 +01:00
Johannes 'fish' Ziemke
26e294c1af Minor cleanup. 2013-05-14 15:45:38 +02:00
Johannes 'fish' Ziemke
588ef8b62a Refactor node_exporter to support collectors.
A collector is a type matching 'Collector' interface.

The following collectors where added:
- NativeCollector wrapping the original functionality (attributes, load)
- GmondCollector scraping ganglia's gmond (based on gmond_exporter)
- MuninCollector scraping munin (based on munin_exporter)
2013-05-14 15:27:24 +02:00
Johannes 'fish' Ziemke
a6e8bcb1c4 Exporter exposing load, last login and tag list.
The list of tags can be configured in a json config.
2013-05-06 12:32:42 +02:00