Commit Graph

44 Commits

Author SHA1 Message Date
Julius Volz
072ddabf62 Fix /proc/net/dev column parsing.
This fixes https://github.com/prometheus/node_exporter/issues/73
2015-05-21 01:01:15 +02:00
Matthias Rampke
2ee8470004 remove cgo dependency
by hardcoding `USER_HZ` (aka. `_SC_CLK_TCK`) to 100, which it is for all
platforms Go supports. See prometheus/node_exporter#52 for discussion around this too.

Closes prometheus/node_exporter#52.
2015-05-12 14:24:48 +00:00
Matthias Rampke
37c7e5e60f Add IPVS stats collector.
This collector exposes IPVS status from `/proc/net/ip_vs` and stats from
`/proc/net/ip_vs_stats`.

Note that it is _not_ tested with IPv6, YMMV.
2015-05-08 14:02:47 +00:00
Julius Volz
3ab0b1f915 Merge pull request #56 from kjmkznr/add-tcp-stat-collector
Add TCP state collector
2015-03-24 12:50:26 +01:00
KOJIMA Kazunori
e4da771b21 Add collector for /proc/net/tcp 2015-03-24 20:34:48 +09:00
Benjamin Staffin
df7ba0af85 Switch protobuf import to its new github URL 2015-03-22 12:25:07 -07:00
Julius Volz
efcce45c90 Make collector-specific flags consistent with others.
This puts all collector-specific flags into their own namespace under
"collector.<collector-name>", and moves from camel case to dashes, which
is the standard in Prometheus land now.
2015-02-18 18:42:39 +01:00
Stephen Shirley
54da76f575 Match fd0, not fda0
Add fd/sr/vda examples to test input
2015-02-18 17:10:28 +01:00
Stephen Shirley
686a0c768c Fix typo, match fd0, not fdd0 2015-02-18 16:09:41 +01:00
Stephen Shirley
72404d9ed1 Ignore floppy disk devices, due to it being 2015 2015-02-18 16:04:53 +01:00
Stephen Shirley
0c7d45cc5d Also ignore vda1 and friends 2015-02-18 15:44:30 +01:00
Daniel Speichert
1763908013 Fixed panic when parsing /proc/stat on 2.6.32-25-pve
Fixes issue described in #38
/proc/stat reports a blank line which needs to be ignored.
Old kernels misses one CPU time field, this needs to be ignored too.
2015-02-07 06:36:36 +01:00
Brian Brazil
352cde6d20 Add text file exporter
This allows static metrics (e.g. an attributes collector replacement),
and cronjobs to expose stats by echoing into a file.

For example:

echo "my_metric 123" > mycronjob.prom.$$
mv mycronjob.prom.$$ mycronjob.prom
2015-01-25 16:25:25 +00:00
Tobias Schmidt
0aacec2335 Fix ganglia namespace
Remove double underscore usage.
2014-11-26 18:15:02 -05:00
Tobias Schmidt
74971c46ba Consolidate build flags
The build of any collector can be deactivated by using "no<name>".
2014-11-25 18:01:02 -05:00
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
Tobias Schmidt
872f921867 Reduce number of global variables used
This is the first step to make the exporter more testable.
2014-11-24 21:08:50 -05:00
Tobias Schmidt
974f6fc762 Fix tests 2014-11-24 18:34: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
9f6fc576df Look for slave_ and lower_ prefixed device in proc
Looks like on newer kernels this is prefixed lower_ not slave_.
2014-10-03 14:29:38 +02:00
Johannes 'fish' Ziemke
0bf0f67503 Add network bonding collector
This collector exposes two metrics:

- net_bonding_slaves: configured slaves per bonding interface
- net_bonding_slaves_active: currently active slaves per bonding
  interface
2014-08-14 15:45:17 +02:00
Johannes 'fish' Ziemke
b03ff7cb9b Fix format string in test 2014-08-13 13:36:16 +02: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
Johannes 'fish' Ziemke
32724a10b0 Add NTP exporter
This exporter gets the time from a NTP server and exposes the offset
between the remote and local system time.
2014-07-28 13:02:46 +02:00
Johannes 'fish' Ziemke
053db59122 Change metric prefix from raid to megacli 2014-07-09 18:47:17 +02:00
Johannes 'fish' Ziemke
50c66918d8 Merge pull request #18 from prometheus/add-megaraid-metrics
Add MegaCLI collector
2014-07-09 14:56:52 +02:00
Johannes 'fish' Ziemke
f47abc5d06 Add MegaCLI collector
This collector exports the following metrics:

- raid_drive_temperature: drive temperature
- raid_drive_count: drive error and event counters
- raid_adapter_disk_presence: disk presence per adapter
2014-07-09 14:56:06 +02:00
Johannes 'fish' Ziemke
7cb4c0edb6 Fix tests 2014-07-04 18:44:51 +02:00
Bjoern Rabenstein
28468bebae Now also migrate gmond and runit. 2014-06-26 21:16:21 +02:00
Bjoern Rabenstein
0563ecd29d Migrated everything to new client_golang. 2014-06-26 19:20:36 +02:00
Brian Brazil
c0f10e3a6d Update comment format. 2014-06-06 11:38:34 +01:00
Brian Brazil
09a3de1669 Changes per code review. 2014-06-06 10:53:40 +01: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
b98ac0b050 Also ignore xvda1, as seen on AWS 2014-06-05 14:23:13 +01:00
Brian Brazil
f9c6e4ca52 Ignore disk partitions by default, it's the disks themselves you usually want. 2014-06-05 11:44:44 +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
964cdbfcc9 Trim down a bit per feedback. 2014-05-23 15:53:31 +01:00
Brian Brazil
ffc811b337 Expand docs per code review. 2014-05-23 15:38:44 +01:00
Brian Brazil
6cdaf0e969 Change stats to follow name guidelines.
Diskstats: Split out metrics, keep 'device' label
Meminfo: Split out metrics, one each. Convert kB to bytes.
Netstats: Split out metrics, keep 'device' label.
Interrupts: Stays the same. Not perfect, but should be rarely used.
Loadavg: Make it clear it's the 1m loadavg
Last seen: Not clear this belongs in the node exporter, as it's more a user
  thing than a machine thing. Changed to absolute time rather than relative.

All stats now have appropriate counter/gauge type.
2014-05-23 14:41:43 +01:00
Julius Volz
a22036788a Prefix Ganglia metrics with "ganglia_".
The gmond (Ganglia) exporter module exports many metrics not under our
control. They should all be prefixed in a common way to make it obvious
where they came from.

Fixes https://github.com/prometheus/node_exporter/issues/8
2014-04-10 12:34:39 +02: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