I am trying to collect statistics from a memcached
server using netcat
.
~ $nc 10.251.170.80 11211
stats
STAT pid 27508
STAT uptime 7940345
STAT time 1262949310
STAT version 1.2.4
STAT pointer_size 64
STAT rusage_user 1389.962693
STAT rusage_system 4857.247586
STAT curr_items 9154565
STAT total_items 615722800
STAT bytes 1994844049
STAT curr_connections 62
STAT total_connections 6263004
STAT connection_structures 148
STAT cmd_get 1925983531
STAT cmd_set 615722800
STAT get_hits 1334407705
STAT get_misses 591575826
STAT evictions 7125864
STAT bytes_read 454794886199
STAT bytes_written 176758890326
STAT limit_maxbytes 2147483648
STAT threads 4
END
I can't get my head around why
~ $echo stats | nc -vv 10.251.170.80 11211
Connection to 10.251.170.80 11211 port [tcp/*] succeeded!
~ $
just fails.
Is there a trick with nc not reading stdin properly ?
Something wrong with CR/LF ?
I've been trying every nc command-line options related to input (-C)
~ $echo $SHELL
/bin/bash
~ $bash --version
GNU bash, version 3.2.33(1)-release (i386-redhat-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
The system is fedora 9.
This works for me on debian using both nc.openbsd and nc.traditional:
your netcat appears to be closing the connection on EOF on stdin and not waiting for output.. you can try -q 1 or so..
I tend to use a line like the following:
This seems to hold the connection open long enough to get the reply.
No newline being sent?
What about trying: ~ $ echo -e 'stats\n' | nc -vv 10.251.170.80 11211
Hope this helps.
I got same issue with gearmand. The only @d5ve sleep solution works for me: