[470] in athena10

home help back first fref pref prev next nref lref last post

counterlog design discussion

daemon@ATHENA.MIT.EDU (ghudson@MIT.EDU)
Wed Aug 27 12:38:25 2008

Date: Wed, 27 Aug 2008 12:37:41 -0400 (EDT)
From: ghudson@MIT.EDU
Message-Id: <200808271637.m7RGbfZK017153@outgoing.mit.edu>
To: athena10@mit.edu

In Athena 9.4 we have a little script called counterlog which phones
home (via syslog) with the machine type, version, and a machine
identifier which survives reinstalls and IP address changes.  We use
it to get counts of the number of distinct Athena machines which have
been active over the last month.

I'd like to implement something similar for Athena 10.  The counts
SIPB gets from debathena.mit.edu are decent but I believe they're
distorted by machines using DHCP on different networks.

I don't think there's a privacy issue since machines are already
phoning home for package updates.

Two concerns:

  1. I'd like to put this in debathena-clients.  Unless we fork
     debathena-clients, that means it would eventually show up in SIPB
     Debathena as well.  The options are:

     (a) SIPB gets counterlog data too (see next point for a
     discussion of the mechanism).

     (b) The counterlog package conditionalizes on the contents of
     sources.list, and does nothing on SIPB Debathena machines.

     (c) SIPB installs a placeholder counterlog package.

     (d) We fork debathena-clients.  (I'd rather not do this.)

  2. Phoning home via syslogging requires a syslog configuration with
     central logging, which I don't think we want to put into
     -clients.  So I'm in the market for a lightweight way to phone
     home with a machine identifier.  Doesn't have to be particularly
     reliably.  The options I can think of are:

     * Use nc to transmit a network syslog packet to wslogger.  I
       don't know how hard this is since I'm not sure what network
       protocol syslog uses.  It might be harder to implement (1a)
       this way since SIPB doesn't run a logging server.

     * Use wget or curl to post the data to a URL on the apt server
       (athena10.mit.edu or debathena.mit.edu as found in
       sources.list), and have a CGI script record it.  Adds a little
       complexity to the web server setup but shouldn't be too bad.

Opinions?  Other ideas?

home help back first fref pref prev next nref lref last post