টমক্যাট চলছে?


109

টমক্যাটটি ইউনিক্সের পরিবেশে চলছে কিনা তা দেখার জন্য লোকেরা সাধারণত কীভাবে পরীক্ষা করে তা জানতে আগ্রহী।

আমি হয় যা প্রক্রিয়াটি ব্যবহার করে চলছে তা পরীক্ষা করে দেখছি

ps -ef | grep java
ps -ef | grep logging

বা আমি পোর্ট নম্বর সক্রিয় আছে তা পরীক্ষা করে দেখুন

netstat -a | grep 8080

টমক্যাট চলছে কিনা তা পরীক্ষা করার আরও ভাল উপায় আছে? উপরেরটিকে টমক্যাট চলছে কিনা তা যাচাই করার একটি 'হ্যাকি' উপায় বলে মনে হচ্ছে।

উত্তর:


57

কেন grep ps, যখন পিডটি $CATALINA_PIDফাইলটিতে লেখা হয়েছে ?

আমার একটি cron'ডি চেকার স্ক্রিপ্ট রয়েছে যা টমক্যাটটি ডাউন থাকাকালীন একটি ইমেল প্রেরণ করে:

kill -0 `cat $CATALINA_PID` > /dev/null 2>&1
if [ $? -gt 0 ]
then
    echo "Check tomcat" | mailx -s "Tomcat not running" support@dom.com
fi

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


এটি কি উইন্ডোগুলির সাথে করা সহজ? আমি কি কেবল উইন্ডো সমতুল্য কমান্ডগুলি সংশোধন করব, এটি একটি ব্যাচের ফাইলে ফেলে দেব এবং তারপরে শিডিয়ুলারের মাধ্যমে শিডিউল করব?
lilitus27

আপনি tasklist |find /I "Tomcat" || echo "Tomcat not running"ব্যাটের ফাইলে লাইন ধরে কিছু করতে পারতেন , তবে আপনাকে প্রক্রিয়াটির নামটির উপর নির্ভর করে টমক্যাট নয়, জাভা সন্ধান করতে হতে পারে।
GL2014

1
আপনার ওএস-ইনস্টলড টমক্যাট থেকে $ ক্যাটালিনএআইপিএডের মান কী তা জানতে, চেষ্টা করুন: ps aewwx | grep CATALINA_PID এবং অন্যান্য পরিবেশের ভেরিয়েবলগুলির মধ্যে চলমান প্রক্রিয়াটির জন্য আউটপুটটিতে আপনি এটি খুঁজে পাবেন। ডেবিয়ান 8-তে এই মানটি হ'ল: CATLINA_PID = / var / run / tomcat8.pid
অধ্যাপক

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

92

আমার লিনাক্স সিস্টেমে, আমি টমক্যাটটি স্টার্টআপ.শ স্ক্রিপ্ট দিয়ে শুরু করি। এটি চলছে কিনা তা জানতে, আমি ব্যবহার করি

ps -ef | grep tomcat  

যদি আউটপুট ফলাফলটিতে আমার টমক্যাট ফোল্ডারের পুরো পথ থাকে তবে এটি চলছে


68

পরিবর্তে এটি চেষ্টা করুন এবং কারণ এটির মূল সুবিধাগুলি প্রয়োজন sudo

sudo service tomcat7 status

17
টমকেট যদি পরিষেবা না হয় তবে কী হবে? পরিবর্তে একটি প্যাকেজ।
পান্না 6'15

1
@ এমেরাল্ড 214 সেক্ষেত্রে আপনি একটি পাবেনtomcat7: unrecognized service
ইয়ার

@ ইয়ার, এটি আপনার
টোমক্যাট

14

netstat -lnp | grep 8080যদি আপনি টমক্যাটের শ্রবণ পোর্টটি জানেন তবে সম্ভবত সেরা উপায় হবে। আপনি যদি নিশ্চিত হতে চান যে এটি কার্যকরী, তবে আপনাকে একটি সংযোগ স্থাপন করতে হবে এবং একটি এইচটিটিপি অনুরোধ পাঠাতে হবে এবং প্রতিক্রিয়া পেতে হবে। আপনি এটিকে অগ্রগতিমূলকভাবে বা কোনও ওয়েব ব্রাউজার ব্যবহার করতে পারেন।


যদি আপনি এই বন্দরটি জানেন তবে আমার মনে হয় এটি সহজতম উপায় যা আপনি টমক্যাটটি কীভাবে ইনস্টল করেছেন তার উপর নির্ভর করে নির্বাহী চলছে কিনা তা পরীক্ষা করে দেখার ক্ষেত্রে বিভিন্নতা রয়েছে কিনা, এটি কোনও পরিষেবা বা না ইত্যাদি
জাফার

9

আপনি নিম্নলিখিত উপায়ে টমক্যাটের স্থিতি পরীক্ষা করতে পারেন:

ps -ef | grep tomcat  

