কিভাবে অ্যাপাচি ওয়েব সার্ভার লোড এবং পৃষ্ঠা পরিসংখ্যান নিরীক্ষণ করবেন


এই নিবন্ধে, আপনি কীভাবে আপনার লিনাক্স ডিস্ট্রিবিউশনগুলি যেমন সেন্টোস, আরএইচএল এবং ফেডোরার মধ্যে মোড_স্ট্যাটাস মডিউল ব্যবহার করে অ্যাপাচি ওয়েব সার্ভার লোড এবং অনুরোধগুলি পর্যবেক্ষণ করবেন তা শিখবেন।

মোড_স্ট্যাটাস কী?

Mod_status একটি অ্যাপাচি মডিউল যা ওয়েব সার্ভার লোড এবং একটি ওয়েব ব্রাউজারের মাধ্যমে অ্যাক্সেস করা যায় এমন একটি এইচটিএমএল ইন্টারফেসের সাথে বর্তমান httpd সংযোগগুলি নিরীক্ষণ করতে সহায়তা করে।

অ্যাপাচি এর মোড_স্যাটাস একটি সরল এইচটিএমএল পৃষ্ঠা দেখায় যার মধ্যে রয়েছে ওয়েবসভারের বর্তমান পরিসংখ্যান সম্পর্কিত তথ্য।

  • আগত অনুরোধের মোট সংখ্যা
  • মোট বাইটস এবং গণনা করা সার্ভারের সংখ্যা
  • ওয়েব সার্ভারের সিপিইউ ব্যবহার
  • সার্ভার লোড
  • সার্ভার আপটাইম
  • মোট ট্র্যাফিক li
  • অলস কর্মীদের মোট সংখ্যা
  • >
  • সম্পর্কিত ক্লায়েন্ট এবং আরও অনেকের সাথে পিআইডি

ডিফল্ট অ্যাপাচি প্রকল্প তাদের সার্ভারের পরিসংখ্যান পৃষ্ঠাটিকে সাধারণ জনগণের জন্য সক্ষম করেছে। ব্যস্ত ওয়েব সাইটের স্থিতি পৃষ্ঠার একটি ডেমো পেতে, দেখুন।

  • https://status.apache.org/

কিছু ব্যবহারিক উদাহরণ এবং স্ক্রিন-শট নিয়ে মোড_স্ট্যাটাস সম্পর্কে আরও অন্বেষণ করতে আমরা এই নিবন্ধটির জন্য নিম্নলিখিত পরীক্ষার পরিবেশটি ব্যবহার করেছি।

  1. অপারেটিং সিস্টেম - CentOS 8/7
  2. অ্যাপ্লিকেশন - অ্যাপাচি ওয়েব সার্ভার
  3. আইপি ঠিকানা - 5.175.142.66
  4. ডকুমেন্টরুট -/var/www/html
  5. অ্যাপাচি কনফিগারেশন ফাইল - /etc/httpd/conf/httpd.conf
  6. ডিফল্ট HTTP পোর্ট - 80 টিসিপি
  7. পরীক্ষার কনফিগারেশন সেটিংস - httpd -t

এই টিউটোরিয়ালটির পূর্বশর্তগুলি হ'ল বেসিক অ্যাপাচি সার্ভারটি কীভাবে ইনস্টল ও কনফিগার করতে হয় সে সম্পর্কে আপনার ইতিমধ্যে সচেতন হওয়া উচিত। আপনি যদি অ্যাপাচি সেটআপ করতে না জানেন তবে নীচের নিবন্ধটি পড়ুন যা আপনাকে নিজের অ্যাপাচি ওয়েব সার্ভার সেট আপ করতে সহায়তা করতে পারে।

  1. আপনার নিজস্ব ওয়েবসার্ভার তৈরি করুন এবং লিনাক্সে একটি ওয়েবসাইট হোস্টিং

অ্যাপাচে Mod_status কীভাবে সক্ষম করবেন

