#!/usr/bin/php * Date: 24.05.12 */ $host = getenv('host'); $port = getenv('port'); if (!$host) $host = '127.0.0.1'; if (!$port) $port = 9306; $sCommandSystem = "echo 'show status;' | mysql -h{$host} -P{$port} | grep connections | awk '{ print $2}';"; $sTmpFilePath = "/tmp/sphinx_connections"; if (isset($argc) && $argc > 1) { if ($argv[1] == 'autoconf') { echo "yes\n"; } if ($argv[1] == 'config') { echo "graph_title Sphinx Connections in last 5 minutes\n" . "graph_info This graph shows the number of connections for last 5 minutes\n" . "graph_category search\n" . "graph_args --base 1000 --lower-limit 0\n" . "graph_vlabel Connections\n" . "graph_info The number of current connections with respect to the max_connections setting.graph_category search\n" . "graph_order current\n" . "graph_total Total\n" . "current.label In Use\n" . "current.draw AREA\n" . "current.info The number of connections in last 5 minutes\n" . "current.warning 2500\n" . "current.critical 4000\n"; } exit(0); } $iCurrent = @exec($sCommandSystem); if (!file_exists($sTmpFilePath)) { $fp = fopen($sTmpFilePath, "w"); fputs($fp, $iCurrent); fclose($fp); $toShow = 0; } else { $iOldCount = file_get_contents($sTmpFilePath, true); $fp = fopen($sTmpFilePath, "w"); fputs($fp, $iCurrent); fclose($fp); $toShow = (int) ($iCurrent - (int) $iOldCount); if ($toShow < 0) { $toShow = 0; } } echo "current.value $toShow\n";