Witam
Potrzebuje statystyk które będa pokazywały ilośc ściągniętych danych i wysłanych.
Użyłem czegoś takiego:
Cytuj:
Opiszę tutaj sposób zliczania ilości danych ściąganych z Internetu przez każdego użytkownika sieci LAN. Jak to wygląda można zobaczyć tutaj. Oczywiście istnieją odpowiednie programy, takie jak np. MRTG, LSTAT, ale zastosowane przeze mnie rozwiązanie nie wiąże się z koniecznością instalowania dodatkowych programów. Wykorzystuje iptables, crona, skrypt perla oraz apacha z php do wyświetlania wyników. Skrypty znajdują się tutaj.
Instalację rozpoczynamy od utworzenia reguł iptables służących do zliczania ilości danych z i do Internetu.
iptables -t mangle -D FORWARD -i eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -D FORWARD -o eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -F STAT >/dev/null 2>&1
iptables -t mangle -X STAT >/dev/null 2>&1
iptables -t mangle -N STAT
iptables -t mangle -I FORWARD -o eth1 -j STAT
iptables -t mangle -I FORWARD -i eth1 -j STAT
# i dla każdego komputera po dwie reguły
iptables -t mangle -A STAT -d xxx.xxx.xxx.xxx
iptables -t mangle -A STAT -s xxx.xxx.xxx.xxx
Zapisem danych do plików tekstowych (które będą odczytywane przez skrypt php) zajmuje się stat.pl. Edytujemy go w celu ustawienia ścieżki do perla oraz trzech zmiennych. $patch określa katalog, w którym będą przechowywane pliki z danymi, $ipt to lokalizacja programu iptables, natomiast przy pomocy zmiennej $hosts_names określamy, czy będziemy identyfikować komputery po nazwie, czy po adresie IP.
my $path = '.' # katalog musi istnieć
my $ipt = '/usr/local/bin/iptables'
my $hosts_names = 1
UWAGA: Dla przyspieszenia działania skryptu z włączoną opcją $hosts_names należy wpisać wszystkie hosty do /etc/hosts.
Następnie umieszczamy go w dowolnym katalogu i wpisujemy do crontaba, aby uruchamiał się co określony czas np. 5 min.:
*/5 * * * * /usr/local/bin/stat.pl
W skrypcie stat.php także mamy do ustawienia zmienne - $path, która musi wskazywać na ten sam katalog co w stat.pl oraz $hosts_names, która w przypadku tego skryptu odpowiada za poprawne (numeryczne) sortowanie adresów IP. Serwer www powinien mieć prawo odczytu katalogu ze statystykami.
UWAGA: Jeśli w stat.pl włączyliśmy $hosts_names także w stat.php opcja ta musi być włączona.
Przy pomocy opcji $skip_zeroes można zdecydować, czy komputery z zerowymi wartościami downloadu i uploadu mają być wyświetlane na wykresie.
Od wersji 0.9.5 skrypt także pokazuje aktywność komputerów. Jeśli dany komputer był włączony (korzystał z Internetu) w ciągu ostatnich x sekund, to jego nazwa (adres) zostanie pogrubiony. Limit czasu ustawiamy przy pomocy opcji $time_limit. Pamiętaj, aby nie ustawiać czasu mniejszego niż okres uruchamiania skryptu stat.pl.
Wszystko ladnie pieknie tylko mam problem z tym
Cytuj:
Serwer www powinien mieć prawo odczytu katalogu ze statystykami.
próbowałem tak: chown apache.apache /tmp/stats
ale wywala że apache unknown???
Mam mrtg i smiga, jestem początkujący jak mam nadac prawa odczytu dla serwera www??
Prosze o pomoc.