Commit graph

1094 commits

Author SHA1 Message Date
Johannes 'fish' Ziemke a6a8ec3c1c Remove travis build badge
Signed-off-by: Johannes 'fish' Ziemke <github@freigeist.org>
2018-05-30 19:16:18 +02:00
Matt Bostock 516e5d4beb Add metric for outdated libraries (#957)
Add metrics that count how many running processes are linking to deleted
libraries on each machine. Deleted libraries are usually outdated
libraries, and outdated libraries may have known security
vulnerabilities.

The rationale behind storing these as metrics is allow the rollout of
security fixes to be tracked across a fleet of machines, ensuring that
all affected processes are restarted (e.g. via a reboot).

I'm parsing the output from `/proc/*/maps` because it's using `lsof -d
DEL` can be too slow, particularly if you have sockets that bind to
thousands of IP addresses.

The metric labels include the library path and the base filename, which
allows us to pinpoint the exact path of the deleted library but also
allows us to aggregate on the library name (or approximations of it)
even if library locations differ between operating system versions.

The metrics output and the CPU time consumed is as follows:

    user@host:~$ time sudo python processes.py
    # HELP node_processes_linking_deleted_libraries Count of running processes that link a deleted library
    # TYPE node_processes_linking_deleted_libraries gauge
    node_processes_linking_deleted_libraries{library_path="locale-archive", library_name="/usr/lib/locale"} 3
    node_processes_linking_deleted_libraries{library_path="libevent-2.0.so.5.1.9", library_name="/usr/lib/x86_64-linux-gnu"} 4

    real        0m0.071s
    user        0m0.030s
    sys 0m0.041s

Including the library filename and path will result in reasonably high
metrics cardinality, however I think the benefits when an urgent
security patch is being deployed outweigh concerns around cardinality.

This script assumes that library files do not contain spaces in their
path.

Signed-off-by: Matt Bostock <mbostock@cloudflare.com>
2018-05-25 18:20:42 +02:00
Ivan Voronchihin 606568314b Add Makefile.common (#940)
* Add Makefile.common

Signed-off-by: bege13mot <bege13mot@gmail.com>

* Change Makefile.common to initial Prometheus common

Signed-off-by: bege13mot <bege13mot@gmail.com>

* fix checkmetrics

Signed-off-by: bege13mot <bege13mot@gmail.com>

* fix promu

Signed-off-by: bege13mot <bege13mot@gmail.com>

* Add test to common

Signed-off-by: bege13mot <bege13mot@gmail.com>

* Fix GOPATH

Signed-off-by: bege13mot <bege13mot@gmail.com>

* Initial Makefile.common

Signed-off-by: bege13mot <bege13mot@gmail.com>

* original Makefile.common

Signed-off-by: bege13mot <bege13mot@gmail.com>

* delete promu

Signed-off-by: bege13mot <bege13mot@gmail.com>

* delete redundant .PRONY params

Signed-off-by: bege13mot <bege13mot@gmail.com>
2018-05-24 23:31:48 +02:00
Ben Kochie 04d69158b4
Merge pull request #949 from szeestraten/patch-1
Fix metric name in directory size text collector example
2018-05-19 23:53:32 +02:00
Sandor Zeestraten 578d814744 Fix metric name in directory size text collector example
The directory size text collector example uses the wrong metric name in the HELP and TYPE lines rendering the comments unusable.

This fixes that by using the same metric name.

Signed-off-by: Sandor Zeestraten <sandor@zeestrataca.com>
2018-05-19 21:11:46 +02:00
Ben Kochie 699b6d7f15
Merge pull request #948 from prometheus/superq/rules
Update example rules
2018-05-18 08:57:31 +02:00
Ben Kochie ec28a8e9d4
Fix cpu utilization rule.
Signed-off-by: Ben Kochie <superq@gmail.com>
2018-05-17 18:15:07 +02:00
Ben Kochie eb3f922c50
Update naming.
Signed-off-by: Ben Kochie <superq@gmail.com>
2018-05-17 17:52:07 +02:00
Ben Kochie f00f3db08b
Add a CPU in-use recording example.
Signed-off-by: Ben Kochie <superq@gmail.com>
2018-05-17 17:49:07 +02:00
Ben Kochie 628b2db5bc
Update example rules
* Remove Prometheus 1.x example file.
* Update CPU rules for 0.16.0.

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-05-17 17:44:39 +02:00
Ben Kochie b8918c7d32
Merge pull request #947 from nicholascapo/add_v16_MemAvailable_rule
docs: Add example recording rule for node_memory_MemAvailable
2018-05-17 08:11:42 +02:00
Nicholas Capo 09d11817d0 docs: Add example recording rule for node_memory_MemAvailable
Signed-off-by: Nicholas Capo <nicholas.capo@gmail.com>
2018-05-16 17:01:51 -05:00
Ben Kochie d42bd70f43
Merge pull request #939 from prometheus/superq/0.16
Release 0.16.0
2018-05-15 17:49:24 +02:00
Ben Kochie 1882a08041 Release 0.16.0
Changes since 0.16.0-rc.3

* [CHANGE] align Darwin disk stat names with Linux #930

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-05-15 16:16:05 +02:00
Ben Kochie e48b0e9c6a
Merge pull request #942 from prometheus/superq/0.16-doc
Document upgrade options for v0.16.0
2018-05-15 16:13:40 +02:00
Alexey Kopytov dd98a09bb2 A couple of ARM64-related fixes (#934)
* Do not rely on AArch64 CPUs to support 32-bit ARM for cross-testing.

Signed-off-by: Alexey Kopytov <akopytov@gmail.com>

* aarch64 like ppc64le reports 64k node_sockstat_TCP_mem_bytes due to 64k pages.

Signed-off-by: Alexey Kopytov <akopytov@gmail.com>
2018-05-14 15:55:49 +02:00
Ben Kochie c5a74ce1a1
Add label mangling.
Signed-off-by: Ben Kochie <superq@gmail.com>
2018-05-14 12:24:05 +02:00
Ben Kochie dc1972e9e3
Document upgrade options for v0.16.0
* Add an upgrade guide.
* Add an example recording rules.

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-05-11 13:45:36 +02:00
Steve Kotsopoulos 84dc362b05 Align Darwin disk stat names with Linux (#930)
Signed-off-by: Steve Kotsopoulos <sk@fywss.com>
2018-05-02 11:32:55 +02:00
Mario Trangoni 24a28fcc9e Remove unused func, var, and const (#928)
Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>
2018-04-29 14:35:43 +02:00
Mario Trangoni c9f421d0dd Fix some golint issues (#927)
* collector/cpu_*: rename nodeCpuSecondsDesc to nodeCPUSecondsDesc

Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>

* collector/qdisc_linux.go: add NewQdiscStatCollector comment

Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>

* collector/cpu_linux.go: rename core_map to coreMap

Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>
2018-04-29 14:34:47 +02:00
Ben Kochie 7073dcdcb5
Fix 0.16.0-rc.3 release date. 2018-04-27 17:50:15 +02:00
Ben Kochie 575d8950d3
Merge pull request #925 from prometheus/superq/rc.3
Release v0.16.0-rc.3
2018-04-27 17:46:44 +02:00
Ben Kochie 11b60ac32f
Release v0.16.0-rc.3
Chaneges since v0.16.0-rc.2
* Remove gmond collector #852
* Build with Go 1.9[0]
* Fix /proc/net/dev/ interface name handling #910

[0]: https://github.com/prometheus/node_exporter/issues/870

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-04-27 16:50:48 +02:00
Ben Kochie 361b5bf85d
Merge pull request #852 from prometheus/remove-gmond
Remove gmond collector
2018-04-27 10:02:16 +02:00
Ben Kochie bab8445f8c
Merge pull request #922 from prometheus/superq/go_1.9
Use Go 1.9 for build.
2018-04-27 10:01:38 +02:00
Ben Kochie 315ec8d3bf
Use Go 1.9 for build.
Workaround CGO bugs in 1.10.1.

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-04-24 16:22:35 +02:00
Ben Kochie 75561cb1fc
Merge pull request #910 from prometheus/superq/netdev_dot
Fix /proc/net/dev/ interface name handling
2018-04-18 13:50:30 +02:00
Ben Kochie b10ca77680
Fix /proc/net/dev/ interface name handling
* Allow any character (UTF-8) for Linux interface names.

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-04-18 12:53:59 +02:00
Ben Kochie 661427f2c1
Merge pull request #907 from prometheus/superq/ppc_e2e
Update ppc64le end-to-end fixture.
2018-04-18 12:33:30 +02:00
Ben Kochie 1ab4a460c7 Update ppc64le end-to-end fixture.
Signed-off-by: Ben Kochie <superq@gmail.com>
2018-04-18 09:12:21 +02:00
Johannes 'fish' Ziemke fd66a86a30 Remove gmond collector
Signed-off-by: Johannes 'fish' Ziemke <github@freigeist.org>
2018-04-17 20:20:24 +02:00
Ben Kochie 7cbfa884a7
Merge pull request #905 from prometheus/superq/v0.16.0-rc.2
Release v0.16.0-rc.2
2018-04-17 16:04:14 +02:00
Ben Kochie 4a0fafcf06
Release v0.16.0-rc.2
* Update CHANGELOG.
* Bump VERSION.

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-04-17 14:21:59 +02:00
Ben Kochie 0f5be132ac
Merge pull request #904 from prometheus/superq/if_alias
Fix parsing of interface aliases in netdev linux
2018-04-17 13:37:21 +02:00
Ben Kochie a528966dcd Fix parsing of interface aliases in netdev linux
Very old kernels expose interface aliases as `foo0:0`, adjust the line
parsing to handle these names.

Signed-off-by: Ben Kochie <superq@gmail.com>
2018-04-17 13:15:02 +02:00
Ben Kochie f6008b242b
Merge pull request #901 from mischief/bsd_boottime
collector: implement node_boot_time_seconds for OpenBSD/NetBSD/Darwin
2018-04-17 07:48:39 +02:00
Ben Kochie 768be139be
Merge pull request #884 from prometheus/fish-add-dco-contributing
Document DCO in CONTRIBUTING.md
2018-04-16 12:59:14 +02:00
Johannes 'fish' Ziemke 66d81119ea Document DCO in CONTRIBUTING.md
This closes #879

Signed-off-by: Johannes 'fish' Ziemke <github@freigeist.org>
2018-04-16 12:51:12 +02:00
Jürgen Hötzel de0632c2e9 Fix memory corruption when number of filesystems > 16 (#900)
Signed-off-by: Juergen Hoetzel <juergen@archlinux.org>
2018-04-16 12:39:15 +02:00
mischief 693eb82139 update README.md and CHANGELOG.md to reflect new bsd boottime collector
Signed-off-by: mischief <mischief@offblast.org>
2018-04-15 08:38:47 +00:00
mischief 26a385d7ab collector: implement node_boot_time_seconds for OpenBSD/NetBSD/Darwin
Signed-off-by: mischief <mischief@offblast.org>
2018-04-15 08:26:46 +00:00
Ben Kochie 6025dc207d
Merge pull request #898 from prometheus/superq/fmt
Fix formatting.
2018-04-15 08:13:20 +02:00
Ben Kochie 015b86670a
Update ppc64le e2e output.
Signed-off-by: Ben Kochie <superq@gmail.com>
2018-04-14 15:28:06 +02:00
Ben Kochie 0507b0c9a2
Fix formatting.
Signed-off-by: Ben Kochie <superq@gmail.com>
2018-04-14 15:02:20 +02:00
Ben Kochie 4c863f3b5d
Merge pull request #894 from prometheus/superq/ttar_cleanup
Cleanup sys fixtures before unpacking
2018-04-14 15:00:39 +02:00
Dmitriy Lukyanchikov eddd1b9357 Fix netdev collector for linux (#890)
fix variable name, fix transmitHeader extracting
modify fixtures to run tests with updated netdev_linux collector

Signed-off-by: dmitriy-lukyanchikov <d.lukyanchikov@anchorfree.com>
2018-04-14 13:58:56 +02:00
Ben Kochie 4a94ed180c
Merge pull request #896 from derekmarcotte/dm-ppc64-fixtures
Update ppc64 fixtures to unbreak end-to-end.
2018-04-13 17:28:02 +02:00
Derek Marcotte fe86e908da Update ppc64 fixtures to unbreak end-to-end.
efc1fdb added new labels.

Signed-off-by: Derek Marcotte <554b8425@razorfever.net>
2018-04-13 06:33:38 -04:00
Ben Kochie b675a7c0a9
Merge pull request #891 from prometheus/grobie/fix-tests
Fix code style check in "all" make target
2018-04-11 12:35:35 +02:00