From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti Subject: Re: System monitoring Date: Sun, 29 Dec 2019 21:05:40 +0100 Message-ID: <87k16enbhn.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> References: <20191228170317.2zfdsoewk4cfkzyf@thebird.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:33447) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ileoy-0005Od-6Q for guix-devel@gnu.org; Sun, 29 Dec 2019 15:05:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ileow-0006Wh-0v for guix-devel@gnu.org; Sun, 29 Dec 2019 15:05:52 -0500 In-Reply-To: <20191228170317.2zfdsoewk4cfkzyf@thebird.nl> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Pjotr Prins , Guix Devel Cc: guix-sysadmin@gnu.org Hello everybody! Pjotr Prins writes: > I was looking to deploy Nagios on our servers, but I am discouraged by > its architecture. I would like something minimalistic that can run > anywhere (including small routers). > I think zabbix should work, but I've never used it. On the surface, it seems to have a steep learning curve, but this is just my impression. I manage a couple of personal servers and I wanted to do the same. My first approach was with julia, with the server (written using Mux.jl) that takes data (as JSON objects) from "clients" and saves it to the disk (and for warnings/error send it via matrix). Clients were simple programs, again written in julia, with a cron-like scheduler (Sched.jl) to run them at fixed time. So basically the idea was like yours. My main problem was with the data format. Since I wanted to store free disk space, cpu usage, temperature from multiple sensors, I was not sure on how to represent them in a nice way (and I never solved the problem, I had separate metrics on separate logs). > System monitoring has a number of important components, but they could > all be simple and written in guile: > > 1. a (small) monitoring daemon (say for monitoring a web end point, > temperature or disk space) > > These would be run by shepherd and submit events to a message queue > somewhere on the monitoring server (2) > > 2. queue handler > > The queue handler sits on the monitoring server and drops messages > into a database > > 3. notification handler(s) > > Reads the database and sends out alerts > > 4. curses and web-based monitors > > These tools just fetch data from the database and handle aggregation > > I envisage rather simple tooling.=20 > > I am raising this here to see if anyone has come up with similar or > partial solution(s). And to see who would be interested in such a > project. > It was nothing serious and julia is not available (or at least a pain to compile) on arm, so I agree that we can write things with guile. I'll have more spare time at the end of February, but I'm willed to help! As a side note, maybe we should check how prometheous+graphana work. I read some blog post were it seems they work quite well. > How do we monitor the Guix servers right now? > > Pj. Thanks! Nicol=C3=B2