লগিং | nginx
সুচিপত্র:
- অ্যাক্সেস লগটি কনফিগার করা হচ্ছে
- ত্রুটি লগ কনফিগার করা হচ্ছে
- লগ ফাইলগুলির অবস্থান
- এনগিনেক্স লগ ফাইলগুলি পড়া এবং বোঝা
- উপসংহার
এনগিনেক্স একটি ওপেন-সোর্স, উচ্চ-পারফরম্যান্স এইচটিটিপি এবং বিপরীত প্রক্সি সার্ভার যা ইন্টারনেটের বৃহত্তম কিছু সাইটের লোড পরিচালনার জন্য দায়ী। এনজিআইএনএক্স ওয়েব সার্ভার পরিচালনা করার সময়, আপনি যে সবচেয়ে ঘন ঘন কাজটি সম্পাদন করেন তা হ'ল লগ ফাইলগুলি পরীক্ষা করা।
সার্ভার বা অ্যাপ্লিকেশন সমস্যাগুলির সমাধান করার সময় লগগুলি কীভাবে কনফিগার করতে এবং পড়তে হয় তা কার্যকরভাবে দরকারী যখন তারা বিস্তারিত ডিবাগিং তথ্য সরবরাহ করে।
এনগিনেক্স দুটি ইভেন্টের লগগুলিতে এর ইভেন্টগুলির রেকর্ড লিখেছেন: অ্যাক্সেস লগ এবং ত্রুটি লগ। অ্যাক্সেস লগগুলি ক্লায়েন্টের অনুরোধগুলি সম্পর্কে তথ্য লিখতে পারে এবং ত্রুটিযুক্ত লগগুলি সার্ভার এবং অ্যাপ্লিকেশন সম্পর্কিত সমস্যাগুলি সম্পর্কে তথ্য লেখায়।
এই নিবন্ধটি এনগিনেক্স অ্যাক্সেস এবং ত্রুটি লগগুলি কীভাবে কনফিগার করতে এবং পড়তে হবে তার রূপরেখা দেয়।
অ্যাক্সেস লগটি কনফিগার করা হচ্ছে
যখনই কোনও ক্লায়েন্টের অনুরোধটি প্রক্রিয়া করা হয়, এনগিনেক্স অ্যাক্সেস লগটিতে একটি নতুন ইভেন্ট উত্পন্ন করে। প্রতিটি ইভেন্ট রেকর্ডে একটি টাইমস্ট্যাম্প থাকে এবং এতে ক্লায়েন্ট এবং অনুরোধ করা সংস্থান সম্পর্কে বিভিন্ন তথ্য অন্তর্ভুক্ত থাকে। অ্যাক্সেস লগগুলি আপনাকে দর্শকদের অবস্থান, তারা যে পৃষ্ঠাতে দেখেছিল, পৃষ্ঠায় তারা কতটা সময় ব্যয় করে এবং আরও অনেক কিছু দেখায়।
log_format
নির্দেশ আপনাকে লগ করা বার্তাগুলির ফর্ম্যাট নির্ধারণ করতে দেয়।
access_log
নির্দেশটি লগ ফাইল এবং ব্যবহৃত ফর্ম্যাটটির অবস্থান সক্ষম করে এবং সেট করে।
access_log
নির্দেশিকার সর্বাধিক প্রাথমিক বাক্য
access_log
নিম্নরূপ:
access_log log_file log_format;
যেখানে লগ-ফাইল
log_format
লগ ফাইলের সম্পূর্ণ পথ এবং লগ-ফর্ম্যাটটি লগ ফাইল দ্বারা ব্যবহৃত বিন্যাস।
অ্যাক্সেস লগটি
http
,
server
বা
location
নির্দেশাবলী ব্লকে সক্ষম হতে পারে।
ডিফল্টরূপে, অ্যাক্সেস লগটি মূল এনগিনেক্স কনফিগারেশন ফাইলের অভ্যন্তরে
http
নির্দেশিকায় বিশ্বব্যাপী সক্ষম হয়।
http {… access_log /var/log/nginx/access.log;… }
আরও ভাল রক্ষণাবেক্ষণের জন্য, প্রতিটি সার্ভার ব্লকের জন্য পৃথক অ্যাক্সেস লগ ফাইল সেট করার পরামর্শ দেওয়া হয়।
server
নির্দেশিকায়
access_log
নির্দেশিকাটি
access_log
(উচ্চ স্তরের) নির্দেশিকার একটি সেটকে ওভাররাইড করে।
http {… access_log /var/log/nginx/access.log;… server { server_name domain.com access_log /var/log/nginx/domain.access.log;… } }
যদি কোনও লগ ফর্ম্যাট নির্দিষ্ট না করা থাকে তবে এনগিনেক্স পূর্বনির্ধারিত সম্মিলিত ফর্ম্যাট ব্যবহার করে যা এর মতো দেখায়:
log_format combined '$remote_addr - $remote_user ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';
লগিং ফর্ম্যাটটি পরিবর্তন করতে হয় ডিফল্ট সেটিংস ওভাররাইড করে অথবা একটি নতুন সংজ্ঞা দেয়। উদাহরণস্বরূপ মূল নামের একটি নতুন লগিং ফর্ম্যাট সংজ্ঞায়িত করতে যা
X-Forwarded-For
শিরোনামের মান সহ সম্মিলিত ফর্ম্যাটটি প্রসারিত করবে
http
বা
server
নির্দেশিকায় নিম্নলিখিত সংজ্ঞাটি যুক্ত করবে:
log_format custom '$remote_addr - $remote_user "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
নতুন ফর্ম্যাটটি ব্যবহার করতে, নীচের মত লগ ফাইলের পরে এর নামটি উল্লেখ করুন:
access_log /var/log/nginx/access.log custom;
অ্যাক্সেস লগ খুব দরকারী তথ্য সরবরাহ করে। এটি ডিস্কের জায়গা নেয় এবং এটি সার্ভারের কার্য সম্পাদনকে প্রভাবিত করতে পারে। যদি আপনার সার্ভারে সংস্থান কম থাকে এবং আপনার একটি ব্যস্ত ওয়েবসাইট থাকে তবে আপনি অ্যাক্সেস লগটি অক্ষম করতে চাইতে পারেন। এটি করতে,
access_log
নির্দেশকের মানটি
off
:
ত্রুটি লগ কনফিগার করা হচ্ছে
এনগিনেক্স ত্রুটি লগ ফাইলে অ্যাপ্লিকেশন এবং সাধারণ সার্ভার ত্রুটি সম্পর্কে বার্তা লেখেন। আপনি যদি আপনার ওয়েব অ্যাপ্লিকেশনটিতে ত্রুটি অনুভব করছেন, সমস্যা সমাধানের সমস্যার জন্য ত্রুটি লগই প্রথম স্থান।
error_log
নির্দেশটি ত্রুটি লগের অবস্থান এবং তীব্রতার স্তরটিকে সক্ষম করে এবং সেট করে। এটি নিম্নলিখিত ফর্মটি গ্রহণ করে এবং এটি কোনও
http
,
server
বা
location
ব্লকের মধ্যে সেট করা যেতে পারে:
error_log log_file log_level
লগ-লেভেল পরামিতি লগিংয়ের স্তর নির্ধারণ করে। নীচে তাদের তীব্রতার দ্বারা নীচে স্তরের তালিকা দেওয়া হয়েছে (নিম্ন থেকে উচ্চে):
-
debug
- ডিবাগিং বার্তাগুলি।info
- তথ্যমূলক বার্তা।notice
- বিজ্ঞপ্তিwarn
- সতর্কতা।error
- একটি অনুরোধ প্রক্রিয়া করার সময় ত্রুটি।crit
- সমালোচনামূলক সমস্যা। একটি তাত্ক্ষণিক পদক্ষেপ প্রয়োজন।alert
- সতর্কতা অবিলম্বে ব্যবস্থা নেওয়া উচিত।emerg
- জরুরী অবস্থা। সিস্টেমটি অকেজো অবস্থায় রয়েছে।
প্রতিটি লগ স্তর উচ্চ স্তরের অন্তর্ভুক্ত। উদাহরণস্বরূপ, আপনি
warn
করার জন্য লগ স্তরটি সেট করা থাকলে,
crit
error
,
crit
,
alert
এবং
emerg
বার্তাগুলিও লগ করবে।
log_level
প্যারামিটারটি নির্দিষ্ট না করা হলে এটি
error
ডিফল্ট হয়।
ডিফল্টরূপে, ত্রুটি_লগ নির্দেশকে মূল এনজিনএক্স.কনফ ফাইলের ভিতরে
http
নির্দেশিকায় সংজ্ঞায়িত করা হয়:
http {… error_log /var/log/nginx/error.log;… }
অ্যাক্সেস লগগুলির মতোই, প্রতিটি সার্ভার ব্লকের জন্য পৃথক ত্রুটি লগ ফাইল সেট করার পরামর্শ দেওয়া হয়, যা উচ্চ স্তর থেকে উত্তরাধিকার সূত্রে প্রাপ্ত সেটিংসকে ওভাররাইড করে।
উদাহরণস্বরূপ, ডোমেন ডট কমকে ত্রুটিযুক্ত লগ সেট করতে আপনি
warn
করতে ব্যবহার করবেন:
http {… error_log /var/log/nginx/error.log;… server { server_name domain.com error_log /var/log/nginx/domain.error.log warn;… } }
আপনি যখনই কনফিগারেশন ফাইলটি পরিবর্তন করেন, পরিবর্তনগুলি কার্যকর করতে আপনাকে Nginx পরিষেবাটি পুনরায় চালু করতে হবে।
লগ ফাইলগুলির অবস্থান
বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশনের উপর যেমন উবুন্টু, সেন্টোস এবং ডেবিয়ান, অ্যাক্সেস এবং ত্রুটি লগগুলি
/var/log/nginx
ডিরেক্টরিতে অবস্থিত।
এনগিনেক্স লগ ফাইলগুলি পড়া এবং বোঝা
আপনি
cat
,
less
,
grep
,
cut
,
awk
মতো স্ট্যান্ডার্ড কমান্ড ব্যবহার করে লগ ফাইলগুলি খুলতে এবং পার্স করতে পারেন।
অ্যাক্সেস লগ ফাইলের একটি উদাহরণ রেকর্ড যা ডিফল্ট সংযুক্ত Nginx লগ ফর্ম্যাটটি ব্যবহার করে:
192.168.33.1 - - "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"
আসুন রেকর্ডের প্রতিটি ক্ষেত্রের অর্থটি ভেঙে দেওয়া যাক:
-
$remote_addr
-192.168.33.1
- অনুরোধ করা ক্লায়েন্টের আইপি ঠিকানা।$remote_user
--
- HTTP প্রমাণীকরণকারী ব্যবহারকারী। যখন ব্যবহারকারীর নাম সেট করা থাকে না, তখন এই ক্ষেত্রটি দেখায়-
। -"$request"
-"GET /
- অনুরোধের ধরণ, পথ এবং প্রোটোকল।$status
-200
- সার্ভারের প্রতিক্রিয়া কোড।$body_bytes_sent
-396
- বাইটে সার্ভারের প্রতিক্রিয়ার আকার।"$http_referer"
-"-"
- রেফারেলের URL।"$http_user_agent"
-Mozilla/5.0…
- ক্লায়েন্টের ব্যবহারকারী এজেন্ট (ওয়েব ব্রাউজার)।
রিয়েল-টাইমে লগ ফাইলটি দেখতে
tail
কমান্ডটি ব্যবহার করুন:
উপসংহার
লগ ফাইলগুলি আপনাকে সার্ভার সমস্যা এবং দর্শকদের কীভাবে আপনার ওয়েবসাইটের সাথে ইন্টারঅ্যাক্ট করে সে সম্পর্কে দরকারী তথ্য সরবরাহ করে।
Nginx আপনাকে আপনার প্রয়োজন অনুসারে অ্যাক্সেস এবং ত্রুটি লগগুলি কনফিগার করতে দেয়।
nginxউইন্ডোতে ফাইল বা ফোল্ডার অ্যাক্সেস করার সময় অ্যাক্সেস অস্বীকার করা ত্রুটি সরান

