PageRenderTime 40ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/php/netflow/netflow2_debug.php

http://timoseven.googlecode.com/
PHP | 125 lines | 63 code | 60 blank | 2 comment | 1 complexity | aac0a2fd3aa9b894f517841988c858ee MD5 | raw file
Possible License(s): MIT, LGPL-2.1, MPL-2.0-no-copyleft-exception, GPL-3.0, AGPL-1.0
  1. <?
  2. $node["jn"]["jn"][0] = 0;
  3. $node["tc9"]["tc9"][0] = 0;
  4. $ip2node["10.31.10.0"] = "jn";
  5. $ip2node["10.11.128.0"] = "tc9";
  6. chdir("/opt/app/www/netflow");
  7. $dbh = mysql_connect('127.0.0.1:3306','root','');
  8. mysql_select_db('cdnlog',$dbh);
  9. $sumbyte = 0;
  10. $rbyte = 0;
  11. $tbyte = 0;
  12. $ip_list = array();
  13. $time = date("Y-m-d H:i:00",mktime()-60);
  14. $ts = strtotime($time);
  15. $ts += 60;
  16. // $dbh = mysql_connect('127.0.0.1:3306','root','');
  17. // mysql_select_db('cdnlog',$dbh);
  18. $query = "select * from netflow1 where time ='$time'";
  19. echo $query."\n";
  20. $result = mysql_query($query,$dbh);
  21. while($row = mysql_fetch_array($result))
  22. {
  23. $ip = $row[2];
  24. $ip1 = ip2long($ip) - ip2long($ip)%256;
  25. $ip2 = long2ip($ip1);
  26. $name = $ip2node[$ip2];
  27. $node[$name][$ip][1] = $row[3];
  28. $node[$name][$ip][2] = $row[4];
  29. }
  30. mysql_free_result($result);
  31. foreach( $site as $sitename => $svalue)
  32. {
  33. $rbyte = 0;
  34. $tbyte = 0;
  35. $tvalue = NULL;
  36. foreach($node[$svalue] as $ip => $tvalue)
  37. {
  38. $rbyte += $tvalue[1] * (1024 * 1024);
  39. $tbyte += $tvalue[2] * (1024 * 1024);
  40. $rx = $tvalue[1] * (1024 * 1024);
  41. $tx = $tvalue[2] * (1024 * 1024);
  42. $fname = "/opt/app/www/netflow/".$sitename"_".$ip.".rrd";
  43. if ( !file_exists($fname))
  44. {
  45. $cmd = "rrdtool create ".$sitename"_".$ip.".rrd -s 60 --start 1284602820 DS:in:GAUGE:600:0:2000000000 DS:out:GAUGE:600:0:3000000000 RRA:AVERAGE:0.5:1:576 RRA:AVERAGE:0.5:6:672 RRA:AVERAGE:0.5:24:732 RRA:AVERAGE:0.5:144:1460;";
  46. system($cmd);
  47. }
  48. $cmd = "rrdtool update /opt/app/www/netflow/".$sitename."_".$ip.".rrd -t in:out $ts:$rx:$tx";
  49. echo $cmd."\n";
  50. system($cmd);
  51. $cmd = 'rrdtool graph '.$sitename.'_'.$ip.'.png -t "traffic '.$sitename.'_'.$ip.' :: desc" --lazy -h 300 -w 800 -l 0 -u 2000000000 -a PNG -v bits/sec "DEF:in='.$sitename.'_'.$ip.'.rrd:in:AVERAGE" "DEF:out='.$sitename.'_'.$ip.'.rrd:out:AVERAGE" "CDEF:cdefb=out,0,*" "AREA:in#32CD32:Incoming" "LINE1:in#336600" "GPRINT:in:MAX: Max\\: %5.2lf %s" "GPRINT:in:AVERAGE: Avg\\: %5.2lf %S" "GPRINT:in:LAST: Current\\: %5.2lf %Sbits/sec\\n" "LINE1:out#4169E1:Outgoing" "LINE1:cdefb#0033CC" "GPRINT:out:MAX: Max\\: %5.2lf %S" "GPRINT:out:AVERAGE: Avg\\: %5.2lf %S" "GPRINT:out:LAST: Current\\: %5.2lf %Sbits/sec" "COMMENT:\\n"';
  52. echo $cmd."\n";
  53. system($cmd);
  54. }
  55. echo $svalue.":";
  56. echo "rx:".$rbyte."\n";
  57. echo "tx:".$tbyte."\n";
  58. $cmd = "rrdtool update /opt/app/www/netflow/".$svalue."_".$svalue.".rrd -t in:out $ts:$rbyte:$tbyte";
  59. echo $cmd."\n";
  60. system($cmd);
  61. $cmd = 'rrdtool graph '.$svalue.'_'.$svalue.'.png -t "traffic '.$svalue.' :: desc" --lazy -h 300 -w 800 -l 0 -u 3000000000 -a PNG -v bits/sec "DEF:in='.$svalue.'_'.$svalue.'.rrd:in:AVERAGE" "DEF:out='.$svalue.'_'.$svalue.'.rrd:out:AVERAGE" "CDEF:cdefb=out,0,*" "AREA:in#32CD32:Incoming" "LINE1:in#336600" "GPRINT:in:MAX: Max\\: %5.2lf %s" "GPRINT:in:AVERAGE: Avg\\: %5.2lf %S" "GPRINT:in:LAST: Current\\: %5.2lf %Sbits/sec\\n" "LINE1:out#4169E1:Outgoing" "LINE1:cdefb#0033CC" "GPRINT:out:MAX: Max\\: %5.2lf %S" "GPRINT:out:AVERAGE: Avg\\: %5.2lf %S" "GPRINT:out:LAST: Current\\: %5.2lf %Sbits/sec" "COMMENT:\\n"';
  62. echo $cmd."\n";
  63. system($cmd);
  64. }
  65. ?>