ডিফল্ট অ্যাপাচি ইনস্টলেশন মোড_স্ট্যাটাস সক্ষম করে নিয়ে আসে। যদি তা না হয় তবে এপাচি কনফিগারেশন ফাইলটিতে এটি সক্ষম করার বিষয়ে নিশ্চিত হন।

 vi /etc/httpd/conf/httpd.conf

"মোড_স্ট্যাটাস" শব্দটির সন্ধান করুন বা আপনার একটি লাইন থাকা অবধি খুঁজে না আসা পর্যন্ত স্ক্রোল করে যাবেন।

#LoadModule status_module modules/mod_status.so

যদি আপনি "লোডমোডুল" এর শুরুতে কোনও "#" চরিত্রটি দেখতে পান, তার মানে মোড_স্ট্যাটাস অক্ষম। মোড_স্ট্যাটাস সক্ষম করতে ‘#’ সরান।

LoadModule status_module modules/mod_status.so

এখন আবার "অবস্থান" শব্দটি অনুসন্ধান করুন বা মোড_স্ট্যাটাসের জন্য কোনও বিভাগ খুঁজে না পাওয়া পর্যন্ত নীচে স্ক্রোল করুন যা নীচের মত দেখাচ্ছে।

# 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>

উপরের অংশে, অবস্থান নির্দেশিকা, সেটহ্যান্ডলার এবং আপনার প্রয়োজনীয়তা অনুসারে ডিরেক্টরি বিধিনিষেধের জন্য লাইনগুলিকে অবিচ্ছিন্ন করুন। উদাহরণস্বরূপ, আমি অর্ডার মঞ্জুরি দিয়ে অস্বীকার করুন এবং অস্বীকার করুন এবং এটি সবার জন্য অনুমোদিত with

<Location /server-status>
   SetHandler server-status
   Order allow,deny
   Deny from all
   Allow from all 
</Location>

<স্প্যান শৈলী = "রঙ: # ff0000;"> দ্রষ্টব্য: উপরের কনফিগারেশনটি ডিফল্ট অ্যাপাচি ওয়েব সাইট (একক ওয়েবসাইট) এর জন্য ডিফল্ট কনফিগারেশন। আপনি যদি এক বা একাধিক অ্যাপাচি ভার্চুয়াল হোস্ট তৈরি করে থাকেন তবে উপরের কনফিগারেশনটি কার্যকর হবে না।

সুতরাং, মূলত, আপনি অ্যাপাচে কনফিগার করেছেন এমন কোনও ডোমেনের জন্য প্রতিটি ভার্চুয়াল হোস্টের জন্য একই কনফিগারেশনটি আপনাকে সংজ্ঞায়িত করতে হবে। উদাহরণস্বরূপ, মোড_স্ট্যাটাসের জন্য ভার্চুয়াল হোস্ট কনফিগারেশন এর মতো দেখাবে।

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

"এক্সটেন্ডেডস্ট্যাটাস" সেটিংস সিপিইউ ব্যবহার, প্রতি সেকেন্ডের অনুরোধ, মোট ট্র্যাফিক ইত্যাদির মতো পরিসংখ্যান পৃষ্ঠায় আরও তথ্য যুক্ত করে এটি সক্ষম করতে একই httpd.conf ফাইলটি সম্পাদনা করুন এবং "বর্ধিত" শব্দটি অনুসন্ধান করুন এবং লাইনটি সেট করুন এবং সেট করুন এক্সটেনডেড স্ট্যাটাস নির্দেশের জন্য "চালু" অবস্থা।

# 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

এখন নিশ্চিত হয়ে নিন যে আপনি অ্যাপাচি সার্ভার-স্থিতি পৃষ্ঠাটি সঠিকভাবে সক্ষম এবং কনফিগার করেছেন। নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনি httpd.conf কনফিগারেশনের ত্রুটিগুলিও পরীক্ষা করতে পারেন।

 httpd -t

Syntax OK

একবার, আপনি সিনট্যাক্স ঠিক হয়ে গেলে আপনি httpd পরিষেবাটি পুনরায় আরম্ভ করতে সক্ষম হন।

 service httpd restart
