Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Ntop: Data Dump ( Решено )  (Прочитано 2195 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн La5erWind

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Ntop: Data Dump ( Решено )
« : 03 Июля 2008, 19:56:06 »
Здравствуйте!

Поставил ntop ( http://ntop.org ) работает отлично, в плане сбора статистики. Единственный недостаток, нету в комплекте, сохранения статистики в БД. Вместо этого есть Data Dump в разные форматы. Т.е. путем "cron-php-mysql" можно реализовать сбор статистики. Но, Data Dump просто не работает. Вместо страницы, отображает:

Цитировать
','Help','/ntophelp.html',null,null], ['','Report a Problem','/ntopProblemReport.html',null,null], [null,'FAQ','/faq.html',null,null], ['','Risk Flags','/help.html',null,null], ], [null,'Summary',null,null,null, [null,'Traffic','/trafficStats.html',null,null], [null,'Hosts','/hostsInfo.html',null,null], [null,'Network Load','/thptStats.html',null,null], [null,'ASN Info','/asList.html',null,null], [null,'Network Flows','/NetFlows.html',null,null], ], [null,'All Protocols',null,null,null, [null,'Traffic','/sortDataProtos.html',null,null], [null,'Throughput','/sortDataThpt.html',null,null], [null,'Activity','/dataHostTraffic.html',null,null], ], [null,'IP',null,null,null, [null,'Summary',null,null,null, [null,'Traffic','/sortDataIP.html',null,null], [null,'Multicast','/multicastStats.html',null,null], [null,'Internet Domain','/domainStats.html',null,null], [null,'Host Clusters','/hostClusters.html',null,null], [null,'Distribution','/ipProtoDistrib.html',null,null], ], [null,'Traffic Directions',null,null,null, [null,'Local to Local','/ipL2L.html',null,null], [null,'Local to Remote','/ipL2R.html',null,null], [null,'Remote to Local','/ipR2L.html',null,null], [null,'Remote to Remote','/ipR2R.html',null,null], ], [null,'Local',null,null,null, [null,'Ports Used','/ipProtoUsage.html',null,null], [null,'Active TCP/UDP Sessions','/NetNetstat.html',null,null], [null,'Host Fingerprint','/localHostsFingerprint.html',null,null], [null,'Host Characterization','/localHostsCharacterization.html',null,null], [null,'Network Traffic Map','/networkMap.html',null,null], [null,'Local Matrix','/ipTrafficMatrix.html',null,null], ], ], [null,'Media',null,null,null, [null,'Fibre Channel',null,null,null, [null,'Traffic','/fcData.html',null,null], [null,'Throughput','/fcThpt.html',null,null], [null,'Activity','/fcActivity.html',null,null], [null,'Hosts','/fcHostsInfo.html',null,null], [null,'Traffic Per Port','/fcShowStats.html',null,null], [null,'Sessions','/FcSessions.html',null,null], [null,'VSANs','/vsanList.html',null,null], [null,'VSAN Summary','/vsanDistrib.html',null,null], ], [null,'SCSI Sessions',null,null,null, [null,'Bytes','/ScsiBytes.html',null,null], [null,'Times','/ScsiTimes.html',null,null], [null,'Status','/ScsiStatus.html',null,null], [null,'Task Management','/ScsiTMInfo.html',null,null], ], ], [null,'Utils',null,null,null, [null,'Data Dump','/dump.html',null,null], [null,'View Log','/viewLog.html',null,null], ], [null,'Plugins',null,null,null, [null,'Host Last Seen',null,null,null, [null,'Activate','/showPlugins.html?LastSeen=1',null,null], [null,'Describe','/showPlugins.html?LastSeen',null,null], ], [null,'ICMP Watch',null,null,null, [null,'Activate','/showPlugins.html?icmpWatch=1',null,null], [null,'Describe','/showPlugins.html?icmpWatch',null,null], ], [null,'NetFlow',null,null,null, [null,'Activate','/showPlugins.html?NetFlow=1',null,null], [null,'Configure','/plugins/NetFlow',null,null], [null,'Describe','/showPlugins.html?NetFlow',null,null], [null,'Statistics','/plugins/NetFlow/statistics.html',null,null], ], [null,'PDA',null,null,null, [null,'Activate','/showPlugins.html?PDAPlugin=1',null,null], [null,'Describe','/showPlugins.html?PDAPlugin',null,null], ], [null,'Round-Robin Databases',null,null,null, [null,'Deactivate','/showPlugins.html?rrdPlugin=0',null,null], [null,'Configure','/plugins/rrdPlugin',null,null], [null,'Describe','/showPlugins.html?rrdPlugin',null,null], [null,'Statistics','/plugins/rrdPlugin/statistics.html',null,null], ['','Arbitrary Graphs','/plugins/rrdPlugin/arbgraph.html',null,null], ], [null,'sFlow',null,null,null, [null,'Activate','/showPlugins.html?sFlow=1',null,null], [null,'View/Configure','/plugins/sFlow',null,null], [null,'Describe','/showPlugins.html?sFlow',null,null], ], [null,'SNMP',null,null,null, [null,'Activate','/showPlugins.html?snmpPlugin=1',null,null], [null,'Configure','/plugins/snmpPlugin',null

При просмотре html страницы, она просто обрывается на менюхе.... что очень странно... В логах ничего не нашел, единственная зацепка, тут http://www.gossamer-threads.com/lists/ntop/users/18781 , но как я понял, они дальше чем я не продвинулись...

Возможно, кто-то уже боролся с такой проблемой, если да, подскажите как решить. Заранее благодарен любой инфе!
« Последнее редактирование: 15 Июля 2008, 17:49:23 от La5erWind »
Iam cool!

Оффлайн La5erWind

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Ntop: Data Dump
« Ответ #1 : 15 Июля 2008, 17:48:58 »
почему вылетает я так и не понял, но статистику можно вытянуть, вот так:

http://192.168.0.100:3000/dumpData.html?language=php&view=short
http://192.168.0.100:3000/dumpData.html?language=php&view=long

дальше

<?php

$dat
=date('m:d:y-U');
$startphp="<?php\n";
$endphp="?>
";

echo 'Preparing to download file<BR>';
$fp = fopen($dat, 'w');
fwrite($fp,$startphp,strlen($startphp));
fclose($fp);

$ch = curl_init("http://127.0.0.1:3000/dumpData.html?language=php&view=long");
$fp = fopen($dat, 'a');

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);

fclose($fp);   

$fp = fopen($dat, 'a');
fwrite($fp,$endphp,strlen($endphp));
fclose($fp);

echo 'Done downloading file<BR>';

include $dat;

// Start of using array

              $db = mysql_connect("127.0.0.1", "ntop", "ntop") or die("Error ... check with network team");
              mysql_select_db("ntop",$db);

foreach ($ntopHash as $key => $value) {

$addme = strpos($key,"192.168.7");
$data = array();

if ( $addme !== FALSE )
{

array_push($data,$key);
array_push($data,$ntopHash[$key]['hostSymIpAddress']);
array_push($data,$dat);
array_push($data,$ntopHash[$key]['ethAddressString']);
array_push($data,$ntopHash[$key]['firstSeen']);
array_push($data,$ntopHash[$key]['lastSeen']);
array_push($data,$ntopHash[$key]['averageRcvdThpt']);
array_push($data,$ntopHash[$key]['averageSentThpt']);
array_push($data,$ntopHash[$key]['averageTThpt']);
array_push($data,$ntopHash[$key]['icmpSent']);
array_push($data,$ntopHash[$key]['icmpRcvd']);
array_push($data,$ntopHash[$key]['IP']['FTP']['sendLoc']);
array_push($data,$ntopHash[$key]['IP']['FTP']['rcvdLoc']);
array_push($data,$ntopHash[$key]['IP']['FTP']['sentRem']);
array_push($data,$ntopHash[$key]['IP']['FTP']['rcvdFromRem']);
array_push($data,$ntopHash[$key]['IP']['HTTP']['sentLoc']);
array_push($data,$ntopHash[$key]['IP']['HTTP']['rcvdLoc']);
array_push($data,$ntopHash[$key]['IP']['HTTP']['sentRem']);
array_push($data,$ntopHash[$key]['IP']['HTTP']['rcvdFromRem']);
array_push($data,$ntopHash[$key]['IP']['DIFFHTTP']['sentLoc']);
array_push($data,$ntopHash[$key]['IP']['DIFFHTTP']['rcvdLoc']);
array_push($data,$ntopHash[$key]['IP']['DIFFHTTP']['sentRem']);
array_push($data,$ntopHash[$key]['IP']['DIFFHTTP']['rcvdFromRem']);
array_push($data,$ntopHash[$key]['IP']['DNS']['sentLoc']);
array_push($data,$ntopHash[$key]['IP']['DNS']['rcvdLoc']);
array_push($data,$ntopHash[$key]['IP']['DNS']['sentRem']);
array_push($data,$ntopHash[$key]['IP']['DNS']['rcvdFromRem']);
array_push($data,$ntopHash[$key]['IP']['Mail']['sentLoc']);
array_push($data,$ntopHash[$key]['IP']['Mail']['rcvdLoc']);
array_push($data,$ntopHash[$key]['IP']['Mail']['sentRem']);
array_push($data,$ntopHash[$key]['IP']['Mail']['rcvdFromRem']);
array_push($data,$ntopHash[$key]['IP']['DHCP-BOOTP']['sentLoc']);
array_push($data,$ntopHash[$key]['IP']['DHCP-BOOTP']['rcvdLoc']);
array_push($data,$ntopHash[$key]['IP']['DHCP-BOOTP']['sentRem']);
array_push($data,$ntopHash[$key]['IP']['DHCP-BOOTP']['rcvdFromRem']);
array_push($data,$ntopHash[$key]['IP']['SNMP']['sentLoc']);
array_push($data,$ntopHash[$key]['IP']['SNMP']['rcvdLoc']);
array_push($data,$ntopHash[$key]['IP']['SNMP']['sentRem']);
array_push($data,$ntopHash[$key]['IP']['SNMP']['rcvdFromRem']);
array_push($data,$ntopHash[$key]['IP']['NNTP']['sentLoc']);
array_push($data,$ntopHash[$key]['IP']['NNTP']['rcvdLoc']);
array_push($data,$ntopHash[$key]['IP']['NNTP']['sentRem']);
array_push($data,$ntopHash[$key]['IP']['NNTP']['rcvdFromRem']);
array_push($data,$ntopHash[$key]['IP']['SSH']['sentLoc']);
array_push($data,$ntopHash[$key]['IP']['SSH']['rcvdLoc']);
array_push($data,$ntopHash[$key]['IP']['SSH']['sentRem']);
array_push($data,$ntopHash[$key]['IP']['SSH']['rcvdFromRem']);
array_push($data,$ntopHash[$key]['IP']['Messenger']['sentLoc']);
array_push($data,$ntopHash[$key]['IP']['Messenger']['rcvdLoc']);
array_push($data,$ntopHash[$key]['IP']['Messenger']['sentRem']);
array_push($data,$ntopHash[$key]['IP']['Messenger']['rcvdFromRem']);


foreach ( $data as $key => $value ) {

$data_table = $data_table . '\'' . $value . '\',';

}

$data_table = substr($data_table,0,(strlen($data_table)-1));


$sql = "INSERT INTO ntop_daily VALUES ($data_table)";

$result = mysql_query($sql) or die("Error ..... check with network team " . mysql_error());

if ( $result === FALSE )
{
exec('/home/mis/email "NTOP Night Update FAILED" "The NTOP nightly update failed" \&/> /dev/null');
}
}
unset($data_table);
unset($data);

}

              mysql_close($db);
?>


и комент к скрипту

Цитировать
Hello,

I have a attached a php script which when run will connect to a ntop running on
127.0.0.1:3000, do a data dump and save the file using libcurl. The file will
tried to be saved ./month-day-year-timestamp (02:24:04-1077635664).

This is done for logging, then the file is "include"d in the php script so the
php variables are accessible.

It will then parse the data and try to insert it into a mysql db called ntop.
The table name is ntop_daily with a user name and password of ntop.

From the file you can see all the fields that I save data on. This was my first
real php script so you most likely could improve it.

I called the script by using curl:

cronjob:

/usr/bin/curl -k -s -s --digest -u username:password
https://mis.domain.com/uploads/ntopget.php

This way if you had multiple ntop servers you could pass it a IP as a variable.
Also a up now button would be possible. Anyways I hope someone could use this, I
find it handy to save stats based a day bases.

--
Michael Gale
Network Administrator
Utilitran Corporation
Iam cool!

 

Страница сгенерирована за 0.019 секунд. Запросов: 20.