Bab ini menjelaskan cara membuat laporan dari file log web atau server proxy Anda menggunakan Webalizer kemasan.
Isi
Modul Analisis File Log Webalizer
Webalizer adalah program yang tersedia secara gratis untuk menganalisis dan menghasilkan laporan dari file log Apache Webserver, Squid, dan WU-FTPd. Jika Anda menjalankan situs web dan ingin melihat halaman mana yang paling banyak dikunjungi, pada jam berapa lalu lintas paling banyak datang atau dari negara mana, Webalizer adalah alat yang digunakan. Jika Anda mengelola Server Proxy Squid dan ingin melihat situs mana yang paling sering diakses klien dan kapan proxy paling sering digunakan, itu dapat menghasilkan laporan yang menunjukkan informasi itu juga.
Tidak seperti banyak server lain yang dapat dikonfigurasi oleh Webmin, Webalizer relatif sederhana. Ketika perintah webalizer dijalankan, ia membaca dalam file log dan menghasilkan halaman HTML dan gambar berdasarkan catatan di log itu. Itu juga dapat membaca statistik yang dikumpulkan dalam proses sebelumnya yang berasal dari file riwayat, sehingga laporan dapat menyertakan data yang tidak lagi ada di file log. File riwayat yang sama kemudian diperbarui dengan informasi dari laporan terbaru, untuk digunakan dalam pemrosesan selanjutnya. Ini memungkinkan administrator sistem untuk menghapus file log asli dengan aman setelah diringkas.
Webalizer secara default menggunakan file konfigurasi global /etc/webalizer.conf, yang menentukan jenis tabel dan grafik yang akan dibuat dan judul yang akan digunakan. Pada sistem yang menghosting beberapa server virtual, beberapa file konfigurasi biasanya ada sehingga opsi pelaporan yang berbeda dapat diatur untuk situs yang berbeda. Sayangnya, tidak ada cara untuk menggabungkan kedua opsi dari file konfigurasi global dan per-log – hanya satu yang dapat digunakan saat membuat laporan.
Karena file log selalu ditambahkan permintaan baru, Webalizer biasanya dijalankan sesuai jadwal oleh program seperti Cron. Itu tidak memiliki proses server atau daemonnya sendiri, dan karenanya bergantung pada penjadwal untuk memanggilnya setiap atau dua hari untuk memproses ulang setiap file log dan membuat ulang setiap laporan.
Karena kesederhanaannya yang relatif, Webalizer berperilaku identik pada semua jenis Unix. Ini berarti bahwa fungsionalitas dan tata letak modul Webmin juga identik, meskipun modul Pekerjaan Cron Terjadwal harus diinstal dan berfungsi agar fitur pelaporan terjadwal berfungsi.
Ikon modul Webalizer Webmin dapat ditemukan di kategori Server. Ketika Anda pertama kali mengkliknya, halaman yang mencantumkan semua file log yang Apache atau Squid telah dikonfigurasi untuk digunakan pada sistem Anda akan ditampilkan, seperti yang ditunjukkan pada Gambar 39-1. Dengan menganalisis konfigurasi erver tersebut, modul secara umum dapat mengetahui di mana semua log pada sistem Anda yang dapat dianalisis berada – namun, Anda dapat dengan mudah menambahkan file log tambahan ke modul untuk pelaporan juga.
Layar utama Analisis File Log WebalizerJika modul mendeteksi bahwa Webalizer tidak benar-benar diinstal pada sistem Anda, halaman utama akan menampilkan pesan kesalahan sebagai gantinya. Jika ini terjadi, Anda perlu menginstalnya dari CD distribusi Linux Anda atau situs web program di www.webalizer.org. Banyak versi Linux menyertakan paket Webalizer sebagai standar, yang dapat Anda instal menggunakan modul Paket Perangkat Lunak.
Jika Anda berencana menggunakan modul untuk menganalisis beberapa file log, penting untuk memastikan bahwa konfigurasi Webalizer global diatur dengan benar untuk mendukung ini. Versi yang disertakan dengan beberapa distribusi Linux (seperti Redhat) salah menggunakan jalur absolut untuk riwayat dan file cache yang menyimpan informasi tentang proses yang berjalan sebelumnya. Untuk memperbaikinya, ikuti langkah-langkah berikut sebelum menyetel opsi untuk file log apa pun:
- Pada halaman utama modul, klik Edit Opsi Global tombol di bagian bawah. Ini akan membawa Anda ke formulir untuk opsi pengeditan yang berlaku untuk semua file log.
- Dalam Riwayat Webalizer bidang file, pastikan tombol radio kedua dipilih dan webalizer.hist muncul di kotak teks. Jika beberapa path absolut seperti /var/stats/webalizer.hist ditampilkan, ubahlah.
- Serupa, pastikan file tambahan Webalizer bidang diatur ke webalizer.current dan bukan jalur lengkap.
- File cache DNS Webalizer dapat dibiarkan disetel ke jalur absolut jika Anda mau, sehingga informasi DNS dibagikan di antara laporan yang berbeda.
- Klik tombol Simpan tombol di bagian bawah halaman untuk merekam pengaturan baru.
Opsi pengeditan laporan
Sebelum Anda dapat membuat laporan dari file log, Anda harus menetapkan opsi tertentu seperti direktori keluaran, pengguna Unix untuk menjalankan laporan sebagai, dan pengaturan tata letak laporan. Dengan asumsi log telah diidentifikasi secara otomatis oleh modul dan ditampilkan pada halaman utama, langkah-langkah yang harus diikuti adalah:
- Pada halaman utama modul, klik nama file log server web yang ingin Anda buat laporannya. Halaman yang mencantumkan pengaturan saat ini untuk file itu akan ditampilkan, seperti yang ditunjukkan pada Gambar 39-2.
- Semua file log dalam laporan bidang menunjukkan dengan tepat file mana yang akan digunakan dalam laporan apa pun yang dibuat oleh Webmin dan Webalizer. Karena banyak sistem yang dikonfigurasi untuk memindahkan, memotong, mengompres, dan akhirnya menghapus file log Apache dan Squid secara teratur (seringkali menggunakan program seperti logrotate), modul akan menyertakan semua file dalam direktori yang sama yang dimulai dengan nama yang sama dengan file log utama. Jadi jika misalnya Anda melaporkan /var/log/httpd/access_log, file access_log.0.gz, access_log.1.gz dan seterusnya di /var/log/httpd akan ditampilkan di bidang ini juga.
- Dalam Tulis laporan ke direktori bidang, masukkan direktori tempat halaman HTML untuk laporan harus dibuat. Ini harus sudah ada, dan umumnya harus berada di bawah akar dokumen situs web – misalnya, /home/example.com/stats . Itu harus dimiliki atau dapat ditulis oleh pengguna yang ditentukan di bidang berikutnya. Pastikan direktori tersebut tidak digunakan untuk hal lain, karena Webalizer akan membuat file index.html dan halaman HTML lain yang mungkin menimpa apa pun yang sudah ada di dalamnya.
- Masukkan nama pengguna Unix yang harus dimiliki oleh file laporan yang dihasilkan seperti ke dalam Jalankan webalizer sebagai pengguna bidang. Ini harus menjadi pengguna yang memiliki file HTML situs web, sehingga dia dapat mengedit atau memindahkannya jika perlu. Atau Anda bisa memasukkan root jika laporan hanya untuk Anda gunakan sendiri. Karena cara modul menjalankan Webalizer, pengguna yang Anda tentukan tidak harus memiliki akses baca ke file log – namun, ia harus dapat menulis ke direktori laporan!
- Tinggalkan Selalu proses ulang file log? *bidang disetel ke *Tidak , sehingga Webalizer dapat menggunakan informasi cache dari laporan sebelumnya berjalan. Menyetelnya ke Ya akan menyebabkan semua cache dan statistik sebelumnya dibuang sebelum setiap dijalankan, sehingga seluruh file log diproses ulang. Ini berarti bahwa data apa pun yang tidak lagi ada dalam file log tidak akan disertakan dalam laporan. Memilih Ya paling berguna jika Anda ingin melewati caching statistik lama Webalizer, yang mungkin salah jika file log telah sepenuhnya berubah sejak dijalankan terakhir kali.
- Di Opsi laporan bidang, pilih Opsi khusus agar modul menyalin file konfigurasi Webalizer global untuk log ini, sehingga nanti Anda dapat menentukan opsi yang hanya berlaku untuk laporan ini. Jika Anda hanya memiliki satu situs web di sistem Anda atau tidak peduli tentang menyesuaikan laporan untuk server virtual yang berbeda, Anda dapat memilih Gunakan opsi global tombol radio sebagai gantinya. Jika demikian, langkah 9 hingga 19 dapat diabaikan. Opsi terakhir untuk bidang ini, File konfigurasi lainnya , memungkinkan Anda menentukan file konfigurasi Webalizer yang ada untuk digunakan saat membuat laporan. Ini dapat berguna jika Anda telah menggunakan program sebelumnya pada file log ini dan telah menyesuaikan pengaturannya.
- Keluar dari Pembuatan laporan terjadwal setel ke Nonaktif untuk sekarang. Bagian “Pelaporan sesuai jadwal” menjelaskan cara mengaktifkannya.
- Klik tombol Simpan tombol di bagian bawah halaman. Selama tidak ada kesalahan dalam input Anda, Anda akan dikembalikan ke halaman utama modul.
- Jika *Opsi kustom *dipilih pada langkah 6, klik lagi nama file log, lalu pada Opsi Edit tombol di bagian bawah halaman. Ini akan memunculkan formulir opsi yang ditunjukkan pada Gambar 39-3.
- Di Nama host situs web bidang, pilih tombol radio kedua dan masukkan nama situs web Anda dari URL ke bidang teks, seperti www.example.com .
- Untuk menyesuaikan jenis file yang dianggap Webalizer sebagai halaman, edit ekstensi di bidang *Jenis file untuk dilaporkan*. Jenis lain (seperti gambar atau file audio) tidak dihitung untuk sebagian besar tujuan pelaporan.
- Jika situs Anda menggunakan file HTML indeks direktori lain selain yang dimulai dengan index. (seperti home.html ) masukkan nama file mereka ke dalam Halaman indeks direktori bidang. Biasanya, bidang ini dapat dibiarkan kosong.
- Biasanya, Webalizer mengonversi waktu dalam file log ke zona waktu lokal sistem Anda. Untuk memaksa penggunaan GMT, ubah Waktu laporan dalam GMT? bidang ke Ya . Kecuali jika laporan dilihat oleh orang-orang di zona waktu yang berbeda, Anda harus membiarkannya disetel ke Tidak meskipun.
- Jika file log mungkin berisi catatan yang diberi tanggal setelah catatan yang muncul sebelumnya, setel bidang *Menangani entri log yang rusak?* ke Ya . Ini akan sedikit memperlambat pembuatan laporan, tetapi jika Tidak dipilih dan log memang berisi catatan yang tidak sesuai pesanan, Webalizer tidak akan memprosesnya sepenuhnya. Beberapa server web seperti Netscape bersalah karena menghasilkan file log seperti ini.
- File riwayat Webalizer , File tambahan Webalizer dan Cache DNS Webalizer bidang umumnya dapat dibiarkan tidak berubah, selama diatur ke jalur relatif. Pendahuluan menjelaskan secara lebih rinci mengapa hal ini diperlukan.
- Dalam Grafik dan tabel yang akan ditampilkan bagian, batalkan pilihan yang tidak ingin Anda sertakan dalam laporan.
- Di Baris tabel dan visibilitas bagian Anda dapat mengubah ukuran setiap tabel yang muncul, atau menghapusnya sama sekali dengan memilih Tidak Ada .
- Untuk mengaktifkan pembuatan halaman tambahan dalam laporan yang mencantumkan semua klien yang mengakses situs Anda, URL yang diakses, dan sebagainya, pilih kotak centang yang sesuai di bagian *Buat halaman yang mencantumkan semua*. Jika tidak, hanya tabel yang menunjukkan 20 teratas yang akan disertakan dalam laporan.
- Terakhir, klik tombol Simpan tombol di bagian bawah halaman. Laporan yang dihasilkan mulai sekarang akan menggunakan opsi ini.
Figure 39-2 “The log file options page”
Meskipun instruksi di atas ditulis dengan mempertimbangkan file log Apache, instruksi tersebut juga berlaku untuk log Squid. Satu-satunya perbedaan adalah bahwa Squid tidak memiliki direktori root dokumen, jadi Anda harus membuat direktori baru untuk laporan. Ini bisa berada di bawah direktori root server web Anda, sehingga laporan dapat dilihat oleh siapa saja. Jika demikian, nama pengguna Unix yang memiliki file HTML server web harus dimasukkan dalam Jalankan webalizer sebagai pengguna bidang.
Membuat dan melihat laporan
Setelah Anda menetapkan opsi untuk laporan, sebenarnya membuatnya sederhana. Ikuti saja langkah-langkah berikut:
- Pada halaman utama, klik nama file log yang laporannya dibuat.
- Tekan Buat Laporan tombol di bagian bawah formulir. Halaman yang menunjukkan output dari Webalizer saat dijalankan pada setiap file log akan ditampilkan, sehingga Anda dapat melihat kesalahan yang terjadi. Ini bisa memakan waktu lama (mungkin berjam-jam) pertama kali file log besar diproses, karena pencarian terbalik harus dilakukan untuk setiap alamat IP klien dalam file. Untungnya, CPU aktual dan beban jaringan yang dihasilkan minimal.
- Jika semuanya berjalan dengan baik, halaman HTML laporan akan dibuat di direktori tujuan. Untuk melihatnya, klik tautan *Lihat laporan yang diselesaikan* di bawah output.
- Laman pertama laporan menunjukkan grafik klik yang diterima oleh situs web menurut bulan, dengan tautan di bawah ke laman yang berisi detail untuk setiap bulan. Setiap halaman bulan menampilkan tabel dan grafik klik berdasarkan hari, jam, klien, halaman, dan negara untuk situs, dan mungkin juga menampilkan klik menurut pengguna, browser, dan perujuk juga jika informasi tersebut disertakan dalam log Anda file.
- Laporan yang sama dapat dilihat langsung dari halaman utama modul dengan mengklik Lihat tautan di Laporan kolom untuk file log, atau dengan menekan tombol Lihat Laporan tombol pada formulir opsi file log.
Pelaporan sesuai jadwal
Alih-alih membuat laporan dari file log secara manual, Anda dapat menggunakan modul ini untuk menyiapkan pekerjaan Cron yang menjalankan Webalizer secara teratur. Umumnya, laporan harus di-refresh setiap satu atau dua hari, tergantung pada ukuran file log. Karena beberapa log besar membutuhkan waktu lama untuk diproses, penyegaran terlalu sering (seperti sekali per jam) dapat menyebabkan beberapa proses Webalizer dijalankan pada file log yang sama pada waktu yang sama, yang akan merusak laporan yang dihasilkan.
Biasanya merupakan ide yang baik untuk membuat laporan untuk file log dari dalam Webmin setidaknya sekali sebelum menyiapkan pelaporan terjadwal, sehingga Anda dapat melihat apakah itu benar-benar berfungsi atau tidak. Setelah Anda melakukannya, ikuti langkah-langkah berikut:
- Pada halaman utama modul, klik nama file log. Ini akan membawa Anda ke formulir opsi yang ditunjukkan pada Gambar 39-2.
- Ubah Laporan terjadwal bidang generasi ke *Diaktifkan, pada waktu yang dipilih di bawah*.
- Pilih waktu dan hari di mana file log harus diproses ulang dari Menit , Jam , Hari , Bulan dan Hari kerja daftar di bawah ini. Untuk masing-masing, Anda dapat memilih Semua agar laporan dibuat setiap menit, jam, atau apa pun – atau Anda dapat memilih Dipilih untuk menjalankan Webalizer hanya pada waktu atau tanggal yang dipilih dari daftar. Untuk memilih beberapa entri, tahan kontrol atau shift sambil mengklik. Anda juga dapat mengontrol-klik untuk membatalkan pilihan entri yang telah dipilih. Secara default, log akan diproses pada tengah malam setiap hari. Jika Anda memiliki beberapa laporan yang dibuat sesuai jadwal, coba atur agar tidak semuanya dijalankan pada waktu yang bersamaan. Misalnya, dalam laporan kedua Anda, pilih _1_ sebagai jam, bukan *0* dan seterusnya.
- Klik tombol Simpan tombol agar Webmin membuat pekerjaan Cron untuk laporan. Anda akan dapat melihatnya di modul Pekerjaan Cron Terjadwal, tetapi Anda hanya boleh mengedit tanggal dan waktu di sini.
Untuk menonaktifkan pembuatan laporan reguler untuk file log, pilih Disabled untuk Pembuatan laporan terjadwal lapangan sebagai gantinya. Pekerjaan Cron akan dihapus, tetapi waktu dan tanggal yang ditetapkan untuk dijalankan akan diingat sehingga Anda dapat mengaktifkannya kembali dengan mudah.
Menambahkan file log lain
Meskipun modul mencoba untuk secara otomatis mengidentifikasi semua file log di sistem Anda, dengan membaca file konfigurasi Apache dan Squid, mungkin ada beberapa yang terlewatkan. Ini dapat terjadi modul Apache Webserver atau Squid Proxy Server belum diatur dengan benar, jika Anda memiliki lebih dari satu salinan Apache yang diinstal pada sistem Anda, atau jika server web telah dikonfigurasi untuk masuk ke program filter daripada ke normal mengajukan.
Jika Anda ingin membuat laporan dari file log server FTP, Anda pasti perlu menambahkan file ke modul karena tidak mendeteksi log WU-FTPd secara otomatis. Anda juga dapat menambahkan log dari server web lain seperti Zeus, TUX, Netscape atau NSCA, dengan asumsi mereka menggunakan format CLF standar yang dilakukan Apache. Bahkan dimungkinkan untuk membuat laporan tentang log yang dibuat oleh Webmin dan Usermin, masing-masing ditemukan di /var/webmin/miniserv.log dan /var/usermin/miniserv.log.
Langkah-langkah untuk menambahkan file log secara manual untuk pelaporan adalah:
- Pada halaman utama modul, klik tautan *Tambahkan file log baru untuk analisis* di atas atau di bawah tabel log yang ada.
- Di Jalur file log dasar bidang, masukkan path lengkap ke file log seperti /usr/local/apache/var/foo.com.log . Jika ada file log lain di direktori yang sama yang namanya dimulai dengan foo.com.log , mereka juga akan disertakan dalam laporan.
- Dari Jenis file log menu, pilih salah satu Apache untuk file berformat CLF yang dihasilkan oleh server web, Squid untuk log dari server proxy Squid, atau FTP untuk log transfer dari WU-FTPd.
- Sisa formulir dapat diselesaikan dengan cara yang persis sama seperti yang Anda lakukan untuk file log yang ada. Cukup ikuti langkah 3 dan seterusnya dari bagian “Edit Opsi Laporan” di awal bab ini.
Satu perbedaan antara file log yang ditambahkan secara manual dan yang terdeteksi oleh modul secara otomatis adalah adanya Hapus tombol di bagian bawah halaman opsi file log. Mengkliknya akan menghapus log dari daftar di halaman utama, tetapi akan membuat laporan dan file log itu sendiri tidak tersentuh.
Mengedit opsi global
Webalizer memiliki file konfigurasi master bernama /etc/webalizer.conf yang digunakan oleh modul jika Opsi laporan bidang disetel ke Gunakan opsi global . Itu juga disalin ketika Anda memilih *Opsi kustom* untuk memberikan pengaturan awal untuk konfigurasi file per-log – namun, mengubah opsi global setelahnya tidak akan berpengaruh pada setiap log yang sudah menggunakan file konfigurasinya sendiri.
Jika Anda hanya memiliki satu file log di sistem Anda yang memerlukan analisis, lebih masuk akal untuk hanya menggunakan file webalizer.conf global daripada membuatnya hanya untuk laporan di log itu. Dan jika Anda berencana untuk mengatur pelaporan pada beberapa file log, Anda harus mengedit konfigurasi Webalizer global terlebih dahulu untuk menyediakan template dari mana konfigurasi per-log disalin. Untuk mengeditnya, langkah-langkah yang harus dilakukan adalah :
- Pada halaman utama modul, klik Edit Opsi Global ikon. Browser Anda akan menampilkan formulir opsi yang mirip dengan yang ada di Gambar 39-3.
- Ikuti langkah 11 dan seterusnya di bagian “Edit Opsi Laporan” di awal bab untuk mengonfigurasi tampilan semua laporan. Kolom pada formulir ini memiliki arti yang sama persis dengan yang ada di halaman opsi per laporan.
- Klik tombol Simpan untuk memperbarui file konfigurasi dengan perubahan Anda.
Jika Anda membuat lebih dari satu laporan, akan lebih masuk akal untuk menetapkan opsi untuk setiap laporan satu per satu. Dengan begitu Anda dapat menyetel nama host server web yang berbeda untuk masing-masing, sehingga judul dan tautan ke halaman di setiap laporan sudah benar.
Opsi Global WebalizerKontrol akses modul
Seperti yang dijelaskan pada bab 52, Anda dapat membuat pengguna atau grup Webmin yang hanya memiliki akses ke sebagian kecil fitur dari sebagian besar modul. Dalam hal modul Webalizer, Anda dapat memberikan hak kepada pengguna untuk mengedit opsi dan menghasilkan laporan hanya dari beberapa log di sistem Anda. Ini dapat berguna jika sistem Anda menghosting beberapa server virtual Apache, masing-masing dimiliki oleh orang yang berbeda. Selama setiap server memiliki file log terpisah, Anda dapat memberikan hak kepada pengguna Webmin untuk mengelola server virtual dan laporan lognya.
Setelah pengguna diberi akses ke modul, langkah-langkah yang harus diikuti untuk membatasinya hanya pada beberapa file log di sistem Anda adalah:
- Dalam modul Pengguna Webmin, klik Analisis File Log Webalizer di sebelah nama pengguna. Ini akan memunculkan formulir kontrol akses modul standar.
- Ubah Dapatkah mengedit konfigurasi modul? kolom ke Tidak , sehingga dia tidak dapat mengubah jalur ke Webalizer atau file konfigurasi globalnya.
- Keluar Hanya dapat melihat laporan yang ada? setel ke Tidak , sehingga pengguna dapat mengedit opsi untuk laporan pada file log yang dimilikinya.
- Setel Dapatkah mengedit opsi webalizer global? untuk Tidak untuk mencegah opsi pengeditan pengguna yang mungkin berlaku untuk log orang lain.
- Di bidang Jalankan Webalizer sebagai pengguna , pilih tombol radio terakhir dan masukkan nama pengguna Unix yang biasanya digunakan oleh pengguna Webmin ini untuk masuk. Ini akan menghentikannya menyiapkan laporan yang dihasilkan sebagai root, yang bisa menjadi risiko keamanan yang serius karena akan memungkinkan file sistem dan milik orang lain untuk ditimpa.
- Di bidang *Hanya izinkan melihat dan mengedit laporan untuk log di bawah* bidang, masukkan jalur lengkap ke file log (seperti /var/log/httpd/example.com.log ) atau direktori yang memiliki file log di bawahnya (seperti /home/example.com/logs ). Modul akan menyembunyikan log yang ditemukan secara otomatis di luar direktori itu, sehingga pengguna tidak dapat menyiapkan laporan untuk situs web orang lain.
- Tekan tombol Simpan tombol untuk mengaktifkan pembatasan baru.
Setelah pengguna dibatasi dengan cara ini, dia akan dapat menggunakan modul untuk menyiapkan pelaporan hanya untuk file log tersebut di direktori yang diizinkan. Laporan hanya akan dibuat sebagai pengguna Unix yang ditentukan pada langkah 5, yang menghentikan pengguna Webmin menimpa file yang biasanya tidak dapat ia lakukan pada prompt shell. Hal ini membuat modul ini cukup aman untuk digunakan oleh orang yang tidak dipercaya, meskipun pengguna yang jahat dapat mengatur pekerjaan Cron pelaporan yang berjalan sangat sering dan menghabiskan banyak waktu CPU.
Mengonfigurasi modul Analisis File Log Webalizer
Anda dapat menyetel jalur yang digunakan modul untuk program Webalizer dan file konfigurasi globalnya dengan menggunakan formulir konfigurasi modul, yang dapat dicapai melalui Module Config standar tautan di halaman utama. Ketika diklik, ini akan menampilkan formulir yang berisi bidang-bidang berikut:
Layar Konfigurasi Webalizer