Quoting Willy Tarreau <w#1wt.eu>:
> 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".
>> >>root#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)
root#lobalix01:/etc# haproxy -vv
HA-Proxy version 1.3.12 2007/06/17
Copyright 2000-2007 Willy Tarreau <w#1wt.eu
> 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
root#lobalix01:/etc# cat /etc/haproxy.cfg global
log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 4096 user haproxy group haproxy stats fooabove socket /var/run/haproxy.above stats socket /var/run/haproxy.stat mode 600 stats foobelow socket /var/run/haproxy.below...
when I start
root#lobalix01:/etc# strace -o /tmp/haproxy-start.log haproxy -db -f
/etc/haproxy.cfg
no parsing error is shown, whereas the trace is as follows
root#lobalix01:/etc# cat /tmp/haproxy-start.log execve("/usr/sbin/haproxy", ["haproxy", "-db", "-f", "/etc/haproxy.cfg"], [/* 18 vars */]) = 0
brk(0) = 0x8072000 access("/etc/ld.so.nohwcap", F_OK) = 0mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f14000
close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = 0open("/usr/lib/libpcreposix.so.3", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\6\0"..., 512) = 512
close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = 0open("/usr/lib/libpcre.so.3", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\16"..., 512) = 512
close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = 0 open("/lib/libc.so.6", O_RDONLY) = 3read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260e\1"..., 512) = 512
close(3) = 0mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7dab000
brk(0) = 0x8072000 brk(0x8093000) = 0x8093000 open("/etc/localtime", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=2652, ...}) = 0fstat64(3, {st_mode=S_IFREG|0644, st_size=2652, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f13000
close(3) = 0 munmap(0xb7f13000, 4096) = 0 getpid() = 4334 uname({sys="Linux", node="lobalix01", ...}) = 0 open("/etc/haproxy.cfg", O_RDONLY) = 3fstat64(3, {st_mode=S_IFREG|0644, st_size=744, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f13000
read(3, "global\n log 127.0.0.1 l"..., 4096) = 744 socket(PF_FILE, SOCK_STREAM, 0) = 4fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = 0 send(4, "\2\0\0\0\v\0\0\0\7\0\0\0passwd\0", 19, MSG_NOSIGNAL) = 19 poll([{fd=4, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1
mmap2(NULL, 217016, PROT_READ, MAP_SHARED, 5, 0) = 0xb7d76000 close(5) = 0 close(4) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 4fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = 0 send(4, "\2\0\0\0\f\0\0\0\6\0\0\0group\0", 18, MSG_NOSIGNAL) = 18 poll([{fd=4, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1
mmap2(NULL, 217016, PROT_READ, MAP_SHARED, 5, 0) = 0xb7d41000 close(5) = 0 close(4) = 0 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb7f13000, 4096) = 0gettimeofday({1232582050, 648208}, NULL) = 0 mmap2(NULL, 200704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7d10000
rt_sigaction(SIGQUIT, {0x8049c40, [QUIT], SA_RESTART}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGUSR1, {0x8049f00, [USR1], SA_RESTART}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGHUP, {0x8049c60, [HUP], SA_RESTART}, {SIG_DFL}, 8) = 0socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3 fcntl64(3, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 bind(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("192.168.1.210")}, 16) = 0
listen(3, 2000) = 0 socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 4stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2652, ...}) = 0 sendto(4, "<141>Jan 22 00:54:10 haproxy[433"..., 56, MSG_DONTWAIT|MSG_NOSIGNAL, {sa_family=AF_INET, sin_port=htons(514), sin_addr=inet_addr("127.0.0.1")}, 16) = 56 sendto(4, "<133>Jan 22 00:54:10 haproxy[433"..., 56, MSG_DONTWAIT|MSG_NOSIGNAL, {sa_family=AF_INET, sin_port=htons(514),
sin_addr=inet_addr("127.0.0.1")}, 16) = 56 rt_sigaction(SIGTTOU, {0x8049ed0, [TTOU], SA_RESTART}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGTTIN, {0x8049eb0, [TTIN], SA_RESTART}, {SIG_DFL}, 8) = 0 setrlimit(RLIMIT_NOFILE, {rlim_cur=8205, rlim_max=8205}) = 0 setgid32(113) = 0 setuid32(105) = 0getrlimit(RLIMIT_NOFILE, {rlim_cur=8205, rlim_max=8205}) = 0 gettimeofday({1232582050, 660282}, NULL) = 0 select(4, [3], NULL, NULL, {1, 996926}) = 0 (Timeout) gettimeofday({1232582052, 659017}, NULL) = 0 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 5 fcntl64(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 setsockopt(5, SOL_TCP, TCP_NODELAY, [1], 4) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("192.168.1.123")}, 16) = -1 EINPROGRESS (Operation now in progress)
you thinking the version being the problem ? This is the version I get from ubuntus repositories ...
Martin
This archive was generated by hypermail 2.2.0 : 2009/01/22 01:15 CET