Memahami File Log Apache - Cara Melihat, Menemukan, dan Menganalisis File Log Akses dan Error Log | UNIX LINUX EXPLORE
Edit

Memahami File Log Apache - Cara Melihat, Menemukan, dan Menganalisis File Log Akses dan Error Log

Pada saat artikel ini ditulis, server HTTP Apache telah digunakan lebih dari 30,8% dari semua web server yang ada. Jika Anda bertanggung jawab untuk mengelola sistem apa pun yang menggunakan Apache, maka Anda pasti akan berinteraksi dengan infrastruktur pencatatannya secara teratur.

Apache adalah server web sumber terbuka dan elemen penting dalam tumpukan pengembangan web (A dalam LAMP dan WAMP). Selain menyajikan halaman web, Apache juga melacak dan menyimpan catatan (log) aktivitas dan kesalahan server. Log Apache penting untuk memantau dan memecahkan masalah aktivitas server web. Mengetahui cara melihat, menggunakan, dan mengelola berkas log Apache sangat penting bagi administrator server.

Tutorial ini akan memperkenalkan Anda pada pencatatan di Apache dan bagaimana hal itu dapat membantu Anda mendiagnosis, memecahkan masalah, dan dengan cepat menyelesaikan masalah apa pun yang mungkin Anda hadapi di server Apache Anda.

Anda akan mempelajari tempat penyimpanan log, cara mengaksesnya, dan cara menyesuaikan keluaran dan lokasi log agar sesuai kebutuhan. Anda juga akan mempelajari cara memusatkan log Apache dalam sistem manajemen log untuk memudahkan pelacakan, pencarian, dan pemfilteran log di seluruh sistem Anda.

1. Apa itu Log Apache?

Log Apache adalah berkas teks yang berisi semua informasi tentang apa yang dilakukan server Apache. Log ini memberikan wawasan tentang sumber daya mana yang diakses, kapan diakses, siapa yang mengaksesnya, dan metrik yang terkait dengannya. Log ini juga mencakup informasi tentang kesalahan yang terjadi, proses pemetaan sumber daya, penyelesaian akhir koneksi, dan masih banyak lagi.

Secara umum, seluruh proses pencatatan Apache terdiri dari beberapa fase. Pertama, Anda perlu menyimpan log di suatu tempat untuk tujuan analisis historis. Kedua, Anda perlu menganalisis log dan menguraikannya untuk mengambil informasi dan metrik yang berguna. Dan terakhir, Anda mungkin ingin membuat grafik data karena representasi visual lebih mudah dianalisis dan dipahami oleh manusia.

Rekaman semua peristiwa Apache ditempatkan dalam dua berkas teks yang berbeda:

a. Apa itu Log Akses Apache?

Log akses Apache adalah berkas teks yang berisi informasi tentang semua permintaan yang diproses oleh server Apache. Anda dapat menemukan informasi seperti waktu permintaan, sumber daya yang diminta, kode respons, waktu yang dibutuhkan untuk merespons, dan alamat IP yang digunakan untuk meminta data.

Lokasi Log Akses Apache

Lokasi log akses server Apache berbeda-beda, bergantung pada sistem operasi yang Anda gunakan.

secara default sistem operasi Red Hat, CentOS, atau Fedora Linux, log akses Apache dapat ditemukan di /var/log/httpd/access_log. Pada Debian dan Ubuntu, Anda dapat menemukan log Apache di /var/log/apache2/access.log, sedangkan di FreeBSD akan menyimpan log akses server Apache di berkas /var/log/httpd-access.log.

Anda dapat mengkonfigurasi lokasinya menggunakan perintah CustomLog, misalnya:

Letak file log access Apache
CustomLog "/var/log/httpd-access.log"

b. Apa itu Error Log Apache?

Sejauh ini, kita telah membahas tentang log akses Apache yang memberi kita informasi tentang sumber daya yang diakses. Namun, itu bukan satu-satunya hal yang perlu kita perhatikan. Kita juga harus memperhatikan segala hal yang terkait dengan kesalahan. Faktanya, log kesalahan adalah berkas log terpenting untuk server HTTP Apache.

Log kesalahan Apache berisi semua kesalahan yang terjadi selama pemrosesan permintaan. Namun, yang terpenting adalah bahwa log kesalahan akan berisi informasi tentang apa yang salah selama permulaan server Apache dan kemungkinan besar juga akan berisi petunjuk tentang cara memperbaiki masalah tersebut.

Lokasi Error Log Apache

Tempat penyimpanan log kesalahan Apache berbeda-beda, tergantung pada sistem operasi yang menjalankannya.

Pada Red Hat, CentOS, atau Fedora Linux, secara default error log dapat ditemukan di /var/log/httpd/error_log. Pada Debian dan Ubuntu, Anda dapat menemukan log Apache di /var/log/apache2/error.log, sedangkan pada FreeBSD akan memiliki log akses server Apache di berkas /var/log/httpd-error.log.

Anda dapat mengkonfigurasi lokasinya menggunakan perintah ErrorLog, misalnya:

Letak file log error Apache
ErrorLog "/var/log/httpd-error.log"

2. Memulai File Log Apache

Salah satu cara paling umum untuk melihat file log Apache adalah melalui perintah tail yang mencetak 10 baris terakhir dari sebuah file log Apache. Saat opsi -f diberikan, perintah tersebut akan memantau berkas dan menampilkan isinya secara langsung.

Melihat isi script access log Aapche
[root@ns1 ~]# sudo tail -f /var/log/apache2/access.log
Untuk melihat seluruh isi berkas, Anda dapat menggunakan perintah cat atau membuka berkas dalam editor teks seperti nano atau vim:

