$pxname, "scur" => $scur, "slim" => $slim, "status" => $status); break; case "BACKEND": $backends[] = array( "pxname" => $pxname, "scur" => $scur, "slim" => $slim, "status" => $status); break; default: $servers[] = array( "pxname" => $pxname, "svname" => $svname, "scur" => $scur, "status" => $status); } } $result['frontends'] = $frontends; $result['backends'] = $backends; $result['servers'] = $servers; return $result; } function haproxy_get_clients($show_traffic = false){// "show sess" $clients=array(); $sessions = haproxy_socket_command("show sess"); foreach($sessions as $line) { if (trim($line) == "") continue; list($sessid,$proto,$src,$fe,$be,$srv,$ts,$age,$calls,$rq,$rp,$s0,$s1,$exp) = explode(" ", $line); #Retrieve data $sessid = explode(":", $sessid); $src = explode("=", $src); $srcip = explode(":", $src[1]); $srcport = explode(":", $src[1]); $be = explode("=", $be); $srv = explode("=", $srv); $age = explode("=", $age); $calls = explode("=", $calls); $exp = explode("=", $exp); $clients[] = array( "sessid" => $sessid[0], "src" => $src[1], "srcip" => $srcip[0], "srcport" => $srcport[1], "be" => $be[1], "srv" => $srv[1], "age" => $age[1], "calls" => $calls[1], "exp" => $exp[1]); } if ($show_traffic) { foreach($clients as &$client) { $session_data = haproxy_socket_command("show sess {$client['sessid']}"); $client['session_data'] = $session_data; $req = explode(" ",$session_data[12]); $x = explode("=",$req[7]); $client['session_datareq'] = $x[1]; $res = explode(" ",$session_data[15]); $x = explode("=",$res[7]); $client['session_datares'] = $x[1]; } } return $clients; } ?>