সিসডিগ - লিনাক্সের জন্য একটি শক্তিশালী সিস্টেম মনিটরিং এবং ট্রাবলশুটিং সরঞ্জাম


সিসডিগ লিনাক্সের জন্য একটি ওপেন সোর্স, ক্রস প্ল্যাটফর্ম, শক্তিশালী এবং নমনীয় সিস্টেম মনিটরিং এবং সমস্যা সমাধানের সরঞ্জাম; এটি উইন্ডোজ এবং ম্যাক ওএসএক্স-তে কাজ করে তবে সীমিত কার্যকারিতা সহ এবং এটি সিস্টেম বিশ্লেষণ, পরিদর্শন এবং ডিবাগিংয়ের জন্য ব্যবহার করা যেতে পারে।

সাধারণত, আপনি লিনাক্স পর্যবেক্ষণ এবং ডিবাগিং কার্য সম্পাদন করতে নীচের তালিকাভুক্ত বিভিন্ন লিনাক্স পারফরম্যান্স মনিটরিং এবং ট্রাবলশুটিং সরঞ্জামগুলির মিশ্রণ নিয়োগ করবেন:

  1. স্ট্রেস - কোনও প্রক্রিয়াতে সিস্টেম কল এবং সিগন্যাল আবিষ্কার করুন
  2. tcpdump - কাঁচা নেটওয়ার্ক ট্রাফিক নিরীক্ষণ
  3. নেটস্প্যাট - নেটওয়ার্ক সংযোগ নিরীক্ষণ
  4. হটো - রিয়েল টাইম প্রক্রিয়া পর্যবেক্ষণ।
  5. আইফটপ - রিয়েল টাইম নেটওয়ার্ক ব্যান্ডউইথ মনিটরিং
  6. lsof - কোন প্রক্রিয়াটি দ্বারা কোন ফাইলগুলি খোলার তা দেখুন

যাইহোক, sysdig উপরের সমস্ত সরঞ্জাম এবং আরও অনেক কি একীভূত করে, একক এবং সাধারণ প্রোগ্রামে অফার করে, তাই আশ্চর্যজনক ধারক সমর্থন সহ। এটি আপনাকে লিনাক্স সিস্টেমের পাশাপাশি ধারকগুলির আসল আচরণ (ইভেন্টগুলির প্রবাহ) ক্যাপচার, সংরক্ষণ, ফিল্টার এবং পরীক্ষা করতে সক্ষম করে।

এটি একটি কমান্ড লাইন ইন্টারফেস এবং একটি শক্তিশালী ইন্টারেক্টিভ UI (csysdig) এর সাথে আসে যা আপনাকে রিয়েল টাইমে সিস্টেমের ক্রিয়াকলাপটি দেখতে দেয় বা একটি ট্রেস ডাম্প সম্পাদন করতে এবং পরবর্তী বিশ্লেষণের জন্য সংরক্ষণ করতে পারে। নীচের ভিডিওটি থেকে কীভাবে সিএসডিডিগ কাজ করে তা আপনি দেখতে পারেন।

  • এটি পুরোপুরি ভাল ডকুমেন্টেড সহ দ্রুত, স্থিতিশীল এবং সহজেই ব্যবহারযোগ্য
  • ডকার, এলএক্সসি সহ কন্টেইনার প্রযুক্তির জন্য স্থানীয় সমর্থন নিয়ে আসে
  • এটি লুয়ার স্ক্রিপ্টযোগ্য; ক্যাপচার হওয়া সিস্টেম ইভেন্টগুলি প্রক্রিয়াকরণের জন্য চিসেল (লাইটওয়েট লুয়া স্ক্রিপ্টস) সরবরাহ করে
  • কার্যকর আউটপুট ফিল্টারিং সমর্থন করে
  • সিস্টেম এবং অ্যাপ্লিকেশন ট্রেসিং সমর্থন করে
  • এটি উত্তরীয়, পুতুল এবং লগস্ট্যাশের সাথে সংহত করা যায়
  • নমুনা উন্নত লগ বিশ্লেষণ সক্ষম করুন
  • এটি নৈতিক হ্যাকার এবং আরও অনেকের জন্য লিনাক্স সার্ভার অ্যাটাক (ফরেনসিক) বিশ্লেষণ বৈশিষ্ট্যগুলিও সরবরাহ করে

