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.

  1. Sistem Operasi – CentOS 8/7
  2. Aplikasi – Server Web Apache
  3. Alamat IP – 5.175.142.66
  4. DocumentRoot – /var/www/html
  5. File Konfigurasi Apache – /etc/httpd/conf/httpd.conf
  6. Port HTTP Bawaan – 80 TCP
  7. 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.

  1. 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.

  1. 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.