ফাইল এবং ফোল্ডারগুলির সাথে অ্যাক্সেস বা কাজ করার চেষ্টা করলে আপনি অ্যাক্সেস অস্বীকার করতে পারেন বা অন্যান্য ত্রুটি আপনি এই সমস্যাটি মোকাবেলা করার চেষ্টা করতে পারেন।
পাসওয়ার্ড সুরক্ষিত, অ্যাক্সেস অ্যাক্সেস সীমিত করে, AppAdmin ব্যবহার করে প্রোগ্রামগুলি অ্যাক্সেস সীমিত করে পাসওয়ার্ডটি সুরক্ষা এবং সীমাবদ্ধ করুন। AppAdmin ব্যবহার করে প্রোগ্রামগুলি < । AppAdmin চলমান প্রোগ্রামগুলিকে বাধা দেয়।

আমরা দেখেছি কিভাবে ব্যবহারকারীরা প্রোগ্রামগুলি ইনস্টল করতে বা চলমান থেকে প্রোগ্রামগুলিকে প্রতিরোধ করতে পারে বা উইন্ডোজ 7 এ গ্রুপ নীতি ব্যবহার করে শুধুমাত্র নির্দিষ্ট প্রোগ্রাম চালানোর জন্য উইন্ডোজ কনফিগার করতে পারে।
নিরাপদ বুট সঠিকভাবে কনফিগার করা হয় না। সঠিকভাবে বুট উইন্ডোজ 10 / 8.1 তে সঠিকভাবে কনফিগার করা হয় না।

যদি আপনি একটি নিরাপদ বুট সঠিকভাবে কনফিগার করেন না উইন্ডোজ 10 / 8.1 এ আপগ্রেড করার পর আপনার উইন্ডোজ ডেস্কটপে বার্তা প্রদর্শন করুন, এই পোস্টটি আপনাকে এটি ঠিক করতে সাহায্য করবে।