টমক্যাট চলমান থাকলে এটি টমক্যাট পথটি ফিরিয়ে দেবে

netstat -a | grep 8080

যেখানে 8080 টমক্যাট বন্দর


7

টমক্যাটটি যদি স্থানীয়ভাবে ইনস্টল করা থাকে তবে ব্রাউজার উইন্ডোতে নিম্নলিখিত url টাইপ করুন: {লোকালহোস্ট: 8080}

এটি নীচের বার্তার সাথে টোম্যাট হোম পৃষ্ঠা প্রদর্শন করবে।

আপনি যদি এটি দেখতে পান তবে আপনি সফলভাবে টমক্যাট ইনস্টল করেছেন। অভিনন্দন!

যদি টমক্যাটটি একটি পৃথক সার্ভারে ইনস্টল করা থাকে তবে আপনি একটি বৈধ হোস্টনেম বা আইস যেখানে টমক্যাট ইনস্টল করা আছে সেগুলি দ্বারা লোকালহোস্ট প্রতিস্থাপন টাইপ করতে পারেন।

উপরেরটি একটি স্ট্যান্ডার্ড ইনস্টলের জন্য প্রযোজ্য যেখানে টমক্যাটটি ডিফল্ট পোর্ট 8080 ব্যবহার করে


19
যদি টমক্যাটটি একটি পৃথক সার্ভারে ইনস্টল করা থাকে তবে ব্রাউজার থেকে এটি অ্যাক্সেস করতে ব্যর্থ হওয়া এটি চলমান কিনা তা নিশ্চিত করে আপনাকে জানায় না: এটি অ্যাক্সেসযোগ্য be
মার্কো ল্যাকোভিক

আমি উবুন্টুতে টমক্যাট 8 ইনস্টল করেছি, তবে লোকালহোস্টে যাচ্ছি : 8080 "সংযোগে অক্ষম" বার্তাটির ফলস্বরূপ।
ইবিদি

1
লিনাক্সে যদি আপনার মাথাবিহীন সার্ভার থাকে তবে এটি কোনও বিকল্প নয়।
ক্লাউস এনজি 21

5

wget urlঅথবা curl url যেখানে URL হুল বিড়াল সার্ভার যা উদাহরণস্বরূপ, পাওয়া উচিত একটি URL হল: wget http://localhost:8080। তারপরে প্রস্থান কোডটি পরীক্ষা করুন, যদি এটি 0 হয় - টমক্যাটটি আপ হয়।


4

শেল স্ক্রিপ্ট তৈরি করুন যা টমক্যাটটি উপরে বা নিচে রয়েছে কিনা তা পরীক্ষা করে নিন এবং প্রতি কয়েক মিনিট পরে এটি পরীক্ষা করতে শের জন্য একটি ক্রোন সেট করুন এবং নীচে থাকলে টমক্যাটটি স্বয়ংক্রিয়ভাবে শুরু করুন। নীচের কোডের স্নিপেট

TOMCAT_PID=$(ps -ef | awk '/[t]omcat/{print $2}')
echo TOMCAT PROCESSID $TOMCAT_PID

if [ -z "$TOMCAT_PID" ]
then
    echo "TOMCAT NOT RUNNING"
    sudo /opt/tomcat/bin/startup.sh
else
   echo "TOMCAT RUNNING"
fi

আমি একটি শেল স্ক্রিপ্ট তৈরি করেছি যা সর্বদা "টমকাট চালানো" ফিরিয়ে দেয় এমনকি আমি টমক্যাটটি বন্ধ করে দিয়েছি। তবে আমি যখন কনসোল-এ কমান্ডটি চালাচ্ছি, এটি ভাল কাজ করেছে।
চার্লস PHAM

শেল স্ক্রিপ্টের নামটি টমকাট কীওয়ার্ড হিসাবে না রয়েছে তা নিশ্চিত করুন script এতে কোনও টমক্যাট কীওয়ার্ড ছাড়াই আপনি স্ক্রিপ্টে কোনও নাম দিতে পারেন
দেবেন্দ্র দোরা

3

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


3

আমি সর্বদা করি

tail -f logs/catalina.out

আমি যখন সেখানে দেখি

INFO: Server startup in 77037 ms

তখন আমি জানি সার্ভারটি শেষ।


2

আপনি কি সতর্কতা ব্যবস্থা স্থাপনের চেষ্টা করছেন? একটি সাধারণ "হার্টবিট" এর জন্য টমক্যাট বন্দরে একটি HTTP অনুরোধ করুন।

আরও বিস্তৃত পর্যবেক্ষণের জন্য, আপনি জেভিএমের পরিসংখ্যান দেখতে জেএমএক্স এবং / অথবা এসএনএমপি সেট আপ করতে পারেন। টমক্যাট মেমরির ব্যবহার পরীক্ষা করতে এবং প্রতি 10-15 মিনিটে থ্রেড পুলের আকারের অনুরোধ করতে আমরা এসএনএমপি প্লাগইন (জেএমএক্সের সেতু) দিয়ে নাগিওগুলি চালিত করি।