এই নিবন্ধে, আমরা কীভাবে একটি লিনাক্স সিস্টেমে সিস্টেগ ইনস্টল করতে পারি এবং সিস্টেম বিশ্লেষণ, পর্যবেক্ষণ এবং সমস্যা সমাধানের প্রাথমিক উদাহরণ সহ এটি ব্যবহার করব।

কীভাবে লিনাক্সে সিসডিগ ইনস্টল করবেন

Sysdig প্যাকেজ ইনস্টল করা নীচের কমান্ডটি চালানোর মতোই সহজ, যা সমস্ত প্রয়োজনীয়তা যাচাই করবে; যদি প্রতিটি জিনিস স্থানে থাকে তবে এটি ড্রিয়োস এপিটি/ইউইউএম সংগ্রহশালা থেকে প্যাকেজটি ডাউনলোড এবং ইনস্টল করবে।

# curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash 
OR
$ curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

এটি ইনস্টল করার পরে আপনাকে সিস্টেগটি রুট হিসাবে চালনা করতে হবে কারণ এটির জন্য/proc ফাইল সিস্টেম,/dev/sysdig * ডিভাইসগুলির মতো জটিল অঞ্চলে অ্যাক্সেস প্রয়োজন এবং সিস্টেগ-প্রোব কার্নেল মডিউলটি স্বয়ংক্রিয়ভাবে লোড করা প্রয়োজন (যদি তা না হয়) ; অন্যথায় sudo কমান্ড ব্যবহার করুন।

সর্বাধিক প্রাথমিক উদাহরণটি কোনও যুক্তি ছাড়াই এটি চালানো হচ্ছে, এটি আপনাকে রিয়েল-টাইমে আপডেট হওয়া ইভেন্টগুলির আপনার লিনাক্স সিস্টেম প্রবাহটি দেখতে সক্ষম করবে:

$ sudo sysdig

উপরের আউটপুট (কাঁচা ডেটা) সম্ভবত আপনাকে বেশি বোঝায় না, আরও কার্যকর আউটপুট চালানোর জন্য সিএসডিগ:

$ sudo csysdig 

দ্রষ্টব্য: এই সরঞ্জামটির প্রকৃত অনুভূতি পেতে আপনাকে সিসডিগ ব্যবহার করতে হবে যা চলমান লিনাক্স সিস্টেম থেকে আমরা আগে যেমন দেখেছি কাঁচা ডেটা তৈরি করে: এটি আপনাকে কীভাবে ফিল্টার এবং ছিসেল ব্যবহার করবেন তা বোঝার জন্য আহ্বান জানায়।

তবে আপনার যদি সিসডিগ ব্যবহারের বেদনাবিহীন উপায়ের প্রয়োজন হয় - সিসডডিগ দিয়ে চালিয়ে যান।

সিসডিগ চিজেল এবং ফিল্টারগুলি বোঝা

সিসডিগ চিসেলগুলি সিস্টেমেড সিস্টেমের সমস্যা সমাধানের ক্রিয়া এবং আরও অনেকগুলি কার্যকর করার জন্য সিসডিগ ইভেন্ট প্রবাহটি পরীক্ষা করার জন্য ন্যূনতম লুয়া স্ক্রিপ্ট। নীচের কমান্ডটি আপনাকে সমস্ত উপলভ্য ছানেল দেখতে সহায়তা করবে:

$ sudo sysdig -cl

