[470] in athena10
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?