Melihat isi script access log Aapche
[root@ns1 ~]# cat /var/log/apache2/access.log
atau
[root@ns1 ~]# sudo nano /var/log/apache2/access.log
Anda mungkin juga ingin memfilter entri log dalam berkas log berdasarkan istilah tertentu. Dalam kasus seperti itu, Anda harus menggunakan perintah grep. Argumen pertama untuk grep adalah istilah yang ingin Anda cari, sedangkan argumen kedua adalah berkas log yang akan dicari. Dalam contoh di bawah ini, kami memfilter semua baris yang berisi kata GET.


Filter file acces log apache
[root@ns1 ~]# sudo grep GET /var/log/apache2/access.log

3. Memeriksa format log akses Apache

Log akses mencatat semua permintaan yang diproses oleh server. Anda dapat melihat sumber daya apa yang diminta, status setiap permintaan, dan berapa lama waktu yang dibutuhkan untuk memproses responsnya. Di bagian ini, kita akan membahas lebih dalam tentang cara menyesuaikan informasi yang ditampilkan dalam berkas ini.

Sebelum Anda dapat memperoleh manfaat dari membaca berkas log, Anda perlu memahami format yang digunakan untuk setiap entri. Perintah CustomLog adalah yang mengontrol lokasi dan format berkas log akses Apache. Perintah ini dapat ditempatkan di berkas konfigurasi server (/etc/apache2/apache2.conf) atau di entri host virtual Anda. Perhatikan bahwa menentukan perintah CustomLog yang sama di kedua berkas dapat menimbulkan masalah.

Mari kita lihat format umum yang digunakan dalam log akses Apache dan artinya.

Common Log Format

Common Log Format adalah format log akses standar yang digunakan oleh banyak server web karena mudah dibaca dan dipahami. Format ini didefinisikan dalam berkas konfigurasi /etc/apache2/apache2.conf melalui perintah LogFormat.

Saat Anda menjalankan perintah di bawah ini:


[root@ns1 ~]# sudo grep common /etc/apache2/apache2.conf
Anda akan melihat output yang ditampilkan oleh perintah di atas.

output
LogFormat "%h %l %u %t \"%r\" %>s %O" common
Baris di atas mendefinisikan nama panggilan umum dan mengaitkannya dengan string format log tertentu. Entri log yang dihasilkan oleh format ini akan terlihat seperti ini:


127.0.0.1 alice Alice [06/May/2021:11:26:42 +0200] "GET / HTTP/1.1" 200 3477

Format Log Gabungan

Format Log Gabungan sangat mirip dengan format log Umum tetapi berisi beberapa informasi tambahan.

Format ini juga didefinisikan dalam berkas konfigurasi /etc/apache2/apache2.conf.


[root@ns1 ~]# sudo grep -w combined /etc/apache2/apache2.conf

4. Membuat format log kustom

Anda dapat menentukan format log kustom dalam berkas /etc/apache2/apache2.conf dengan menggunakan perintah LogFormat diikuti oleh format keluaran yang sebenarnya dan nama panggilan yang akan digunakan sebagai pengenal untuk format tersebut. Setelah menentukan format kustom, Anda akan meneruskan nama panggilannya ke perintah CustomLog dan memulai ulang layanan apache2.

Dalam contoh ini, kita akan membuat format log bernama custom yang terlihat seperti ini:

log custom
LogFormat "%t %H %m %U %q %I %>s %O %{ms}T" custom
Buka berkas /etc/apache2/apache2.conf Anda dan tempatkan baris di atas di bawah baris LogFormat lainnya. Ini akan menghasilkan entri log akses dengan detail berikut:

%t: tanggal dan waktu permintaan.

%H: protokol permintaan.

%m: metode permintaan.

%U: jalur URL yang diminta.

%q: parameter kueri (jika ada).

%I: total byte yang diterima termasuk header permintaan.

%>s: kode status HTTP akhir.

%O: jumlah byte yang dikirim dalam respons.

%{ms}T: waktu yang dibutuhkan untuk menghasilkan respons dalam milidetik.

Mengubah lokasi default file log Apache 

Untuk mengubah lokasi log default Apache, lakukan hal berikut.

1. Buka berkas konfigurasi Apache menggunakan editor teks. Untuk nano, jalankan.


[root@ns1 ~]# sudo nano /etc/apache2/apache2.conf
Temukan script ErrorLog dan ubah path atau jalurnya. Barisnya terlihat seperti berikut.


ErrorLog "/var/log/httpd-error.log"
Untuk mengubah lokasi log akses, gunakan perintah CustomLog. Perintah ini terdiri dari setidaknya dua argumen: jalur dengan nama file dan string format log. Misalnya.


CustomLog /etc/apache/log/access.log combined
Agar perubahan file log custom tersebut dapat langsung diterapkan, restart server Apache.

restart Apache
[root@ns1 ~]# sudo systemctl restart apache2
Menganalisis log server Apache Anda sangat penting untuk memahami lalu lintas yang masuk ke aplikasi Anda, kesalahan yang terjadi, dan kinerja elemen yang dihadapi pengguna. Setelah membaca artikel di atas, anda lebih dari sekadar memahami log server, mengetahui sumber daya apa yang diakses, siapa yang mengaksesnya, dan berapa lama waktu yang dibutuhkan untuk memproses permintaan sangat penting untuk memahami perilaku pengguna web server apache anda.

Anda juga perlu memastikan bahwa Anda mengetahui setiap kesalahan yang terjadi sehingga Anda dapat bereaksi sesegera mungkin. Menggabungkannya dengan kebutuhan akan infrastruktur terdistribusi untuk menangani sejumlah besar pengguna bersamaan dan menyediakan ketersediaan tinggi, menggunakan alat observabilitas adalah suatu keharusan.