স্ক্রিন শটটি বিভিন্ন বিভাগের অধীনে ছনির একটি নমুনা তালিকা দেখায়।

যদি আপনি কোনও নির্দিষ্ট ছানির সম্পর্কে আরও তথ্য জানতে চান তবে -i পতাকাটি ব্যবহার করুন:

$ sudo sysdig -i topprocs_cpu

ইভেন্ট স্ট্রিম থেকে যে ধরণের আউটপুট আপনি পেতে পারেন সিসডিগ ফিল্টারগুলি আরও শক্তি যোগ করে, তারা আপনাকে আউটপুট কাস্টমাইজ করার অনুমতি দেয়। কমান্ড লাইনের শেষে আপনার সেগুলি নির্দিষ্ট করা উচিত।

একটি সরল এবং সাধারণ ফিল্টার হল একটি মৌলিক "শ্রেণি.ফিল্ড = মান" চেক, আপনি আরও শক্তিশালী কাস্টমাইজেশনের জন্য ফিল্টারগুলির সাথে ছিসেলগুলিও একত্র করতে পারেন।

উপলব্ধ ক্ষেত্রের শ্রেণি, ক্ষেত্র এবং তাদের বিবরণগুলির তালিকা দেখতে, টাইপ করুন:

$ sudo sysdig -l

পরবর্তী বিশ্লেষণের জন্য একটি ফাইলে সিসডিগ আউটপুট ডাম্প করতে, -w পতাকাটি ব্যবহার করুন।

আপনি -r পতাকা ব্যবহার করে ট্রেস ডাম্প ফাইলটি পড়তে পারেন:

$ sudo sysdig -r trace.scap

-s বিকল্পটি প্রতিটি সিস্টেম ইভেন্টের জন্য ক্যাপচার হওয়ার জন্য ডেটা বাইটের পরিমাণ নির্দিষ্ট করতে ব্যবহৃত হয়। এই উদাহরণে, আমরা মঙ্গড প্রক্রিয়াটির জন্য ইভেন্টগুলি ফিল্টার করছি।

$ sudo sysdig -s 3000 -w trace.scap
$ sudo sysdig -r trace.scap proc.name=mongod

সিস্টেম প্রক্রিয়াগুলির তালিকা করতে, টাইপ করুন:

$ sudo sysdig -c ps

সিপিইউ ব্যবহারের শতাংশের দ্বারা শীর্ষ প্রক্রিয়াগুলি দেখতে এই কমান্ডটি চালান:

$ sudo sysdig -c topprocs_cpu

সিস্টেমের নেটওয়ার্ক সংযোগগুলি দেখতে, চালনা করুন:

$ sudo sysdig -c netstat

নিম্নলিখিত কমান্ডটি আপনাকে মোট বাইট দ্বারা শীর্ষ নেটওয়ার্ক সংযোগ তালিকা করতে সহায়তা করবে:

$ sudo sysdig -c topconns

এরপরে, আপনি নীচে নেটওয়ার্ক I/O দ্বারা শীর্ষ প্রক্রিয়াগুলি তালিকাভুক্ত করতে পারেন:

$ sudo sysdig -c topprocs_net    

আপনি নীচে হিসাবে প্রক্রিয়া দ্বারা পড়া এবং লিখিত তথ্য আউটপুট করতে পারেন:

$ sudo sysdig -c echo_fds

ডিস্ক বাইট দ্বারা (পড়ুন + লিখুন) শীর্ষস্থানীয় প্রক্রিয়াগুলির তালিকা করতে, ব্যবহার করুন:

$ sudo sysdig -c topprocs_file   

সিস্টেমে বাধা (স্লো সিস্টেম কল) উপর নজর রাখতে, এই আদেশটি কার্যকর করুন:

$ sudo sysdig -c bottlenecks

