stats socket problem

2009-01-21 Thread Martin Karbon

Hi
I am relatively new to this great software and I am having problems  
with the feature stats socket. it won't write the haproxy.stat file no  
matter what
I wanted to try to write some remote executable script that check the  
connection distribution every n seconds...

my configuration file is as follows
r...@balancix1:~# cat /etc/haproxy.cfg
global
log 127.0.0.1   syslog
log 127.0.0.1   kern notice
stats socket /var/run/haproxy.stat mode 600
user haproxy
group haproxy
maxconn 4096
defaults
log global
mode http
option httplog
option dontlognull
retries 3
redispatch
maxconn 2000
contimeout 5000
clitimeout 5
srvtimeout 5

listen ias 192.168.0.250:80
mode http
stats enable
balance roundrobin
option httpclose
server ias1 192.168.0.201:80 check
server ias2 192.168.0.202:80 check

what am I doing wrong? thanking you in advance

Martin


This message was sent using IMP, the Internet Messaging Program.




Re: stats socket problem

2009-01-21 Thread Willy Tarreau
Hi Martin,

On Wed, Jan 21, 2009 at 12:13:35PM +0100, Martin Karbon wrote:
 Hi
 I am relatively new to this great software and I am having problems  
 with the feature stats socket. it won't write the haproxy.stat file no  
 matter what. so I cannot run the socat.
 r...@lb1:~# echo show stat | socat unix-connect:/var/run/haproxy.stat 
 stdio
 2009/01/21 12:12:54 socat[4887] E connect(3, AF=1  
 /var/run/haproxy.stat, 23): No such file or directory
 I wanted to try to write some  script that checks the connection  
 distribution every n seconds (i.e.for a monitoring tool)... any advice  
 for this?

I see nothing wrong in your config. It's so simple! Could you check a
few things, such as if something already exists in /var/run, if you see
a symbolic link or anything like this which might explain such a strange
behaviour.

Also, it would be nice if you could start haproxy under strace :

# strace -o /tmp/haproxy-start.log haproxy -db -f /etc/haproxy.cfg

Then press Ctrl-C after a few seconds, and look for haproxy.stat
in the output file (or post the result here). I think we'll find
the reason there. There must be an error somewhere, or there is
something disabling the stats but I don't see what can do that.

Regards,
Willy




Re: stats socket problem

2009-01-21 Thread Willy Tarreau
On Wed, Jan 21, 2009 at 09:43:58PM +0100, Martin Karbon wrote:
 Quoting Willy Tarreau w...@1wt.eu:
 
 Hi Willy, thanks for the fast reply
 Hi Martin,
 
 On Wed, Jan 21, 2009 at 12:13:35PM +0100, Martin Karbon wrote:
 Hi
 I am relatively new to this great software and I am having problems
 with the feature stats socket. it won't write the haproxy.stat file no
 matter what. so I cannot run the socat.
 r...@lb1:~# echo show stat | socat unix-connect:/var/run/haproxy.stat
 stdio
 2009/01/21 12:12:54 socat[4887] E connect(3, AF=1
 /var/run/haproxy.stat, 23): No such file or directory
 I wanted to try to write some  script that checks the connection
 distribution every n seconds (i.e.for a monitoring tool)... any advice
 for this?
 
 I see nothing wrong in your config. It's so simple! Could you check a
 few things, such as if something already exists in /var/run, if you see
 a symbolic link or anything like this which might explain such a strange
 behaviour.
 
 As far as I can see no symbolic link in here...just pid files and some dirs
 
 Also, it would be nice if you could start haproxy under strace :
 
 # strace -o /tmp/haproxy-start.log haproxy -db -f /etc/haproxy.cfg
 
 Then press Ctrl-C after a few seconds, and look for haproxy.stat
 in the output file (or post the result here). I think we'll find
 the reason there. There must be an error somewhere, or there is
 something disabling the stats but I don't see what can do that.
 
 Regards,
 Willy
 
 here is the output of the strace (note: this is a virtual machine I  
 have at home, same installation as the original one)

(...)

now that's rather intriguing. There's no trace of the socket at all.
Just as if the stats line was ignored.

What version of haproxy do you have ? (haproxy -vv)
Could you add an error on the stats line (insert foobar before
socket) so that you can verify haproxy complains ? If it does
not complain, could you retype the line or at least add one line
with stats foobar in order to get the parsing error ?

I'm realizing that I generally add the stats socket line
approximately as the last line of the global section. While
it would appear stupid to me, could you please move this line
at the end of the section ? Maybe there's a long standing bug
caused by another parameter clearing this one (but once again,
I'd find that a bit strange).

I prefer easily reproducible errors like this one to non-
deterministic ones !

Regards,
Willy