http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html

আপডেট (2012):

টমকাট প্রক্রিয়াটি পরীক্ষা করতে আমরা "মনিট" ব্যবহার করতে আমাদের সিস্টেমগুলিকে আপগ্রেড করেছি। আমি সত্যিই এটা পছন্দ করি. খুব অল্প কনফিগারেশনের সাহায্যে এটি স্বয়ংক্রিয়ভাবে পরিষেবাটি চলমান যাচাই করে এবং এটি না থাকলে স্বয়ংক্রিয়ভাবে পুনরায় চালু হয়। (একটি ইমেল সতর্কতা প্রেরণ)। এটি /etc/init.d স্ক্রিপ্টগুলির সাথে সংহত করতে পারে বা প্রক্রিয়া নাম দ্বারা চেক করতে পারে।


1

যেহেতু আমার টমক্যাট উদাহরণগুলি টমক্যাট_ হিসাবে নামকরণ করা হয়েছে। উদাহরণ স্বরূপ. tomcat_8086, আমি ব্যবহার করি

#

ps aux | grep tomcat

অন্যান্য পদ্ধতিতে এনসি ইউটিলিটি ব্যবহার করা হচ্ছে

nc -l 8086 (পোর্ট নাম্বার )

অথবা

ps aux | grep java


1

এই আদেশ ব্যবহার করে দেখুন

ps -ef | awk '/[t]omcat/{print $2}' 

টমক্যাট চলমান থাকলে এটি পিডটি ফিরিয়ে দেবে।


0
$ sudo netstat -lpn |grep :8080

পোর্ট নম্বর পরীক্ষা করতে

$ ps -aef|grep tomcat

সার্ভারের অধীনে কোনও টমক্যাট চলছে।

tsssinfotech-K53U infotech # ps -aef|grep tomcat

রুট 9586 9567 0 11:35 পিটিএস / 6 00:00:00 গ্রেপ - রঙ = অটো টমক্যাট


0

মূলত আপনি পরীক্ষা করতে চান

  1. আপনার টমকাট উদাহরণের সাথে সংযোগ স্থাপন
  2. কিছু প্রাথমিক পরিসংখ্যান সংগ্রহ করুন
  3. ইউনিক্স প্রক্রিয়া চলছে কিনা

আমি প্রথম 2 টি বিকল্পগুলি মূল্যায়ন করব কারণ তৃতীয়টির ইতিমধ্যে যথেষ্ট উত্তর দেওয়া হয়েছে।

আপনার ওয়েব অ্যাপে এমন একটি ওয়েবপৃষ্ঠা বিকাশ করা সহজ যা কিছু বেসিক মেট্রিক সংগ্রহ করে এবং এমন ক্লায়েন্ট থাকে যা ফলাফলগুলি পড়তে বা সংযোগের সমস্যাগুলি সনাক্ত করতে পারে।

এটি করার জন্য, আপনার বেশ কয়েকটি সমস্যা রয়েছে


0

এখানে আমার দুটি সেন্ট।

আমার ক্লাস্টার সেটআপের জন্য আমার কাছে বিভিন্ন বন্দরে একাধিক টমক্যাট দৃষ্টান্ত চলছে। আমি বিভিন্ন পোর্টে চলমান প্রতিটি প্রক্রিয়া পরীক্ষা করতে নীচের কমান্ডটি ব্যবহার করি।

/sbin/fuser 8080/tcp

আপনার প্রয়োজন অনুসারে পোর্ট নম্বরটি প্রতিস্থাপন করুন।

এবং প্রক্রিয়াটি মেরে ফেলতে -kউপরের কমান্ডটিতে ব্যবহার করুন ।

  • ps -efআপনি যে কমান্ডটি কল করেন এবং তার grepউপরে অন্য কোনও কমান্ডের চেয়ে এটি যেভাবে বা অন্য কোনও আদেশের চেয়ে অনেক দ্রুত faster
  • টমক্যাটের একাধিক ইনস্টলেশন, বা একই সার্ভারে চলমান বিষয় হিসাবে কোনও বন্দর ব্যবহার করে এমন অন্য কোনও সার্ভারের সাথে ভাল কাজ করে।

BSDঅপারেটিং সিস্টেমের সমতুল্য কমান্ডটিfstat


0

tomcat.sh আপনাকে সহজেই এটি জানতে সহায়তা করে।

tomcat.sh ব্যবহারের ডক বলেছেন:

কোনও যুক্তি নেই: টমক্যাটটির প্রসেস-আইডি প্রদর্শন করুন, যদি এটি চলমান থাকে, অন্যথায় কিছু করবেন না

সুতরাং, আপনার কমান্ড প্রম্পটে কমান্ড রান করুন এবং পিড পরীক্ষা করুন:

$ tomcat.sh

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.