aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorJohannes 'fish' Ziemke <github@freigeist.org>2016-12-22 17:38:25 +0100
committerJohannes 'fish' Ziemke <github@freigeist.org>2017-01-03 14:03:23 +0100
commit3db2f442ae3abffed4fec28438b4883854601131 (patch)
tree80c6ae66b6500a1ed0a3bbecd795b1e8f9fc27e7 /CONTRIBUTING.md
parent269ee7a7b467e37d88621ac798d28284b1e28ae3 (diff)
downloadprometheus_node_collector-3db2f442ae3abffed4fec28438b4883854601131.tar.bz2
prometheus_node_collector-3db2f442ae3abffed4fec28438b4883854601131.tar.xz
prometheus_node_collector-3db2f442ae3abffed4fec28438b4883854601131.zip
Limit node-exporter scope, deprecated collectors
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 5705f0f..139a06c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -16,3 +16,26 @@ Prometheus uses GitHub to manage reviews of pull requests.
16 and the _Formatting and style_ section of Peter Bourgon's [Go: Best 16 and the _Formatting and style_ section of Peter Bourgon's [Go: Best
17 Practices for Production 17 Practices for Production
18 Environments](http://peter.bourgon.org/go-in-production/#formatting-and-style). 18 Environments](http://peter.bourgon.org/go-in-production/#formatting-and-style).
19
20
21## Collector Implementation Guidelines
22
23The Node Exporter is not a general monitoring agent. Its sole purpose is to
24expose machine metrics, as oppose to service metrics, with the only exception
25being the textfile collector.
26
27The metrics should not get transformed in a way that is hardware specific and
28would require maintaining any form of vendor based mappings or conditions. If
29for example a proc file contains the magic number 42 as some identifier, the
30Node Exporter should expose it as it is and not keep a mapping in code to make
31this human readable. Instead, the textfile collector can be used to add a static
32metric which can be joined with the metrics exposed by the exporter to get human
33readable identifier.
34
35A Collector may only read `/proc` or `/sys` files, use system calls or local
36sockets to retrieve metrics. It may not require root privileges. Running
37external commands is not allowed for performance and reliability reasons. Use a
38dedicated exporter instead or gather the metrics via the textfile collector.
39
40The Node Exporter tries to support the most common machine metrics. For more
41exotic metrics, use the textfile collector or a dedicated Exporter.