Cara Memantau Beban Server Web Apache dan Statistik Halaman
Dalam artikel ini, Anda akan mempelajari cara memantau beban dan permintaan server web Apache menggunakan modul mod_status di distribusi Linux Anda seperti CentOS, < kuat>RHEL, dan Fedora.
Apa itu mod_status?
mod_status adalah modul Apache yang membantu memantau beban server web dan koneksi httpd saat ini dengan antarmuka HTML yang dapat diakses melalui browser web.
mod_status Apache menampilkan halaman HTML biasa yang berisi informasi tentang statistik server web terkini termasuk.
- Jumlah total permintaan masuk
- Jumlah total byte dan jumlah server
- Penggunaan CPU Server Web
- Beban Server
- Waktu Aktif Server
- Jumlah Lalu Lintas
- Jumlah total pekerja yang menganggur
- PID dengan masing-masing klien dan banyak lagi.
Proyek Apache default mengaktifkan halaman statistik server mereka untuk masyarakat umum. Untuk mendapatkan demo halaman status situs web yang sibuk, kunjungi.
- https://status.apache.org/
Lingkungan Pengujian
Kami telah menggunakan Lingkungan Pengujian berikut dalam artikel ini untuk menjelajahi lebih lanjut tentang mod_status dengan beberapa contoh praktis dan cuplikan layar.
- Sistem Operasi – CentOS 8/7
- Aplikasi – Server Web Apache
- Alamat IP – 5.175.142.66
- DocumentRoot – /var/www/html
- File Konfigurasi Apache – /etc/httpd/conf/httpd.conf
- Port HTTP Bawaan – 80 TCP
- Tes Pengaturan Konfigurasi – httpd -t
Prasyarat untuk tutorial ini adalah Anda harus sudah mengetahui cara memasang dan mengonfigurasi Server Apache Dasar. Jika Anda tidak tahu cara menyiapkan Apache, baca artikel berikut yang mungkin bisa membantu Anda dalam menyiapkan Server Web Apache Anda sendiri.
- Buat Server Web Anda Sendiri dan Hosting Situs Web di Linux
Cara Mengaktifkan mod_status di Apache
Instalasi Apache default dilengkapi dengan mod_status yang diaktifkan. Jika tidak, pastikan untuk mengaktifkannya di file konfigurasi Apache.
[root@tecmint ~]# vi /etc/httpd/conf/httpd.conf
Telusuri kata “mod_status ” atau gulir terus ke bawah hingga Anda menemukan baris yang berisi.
#LoadModule status_module modules/mod_status.so
Jika Anda melihat karakter '#' di awal “LoadModule”, itu berarti mod_status dinonaktifkan. Hapus '#' untuk mengaktifkan mod_status.
LoadModule status_module modules/mod_status.so
Konfigurasikan mod_status
Sekarang cari lagi kata “Lokasi ” atau gulir ke bawah hingga Anda menemukan bagian mod_status yang akan terlihat seperti berikut.
Allow server status reports generated by mod_status,
with the URL of http://servername/server-status
Change the ".example.com" to match your domain to enable.
#
#<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from .example.com
#</Location>
Pada bagian di atas, hapus komentar pada baris untuk Petunjuk lokasi, SetHandler, dan pembatasan direktori sesuai dengan kebutuhan Anda. Misalnya, saya menyederhanakannya dengan Pesanan Izinkan, tolak dan diizinkan untuk semua.
<Location /server-status>
SetHandler server-status
Order allow,deny
Deny from all
Allow from all
</Location>
Catatan: Konfigurasi di atas adalah konfigurasi default untuk situs web default Apache (situs web tunggal). Jika Anda telah membuat satu atau lebih Apache Virtual Host, konfigurasi di atas tidak akan berfungsi.
Jadi, pada dasarnya, Anda perlu menentukan konfigurasi yang sama untuk setiap host virtual untuk domain apa pun yang telah Anda konfigurasikan di Apache. Misalnya konfigurasi virtual host untuk mod_status akan terlihat seperti ini.
<VirtualHost *:80>
ServerAdmin [email
DocumentRoot /var/www/html/example.com
ServerName example.com
ErrorLog logs/example.com-error_log
CustomLog logs/example.com-access_log common
<Location /server-status>
SetHandler server-status
Order allow,deny
Deny from all
Allow from example.com
</Location>
</VirtualHost>
Aktifkan ExtendedStatus
Setelan “ExendedStatus” menambahkan lebih banyak informasi ke laman statistik seperti penggunaan CPU, permintaan per detik, lalu lintas total , dll. Untuk mengaktifkannya, edit file httpd.conf yang sama dan cari kata “Diperluas ” dan Batalkan komentar pada baris tersebut dan setel status “Aktif< ” untuk direktif ExendedStatus.
ExtendedStatus controls whether Apache will generate "full" status
information (ExtendedStatus On) or just basic information (ExtendedStatus
Off) when the "server-status" handler is called. The default is Off.
#
ExtendedStatus On
Mulai ulang Apache
Sekarang pastikan Anda telah mengaktifkan dan mengkonfigurasi halaman status server Apache dengan benar. Anda juga dapat memeriksa kesalahan pada konfigurasi httpd.conf menggunakan perintah berikut.
[root@tecmint ~]# httpd -t
Syntax OK
Setelah Anda mendapatkan sintaks OK, Anda dapat memulai ulang layanan httpd.
[root@tecmint ~]# service httpd restart
OR
[root@tecmint ~]# systemctl restart httpd
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
Akses Halaman mod_status
Halaman status Apache akan dapat diakses melalui nama domain Anda dengan “/server-status” di URL berikut.
http://serveripaddress/server-status
OR
http://serev-hostname/server-status
Anda akan melihat sesuatu yang mirip dengan halaman berikut dengan ExendedStatus diaktifkan.
Dalam cuplikan di atas, Anda dapat melihat antarmuka HTML, yang menampilkan semua informasi tentang waktu aktif server, Id proses dengan masing-masing klien, halaman yang mereka coba akses.
Ini juga menunjukkan arti dan penggunaan semua singkatan yang digunakan untuk menampilkan status yang membantu kita memahami situasi dengan lebih baik.
Anda juga dapat menyegarkan laman setiap detik (misalnya 5 detik) untuk melihat statistik terkini. Untuk mengatur penyegaran otomatis, tambahkan “?refresh=N” di akhir URL. Dimana N dapat diganti dengan jumlah detik yang Anda inginkan untuk menyegarkan halaman Anda.
http://serveripaddress/server-status/?refresh=5
Tampilan Halaman Status Baris Perintah
Anda juga dapat melihat halaman status Apache dari antarmuka baris perintah menggunakan browser baris perintah khusus yang disebut link atau lynx. Anda dapat menginstalnya menggunakan utilitas manajer paket default yang disebut yum seperti yang ditunjukkan di bawah ini.
yum install links
OR
yum install lynx
Setelah Anda menginstalnya, Anda bisa mendapatkan statistik yang sama di terminal Anda dengan menggunakan perintah berikut.
[root@tecmint ~]# links http://serveripaddress/server-status
OR
[root@tecmint ~]# lynx http://serveripaddress/server-status
OR
[root@tecmint ~]# /etc/init.d/httpd fullstatus
Contoh Keluaran
Apache Server Status for localhost
Server Version: Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3
Server Built: Aug 13 2013 17:29:28
--------------------------------------------------------------------------
Current Time: Tuesday, 14-Jan-2014 04:34:13 EST
Restart Time: Tuesday, 14-Jan-2014 00:33:05 EST
Parent Server Generation: 0
Server uptime: 4 hours 1 minute 7 seconds
Total accesses: 2748 - Total Traffic: 9.6 MB
CPU Usage: u.9 s1.06 cu0 cs0 - .0135% CPU load
.19 requests/sec - 695 B/second - 3658 B/request
1 requests currently being processed, 4 idle workers
.__.__W...
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of a worker, "." Open slot with no current process
Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request
0-0 - 0/0/428 . 0.30 5572 0 0.0 0.00 1.34 127.0.0.1 5.175.142.66 OPTIONS * HTTP/1.0
GET
1-0 5606 0/639/639 _ 0.46 4 0 0.0 2.18 2.18 115.113.134.14 5.175.142.66 /server-status?refresh=5
HTTP/1.1
GET
2-0 5607 0/603/603 _ 0.43 0 0 0.0 2.09 2.09 115.113.134.14 5.175.142.66 /server-status?refresh=5
HTTP/1.1
3-0 - 0/0/337 . 0.23 5573 0 0.0 0.00 1.09 127.0.0.1 5.175.142.66 OPTIONS * HTTP/1.0
GET
4-0 5701 0/317/317 _ 0.23 9 0 0.0 1.21 1.21 115.113.134.14 5.175.142.66 /server-status?refresh=5
HTTP/1.1
GET
5-0 5708 0/212/213 _ 0.15 6 0 0.0 0.85 0.85 115.113.134.14 5.175.142.66 /server-status?refresh=5
HTTP/1.1
6-0 5709 0/210/210 W 0.16 0 0 0.0 0.84 0.84 127.0.0.1 5.175.142.66 GET /server-status
HTTP/1.1
7-0 - 0/0/1 . 0.00 5574 0 0.0 0.00 0.00 127.0.0.1 5.175.142.66 OPTIONS * HTTP/1.0
--------------------------------------------------------------------------
Srv Child Server number - generation
PID OS process ID
Acc Number of accesses this connection / this child / this slot
M Mode of operation
CPU CPU usage, number of seconds
SS Seconds since the beginning of the most recent request
Req Milliseconds required to process most recent request
Conn Kilobytes transferred this connection
Child Megabytes transferred this child
Slot Total megabytes transferred this slot
--------------------------------------------------------------------------
Apache/2.2.15 (CentOS) Server at localhost Port 80
Kesimpulan
Modul mod_status Apache adalah alat pemantauan yang sangat berguna untuk memantau kinerja aktivitas server web dan dapat menyoroti masalah itu sendiri. Untuk informasi lebih lanjut, baca halaman status yang dapat membantu Anda menjadi administrator server web yang lebih sukses.
- Beranda mod_status Apache
Itu saja untuk mod_status untuk saat ini, kami akan memberikan beberapa trik dan tips lainnya tentang Apache di tutorial selanjutnya. Sampai saat itu tetap Geeky dan pantau linux-console.net dan jangan lupa untuk menambahkan komentar Anda yang berharga.