একটি প্রক্রিয়া সম্পাদনের সময় ট্র্যাক করতে, আপনি এই আদেশটি চালাতে পারেন এবং কোনও ফাইলটিতে ট্রেসটি ফেলে দিতে পারেন:

$ sudo sysdig -w extime.scap -c proc_exec_time 

তারপরে একটি নির্দিষ্ট প্রক্রিয়া সম্পর্কিত বিবরণ (এই উদাহরণে পোস্টগ্রিজ) নীচে শূন্যের জন্য একটি ফিল্টার ব্যবহার করুন:

$ sudo sysdig -r extime.scap proc.name=postgres

এই সাধারণ কমান্ডটি আপনাকে ধীর গতির নেটওয়ার্ক I/0 সনাক্ত করতে সহায়তা করবে:

$ sudo sysdig -c netlower     

নীচের কমান্ডটি আপনাকে সিসলোগে লেখা প্রতিটি বার্তা প্রদর্শন করতে সহায়তা করে, যদি আপনি কোনও নির্দিষ্ট প্রক্রিয়াটির জন্য লগ এন্ট্রিগুলিতে আগ্রহী হন তবে ট্রেস ডাম্প তৈরি করুন এবং সেটিকে আগের মতো ফিল্টার করে আউট করুন:

$ sudo sysdig -c spy_syslog      

আপনি কোনও প্রক্রিয়া দ্বারা লিখিত যে কোনও ডেটা নিম্নরূপ লগ ফাইলে মুদ্রণ করতে পারেন:

$ sudo sysdig -c spy_logs   

আপনার যদি আমাদের সিস্টেমে অ্যাপাচি বা এনগিনেক্সের মতো এইচটিটিপি সার্ভার থাকে তবে এই আদেশটি দিয়ে সার্ভারের অনুরোধগুলি লগ করুন:

$ sudo sysdig -c httplog    
$ sudo sysdig -c httptop   [Print Top HTTP Requests] 

নীচের কমান্ডটি আপনাকে সমস্ত লগইন শেল আইডি দেখতে সক্ষম করবে:

$ sudo sysdig -c list_login_shells

সর্বশেষে তবে অন্তত নয়, আপনি সিস্টেম ব্যবহারকারীদের মতো ইন্টারেক্টিভ ক্রিয়াকলাপটি এটির মতো দেখতে পারেন:

$ sudo sysdig -c spy_users

আরও ব্যবহারের তথ্য এবং উদাহরণের জন্য, sysdig এবং csysdig ম্যান পৃষ্ঠা পড়ুন:

$ man sysdig 
$ man csysdig

তথ্যসূত্র: https://www.sysdig.org/

এই দরকারী লিনাক্স পারফরম্যান্স পর্যবেক্ষণ সরঞ্জামগুলি পরীক্ষা করে দেখুন:

  1. বিসিসি - লিনাক্স পারফরম্যান্স মনিটরিং, নেটওয়ার্কিং এবং আরও জন্য গতিশীল ট্র্যাকিং সরঞ্জাম
  2. পাইড্যাশ - একটি ওয়েব ভিত্তিক লিনাক্স পারফরম্যান্স মনিটরিং সরঞ্জাম
  3. পারফেক্ট- লিনাক্সের জন্য পারফরম্যান্স মনিটরিং এবং বিশ্লেষণ সরঞ্জাম
  4. কালেক্টল: লিনাক্সের জন্য একটি উন্নত সমস্ত-ইন-ওয়ান পারফরম্যান্স মনিটরিং সরঞ্জাম
  5. নেটডাটা - লিনাক্স সিস্টেমগুলির জন্য একটি রিয়েল-টাইম পারফরম্যান্স মনিটরিং সরঞ্জাম

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

এই সরঞ্জামটি সম্পর্কে কোনও প্রশ্ন জিজ্ঞাসা করতে বা কোনও ধারণা ভাগ করতে, নীচের প্রতিক্রিয়া ফর্মটি ব্যবহার করুন।