Hi there, everybody!

I've got pmacctd installed and running, and it's working rather nicely for
what I need, except for two small issues;

Some background: I have some 'router' boxes, each with a LOT of IP
addresses. I'm using pmaccd and the mysql plugin on those machines to log
results into a central database that sits on a web server.

Yes, that's right, the MySQL database is on another machine from pmaccd. I
know this isn't the recommended setup, but (a) the machines are co-located
quite close together (70ms ping times) (b) the database traffic is very
low, (20-30 records per minute, I aggregate on subnet), and (c) I really
don't want to install MySQL on every router, for security, performance,
and maintenance reasons.

Generally it works very well. But this morning, after running perfectly
all night, pmacctd started dying with the following message:

INFO: connection lost to 'default-mysql'; closing connection.
INFO: no more plugins active. Shutting down.

This persisted for a while, on all the client machines, and then went
away. But I can just feel it waiting to happen again. I've tied messing
with the 'sql_multi_value' parmeter as suggested elsewhere, to no effect.

Is there a way to get the mysql plugin to automatically reconnect to the
server when this happens? I can't seem to find an option anywhere...

Second, I'm noticing that when the mysql plugin connects to the database,
it's not using the 'base' IP address of eth0, but rather one of the other
IP interfaces like "eth0:2031". Worse, it seems to bind to a semi-random
IP, and will occasionally switch between runs.

(Yes, these machines actually have hundreds, and even thousands of
addresses. It's their job.)

This creates major problems when you're using security to limit the IP
addresses allowed to connect to the MySQL server, as is standard practice.

I've tried setting the 'nfacctd_ip' parameter to the IP address of "eth0",
but it doesn't seem to affect the mysql plugin.

I could potentially solve both problems by (a) writing a 'keepalive'
script to restart the daemon when it dies, and (b) allowing huge ranges of
addresses to connect to the MySQL server, but I don't like kludges.

Any suggestions?


Oh look. One daemon just died again, after running fine for an hour. Grrrr.

-- 
Jeremy Lee BCompSci (Hons)
 The Unorthodox Engineers
  www.unorthodox.com.au


_______________________________________________
pmacct-discussion mailing list
http://www.pmacct.net/#mailinglists

Reply via email to