Coba ini. Saya mengujinya pada file lokal tetapi tidak tahu apakah itu berfungsi pada semua konfigurasi/lokal/...
cat apache.log | perl -e 'my $sum=0; while(<>) { my ($traffic) = m/\[.+\] ".+" \d+ (\d+)/; $sum += $traffic}; print "$sum\n"'
Pembaruan Jan 2017: Sementara itu saya telah mempelajari lebih banyak Perl dan itulah yang akan saya lakukan hari ini:
cat apache.log | perl -nE '/\[.+\] ".+" \d+ (\d+)/; $sum += $1; END {say $sum}'
Untuk pemantauan file log mendetail dan penggunaan bandwidth sebenarnya, buka AWStats.
Dibutuhkan file log Apache sebagai input dan memberi Anda analisis yang sangat mendetail tentang pengunjung dan bandwidth, dengan grafik.
Anda juga dapat mencoba GoAccess.
Log Akses Apache — Penggunaan bandwidth global :
awk '{ s += $10 } END { print "Total ", s/1024/1024 " Mo", "- Moyenne ", s/NR/1024/1024 " Mo", "- Accès ", NR }' access.log
Dan untuk file :
grep NAME_OF_RESOURCE_HERE /var/log/apache2/access.log* | awk '{ s += $10 } END { print "Total ", s/1024/1024 " Mo", "- Moyenne ", s/NR/1024/1024 " Mo", "- Accès ", NR }'
Anda mendapatkan sesuatu seperti ini : Total 301,985 Mo - Moyenne 0,0430055 Mo - Akses 7022
Bagaimana saya bisa melihat inti CPU mana yang menjalankan utas?
Hapus karakter tertentu menggunakan awk atau sed