OR
 systemctl restart httpd
Stopping httpd:                                          [  OK  ]
Starting httpd:                                          [  OK  ]

নিম্নলিখিত URL এর URL এ অ্যাপাচি স্থিতির পৃষ্ঠাটি আপনার ডোমেন নামের মাধ্যমে "/ সার্ভার-স্থিতি" দিয়ে অ্যাক্সেসযোগ্য হবে।

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

আপনি এক্সটেন্ডেডস্ট্যাটাস সক্ষম সহ নিম্নলিখিত পৃষ্ঠার অনুরূপ কিছু দেখতে পাবেন।

উপরের স্ন্যাপশটে আপনি দেখতে পাচ্ছেন যে একটি এইচটিএমএল ইন্টারফেস, যা সার্ভার আপটাইম সম্পর্কিত সমস্ত তথ্য দেখায়, আইডিটিকে তার নিজ নিজ ক্লায়েন্টের সাথে প্রসেস করে, তারা যে পৃষ্ঠাটিতে অ্যাক্সেস করার চেষ্টা করছে।

এটি স্থিতি প্রদর্শন করতে ব্যবহৃত সমস্ত সংক্ষিপ্তসারগুলির অর্থ এবং ব্যবহারও দেখায় যা পরিস্থিতি আরও ভালভাবে বুঝতে আমাদের সহায়তা করে।

আপডেট হওয়া পরিসংখ্যানগুলি দেখতে আপনি প্রতিবার সেকেন্ডে পৃষ্ঠাটি রিফ্রেশ করতে পারেন (5 সেকেন্ড বলুন)। স্বয়ংক্রিয় রিফ্রেশ সেট করতে, দয়া করে URL এর শেষে "? রিফ্রেশ = এন" যুক্ত করুন যেখানে আপনার পৃষ্ঠাটি সতেজ হওয়া সেকেন্ডের সংখ্যার সাথে এন প্রতিস্থাপন করা যেতে পারে।

http://serveripaddress/server-status/?refresh=5

আপনি লিঙ্ক বা লিঙ্ক নামে পরিচিত বিশেষ কমান্ড-লাইন ব্রাউজার ব্যবহার করে কমান্ড-লাইন ইন্টারফেস থেকে অ্যাপাচি স্থিতি পৃষ্ঠাটি দেখতে পারেন। আপনি নীচে প্রদর্শিত হিসাবে ইউম নামে ডিফল্ট প্যাকেজ ম্যানেজার ইউটিলিটি ব্যবহার করে এগুলি ইনস্টল করতে পারেন।

# yum install links

OR

# yum install lynx

একবার, আপনি ইনস্টল হয়ে গেলে, আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনার টার্মিনালে একই পরিসংখ্যান পেতে পারেন।

 links http://serveripaddress/server-status
OR
 lynx http://serveripaddress/server-status
OR
  /etc/init.d/httpd fullstatus
                     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

উপসংহার

ওয়েব সার্ভারের ক্রিয়াকলাপের কর্মক্ষমতা নিরীক্ষণের জন্য অ্যাপাচি'র Mod_status মডিউল একটি খুব কার্যকরী নিরীক্ষণ সরঞ্জাম এবং নিজেই সমস্যাগুলি হাইলাইট করতে সক্ষম। আরও তথ্যের জন্য স্ট্যাটাস পৃষ্ঠাটি পড়ুন যা আপনাকে আরও সফল ওয়েব সার্ভার প্রশাসক হতে সাহায্য করতে পারে।

  1. অ্যাপাচি Mod_status হোমপেজ

এটি এখনকার মোড_স্ট্যাটাসের জন্য, ভবিষ্যতের টিউটোরিয়ালে আমরা অ্যাপাচি সম্পর্কে আরও কিছু কৌশল এবং টিপস নিয়ে হাজির হব। ততক্ষণ গিকি থাকুন এবং linux-console.net এ টিউন করুন এবং আপনার মূল্যবান মন্তব্য যুক্ত করতে ভুলবেন না।