From owner-svn-doc-head@freebsd.org Mon Jan 9 00:14:13 2017 Return-Path: Delivered-To: svn-doc-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DB743CA6DCC; Mon, 9 Jan 2017 00:14:13 +0000 (UTC) (envelope-from bjk@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B604611A0; Mon, 9 Jan 2017 00:14:13 +0000 (UTC) (envelope-from bjk@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v090ECmR063473; Mon, 9 Jan 2017 00:14:12 GMT (envelope-from bjk@FreeBSD.org) Received: (from bjk@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v090ECGl063472; Mon, 9 Jan 2017 00:14:12 GMT (envelope-from bjk@FreeBSD.org) Message-Id: <201701090014.v090ECGl063472@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bjk set sender to bjk@FreeBSD.org using -f From: Benjamin Kaduk Date: Mon, 9 Jan 2017 00:14:12 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r49807 - head/en_US.ISO8859-1/htdocs/news/status X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jan 2017 00:14:14 -0000 Author: bjk Date: Mon Jan 9 00:14:12 2017 New Revision: 49807 URL: https://svnweb.freebsd.org/changeset/doc/49807 Log: Add Prometheus entry from ed Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2016-10-2016-12.xml Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2016-10-2016-12.xml ============================================================================== --- head/en_US.ISO8859-1/htdocs/news/status/report-2016-10-2016-12.xml Sun Jan 8 23:49:54 2017 (r49806) +++ head/en_US.ISO8859-1/htdocs/news/status/report-2016-10-2016-12.xml Mon Jan 9 00:14:12 2017 (r49807) @@ -151,4 +151,81 @@ (NFS-as-a-service). + + + Sysctl Exporter for Prometheus + + + + + Ed + Schouten + + ed@FreeBSD.org + + + + + The Prometheus Project + Node Exporter + Sysctl Exporter + + + +

Prometheus is an Open Source monitoring system that was + originally built at SoundCloud in 2012. Since 2016, this project is + part of the Cloud Native Computing Foundation, together with other + projects like Kubernetes.

+ +

Prometheus scrapes its targets by periodically sending HTTP GET + requests. Targets then respond by sending key-value pairs of metrics + and their sample value. Prometheus has a query language, PromQL, + that can be used to aggregate sample values and specify alerting + conditions. Tools like Grafana can be used to create fancy + dashboards using such queries.

+ +

The Prometheus project provides a utility called the + node_exporter that gathers basic system metrics and serves them + over HTTP. This utility tends to be rather complex, as it has + to extract metrics from many different sources. On Linux, files + in /proc have no uniform format, meaning that for every + kernel framework a custom collector needs to be written.

+ +

On &os; the sitiuation is better, as the data exported + through sysctl is already structured in such a way that + it can easily be translated to Prometheus' metrics format. The + goal of this project is thus to provide a generic exporter for + the entire sysctl tree. Not only does this prevent unnecessary + bloat and indirection, it may also make the life of a kernel + developer a lot easier. One can easily use Prometheus to graph + the occurrence of an event over time by (temporarily) adding a + counter to the kernel.

+ +

An initial version of the sysctl exporter has been integrated + into the &os; base system in December. It can be run through + inetd by uncommenting the example provided in + inetd.conf. Unfortunately, this exporter cannot be + merged back to &os; 10.x/11.x, as it depends on KBI-breaking + changes to sysctl(9).

+ + + + Are you using Prometheus or are you interested in using + it? Be sure to give both Prometheus and this sysctl + exporter a try! + + It would be nice if we created a set of useful alerting + rules and placed those in /usr/share/examples. For example, how + can one use this exporter to monitor the state of GEOM-based + RAID arrays? Is such information even exported through + sysctl? + + Prometheus uses a pretty nifty format for exporting + histograms. Histograms are useful for expressing the amount of + time taken to complete certain events (for example, disk + operations). Would it be possible to add histograms as native + datatypes to sysctl? If so, is there any chance they can be + implemented without picking up any kernel locks? + +