Letak Log dan Konfigurasi Awal
Pada dasarnya letak log pada CentOS ada pada /var/log/
. Hanya utmp saja yang terletak pada /var/run/utmp
. Sementara untuk melakukan konfigurasi, terdapat pada file rsyslog.conf
yang terletak pada /etc/rsyslog.conf
.
Pada rsyslog.conf
terdapat rules yang dapat digambarkan sebagai berikut: [fasilitas]
.[level_prioritas]
Nama fasilitas | Program apa yang direpresentasikan |
kern | Pesan yang datang dari kernel Linux |
messages | melakukan log pada apapun (kecuali mail) dengan level minimal .info |
AUTH / AUTHPRIV | Pesan yang datang dari otorisasi dan keamanan yang berelasi dengan event |
pesan yang dibuat oleh subsistem mail | |
cron | pesan yang dibuat oleh subsistem mail |
daemon | pesan yang datang dari daemons |
news | pesan yang dibuat oleh subsistem berita jaringan |
user | pesan yang datang dari program user |
local0 hingga local7 | dipersiapkan untuk penggunaan local |
Sedangkan arti prioritas adalah sebagai berikut (dari paling prioritas)
Prioritas | Arti |
emerg | Pesan yang datang dari otorisasi dan keamanan yang berelasi dengan event |
alert | kondisi dimana butuh penanganan langsung |
crit | kondisi kritis |
err | error |
warn | peringatan |
notice | kondisi yang memerlukan perhatian |
info | pesan infomarsi |
debug | informasi debug dari program |
ISI LOG
Beberapa isi log yang cukup penting adalah sebagai berikut
WTMP, BTMP, dan UTMP
Pada log ini digunakan perintah last -f
untuk tiap log yang ada dan hasilnya adalah sebgai berikut
dengan format:
[username] [terminal_login] [kernel] [hari_tanggal] [waktu_mulai] [waktu_akhir]lastlog
pada lastlog ,yang berguna sebagai pencatat log terakhir dengan menggunakan user tertentu, hanya tediri dari sebagai berikut
yum.log
log ini berisi tentang daftar penggunaan yum
dengan format:
[waktu] [hal_yang_dilakukan] : [file_yang_terubah]Apache
Pada direktori apache (/var/log/httpd
) terdapat dua buah log yaitu access_log
dan error_log
Contoh access_log
Contoh error_log
mysql (mariadb)
pada log ini tedapat tanggal penggunaan, waktu, dan hal yang dilakukan pada basis data yang dimiliki.
Log Rotate
Log rotate adalah sebuah perkakas yang digunakan oleh seorang adminstrator untuk mengelola ruang harddisk untuk menyimpan log. Untuk mengelola log rotate ini diperlukan dua konfigurasi yaitu:
- generik konfigurasi log rotate pada
/etc/logrotate.conf
- service spesifik yang ada dan disimpan pada
/etc/logrotate.d
Generik konfigurasi log (sebelum diganti) berisi (setelah komentar dihilangkan):
1 weekly 2 rotate 4 3 create 4 dateext 5 include /etc/logrotate.d 6 /var/log/wtmp { 7 monthly 8 create 0664 root utmp 9 minsize 1M 10 rotate 1 11 }
Dengan rincian sebagai berikut:
- Baris 1 – weekly pilihan konfigurasi yang memastikan tiap minggu terdapat rotasi semua berkas log dan sesuai dengan direktori
/etc/logrotate.d/
- Baris 2 – rotate 4 memastikan setiap log rotate menampung backup sebanyak 4 file
- Baris 3 – create pilihan untuk memerintahkan logrotate membuat berkas log kosong untuk tiap rotasi
- Baris 4 – dateext menambahkan ekstensi ke semua file log yang di rotasi dengan bentuk basis tanggal ketika masing-masing file log tertentu diproses oleh logrotate
- Baris 5 – include menggunakan semua perintah pada direktori
/etc/logrotate.d
- Baris 6 – 11 berisi konfigurasi spesifik milik service yang berjalan
sementara pada /etc/logrotate.d
tedapat pengaturan spesifik untuk servis. Contoh yang akan diberikan adalah mariadb
maksud dari daftar diatas adalah sebagai berikut
- Create – membuat berkas log baru dengan permission 640 dimana owner dan group nya adalah mysql
- notifempty – jika berkas log kosong maka tidak akan di rotasi
- daily – terdapat rotasi tiap hari
- rotate 3 – berkas log akan di backup selama kali rotasi file
- missingok – jika berkas log hilang maka tidak akan ada keluaran error
- compress – berkas log file akan dikompresi
- post rotate – hal yang terjadi setelah berkas dirotasi
Pada dasarnya setiap log dapat dilakukan log rotate. Hanya saja terkadang semua berjalan secara otomatis. Jika log rotate dari sebuah service tidak ditemukan, admin dapat menambahkannya sendiri.
Studi kasus:
Terdapat sebuah servis baru yang bernama servicebaru. Letak dari log servis tersebut ada pada /var/log/servicebaru.log dan akan dibuatkan sebuah log rotate. Hal yang diinginkan adalah terjadi log rotasi pada tiap hari, mengerti jika kosong, dilakukan kompresi, dan jika ukuran berkas mencapai 20k maka dilakukan rotasi. Berkas baru yang dibuat haruslah hanya dapat digunakan oleh root dan hanya dapat dilakukan read dan write pada berkas tersebut
dari studi kasus diatas maka dilakukan hal berikut
Buat berkas baru dengan perintah vi /etc/logrotate.d/servicebaru
dan isi dengan
/var/log/servicebaru.log { notifempty compress size 20k daily create 0600 root root}
untuk memahami lebih jauh tentang perintah perintah yang ada pada logrotate, dapat membuka terminal dan ketik man logrotate
Remote Log Server
Untuk melakukan remote log server, disini saya menggunakan windows sebagai host untuk menerima log yang ada dari centos. Berikut cara melakukan remote log server
- Lihat IP pada windows (sebagai contoh diatas IP 192.168.10.91)
- Pada centOS, buka
rsyslog.conf
dan tambahkan line*.* @IP_remote
(seperti contoh diatas*.* @192.168.10.91:514
). Line ini berguna untuk meneruskan segala macam fasilitas dengan segala level prioritas ke IP yang telah disepakati. - Untuk menangkap syslog yang dikirim, pada windows saya menggunakan syslogwatcher dapat diunduh http://www.snmpsoft.com/syslogwatcher/syslog-server.html
- Jalankan program syslog watcher dan berikut hasil yang didapat
Log pada WordPress
Untuk melakukan logging pada wordpress dapat menggunakan plugin. Salah satu yang cukup mudah digunakan adalah WP-security-audit-log (tautan). Plugin ini dapat mencatat segala hal yang terjadi pada wordpress hanya saja untuk mengeluarkan dalam bentuk file diperlukan extension bernama report extension (tautan) yang dapat digunakan dengan cara berbayar.
Untuk melakukan instalasi plugin cukup lakukan hal berikut:
- unduh plugin
- klik pilihan plugins pada bar, klik add new, dan klik upload plugin
- Muncul popup dan klik browse file ektensi yang telah diunduh
- klik install now
- Setelah selesai melakukan instalasi, tekan plugin lalu installed plugin akan muncul seperti berikut
- Untuk mengetahui aktifitas yang terjadi pada wordpress, tekan tautan Audit Log Viewer dan akan terlihat seperti gambar dibawah
- Jika ingin melakukan ekspor log kedalam berkas bertipe csv diperlukan sebuah ekstensi. Berikut contoh jika ektensi tersebut digunakan. Gambar berasal dari laman asli
- Report dapat dibuat sesuai dengan keinginan pembuat
- Hasil dari log akan berbentuk seperti berikut
gan mau tanya ini webnya punya pribadi atau organisasi ya? boleh minta sumber dari postingan ini tidak? untuk dimasukan kedalam tinjauan pustaka