ক্রোন কার্য নিরীক্ষণের কৌশল?


22

একটি গুচ্ছ উপর ক্রোন কাজ নিরীক্ষণের জন্য ভাল কৌশল আছে?

আমরা প্রতিদিন বিরতিতে ক্রিয়াকলাপ শুরু করতে ক্রোন ব্যবহার শুরু করি। তথ্য যাচাই করার জন্য কয়েকটি ধারণা:

  1. বিশেষ অ্যাপ্লিকেশন হ্যান্ডলিং যুক্ত করুন যা কোনও ডিবি'র মতো কিছু "নেটওয়ার্ক সচেতন" স্থানে তথ্য লগ করে
  2. একটি লগফিল সিস্টেম তৈরি করুন যা ক্রোন লগকে পর্যায়ক্রমে প্রক্রিয়া / অনুসন্ধানের জন্য কেন্দ্রীয় পয়েন্টে স্থানান্তর করে (অন্যান্য সম্ভাব্য লগ ফাইলের সাথে)

আমি ভাবছি লোকেরা ক্রোন বনাম অন্য জিনিসগুলির জন্য আলাদাভাবে কাজ করার ক্ষেত্রে সাফল্য অর্জন করেছে, বা, যদি কাজগুলি সম্পূর্ণ ভিন্ন পদ্ধতির সাথে সংহত করা হয়। আমি # 2 এর দিকে ঝুঁকছি, তবে আরও অভিজ্ঞ লোক কী কী চেষ্টা করতে পারে তা জানতে চাই।


আপনার উদ্বেগ যে ক্রোনজবস চলছে না? বা আপনি চাকরির জন্য 'স্ট্যাটাস' নিরীক্ষণ করতে বলছেন?
এরিকসলা

1
বেশিরভাগ ক্ষেত্রেই, তারা ব্যর্থ হয় নি। তবে কিছু কাজের ক্ষেত্রে দীর্ঘ সময় লাগে এবং আমরা "ওফস, এটি খুব বেশি সময় নিচ্ছে" এর মতো তথ্য গ্রহণ করতে চাই want
ত্রিস্তান জুড়িসেক

উত্তর:


16

অন্যান্য উত্তর ছাড়াও:

  • আসল কাজ থেকে রিটার্নের মান সমাপ্ত হলে চাকরিটি কোনও ফাইলে একটি টাইমস্ট্যাম্প লিখতে দেয়
  • রিটার্ন মানটি মূল কলারে ফিরে প্রচার করুন

নাগিওস ( আইসিংসা ) এর চেক করা সহজ করার জন্য আমরা প্রথমটি ব্যবহার করি , উদাহরণস্বরূপ যদি শেষ লিখিত টাইমস্ট্যাম্পটি n ঘন্টার চেয়ে বেশি পুরানো হয় (প্লাস আপনার যা যুক্তি লাগবে) - আমরা জানি কিছু ভুল হয়েছে।


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

16

আমার প্রচলিত পদ্ধতিটি হ'ল:

  • আপনার ক্রোনযুক্ত অ্যাপ্লিকেশন সফলভাবে শেষ হলে কোনও স্টাডাউট তৈরি করবেন না।
  • / Dev / নাল থেকে কোনও আউটপুট পাইপ করবেন না।
  • যখন কিছু ভুল হয়ে যায় তখন অর্থবহ স্ট্যাডার আউটপুট উত্পাদন করবেন।
  • প্রয়োজনীয় টিমে ত্রুটি আউটপুট প্রেরণের জন্য ক্রন্টবায় একটি $ MAILTO ঠিকানা সেট করুন।

এবং যদি সত্যিই কারও কাছে পাইপ আউটপুটটি /dev/nullকমপক্ষে || echo "service $service is FUBAR"কমান্ড লাইনে যোগ করতে হয় ...
হুবার্ট কারিও

4

উপরেরটি ছাড়াও:

  • স্টাডারকে লেখার পাশাপাশি "লগার" বলুন যখন কিছু ভুল হয়ে যায়। একটি কেন্দ্রীয় হোস্ট, ওরফে "লঘস্ট" এর অতিরিক্ত ফরোয়ার্ড করতে সিসলগটি কনফিগার করুন। (লগার ডিফল্টরূপে "User.notice" সুবিধা ব্যবহার করবে তবে আপনি এটি পরিবর্তন করতে পারেন))

1
আমি এই ধারণাটি পছন্দ করি .... যদিও ক্রন্ড ইতিমধ্যে সিসলগে লগ করেছে (সম্ভবত কনফিগারেশন প্যারামের মাধ্যমে) সুতরাং এই পদ্ধতির জন্য লগার ব্যবহারের কঠোর প্রয়োজন হয় না।
এরিকসলা

4

ক্রোনজবস পর্যবেক্ষণের জন্য আপনি বেশ কয়েকটি কৌশল ব্যবহার করতে পারেন।

ক্রোনজব ব্যর্থতার সতর্কতাগুলি পেতে:

  • ক্রোন এর মানক MAILTO = ফাংশন ব্যবহার করুন। যদি ক্রোনজব STDERR এ আউটপুট উত্পাদন করে তবে এটি আপনার চয়ন করা ঠিকানায় মেল করা হবে।
  • ক্রোন মেলগুলি ট্র্যাক এবং ডিল করতে, আপনি এগুলিকে টিকিট সিস্টেমে ডাইরেক্ট করতে পারেন।

যে সিস্টেমটি আপনি "নেটওয়ার্ক সচেতন" স্থানে তথ্য লগ করার প্রস্তাব দিচ্ছেন সেটি সিস্টপ্লের মতো শোনাচ্ছে । syslog লগগুলি তৈরি করার জন্য একটি সহজ পদ্ধতি সরবরাহ করে, এটি সাধারণত / var / লগ / বার্তাগুলির মতো ফাইল পরিচালনা করে। লগ বার্তাগুলি কোন ফাইলগুলি গ্রহণ করে তা চয়ন করে আপনি বেসিক কাস্টমাইজেশন তৈরি করতে পারেন।

নেটওয়ার্ক সচেতন মোডে সিসলগ শুরু করা যেতে পারে। উদাহরণস্বরূপ, আপনি এটি কনফিগার করতে পারেন যাতে কোনও দাস কোনও মাস্টারে লগইন করতে পারে:

[root@slave ~]#  echo "hello world from slave" | logger -p local1.info

[root@master ~]# tail /var/log/myapp
Jun 29 13:07:01 192.168.1.2 logger: hello world from slave

একটি রেড হ্যাট ভিত্তিক বিতরণের জন্য, নিম্নলিখিত কনফিগারেশনটি নিম্নরূপ:

[root@slave ~]# cat /etc/syslog.conf | grep local1
local1.*                                                @192.168.1.3

[root@master ~]# cat /etc/sysconfig/syslog | grep SYSLOGD_OPTIONS
SYSLOGD_OPTIONS="-m 0 -r"

[root@master ~]# cat /etc/syslog.conf | grep local
local1.* /var/log/myapp

(প্রথম কনফিগার লাইন স্থানীয় 1 কে পুনঃনির্দেশ করে * একটি ফাইলের মধ্যে)।

শুধুমাত্র লগিং ত্রুটি / তথ্যগুলির জন্য সিস্লগ অ্যাপ্রোচ ভাল। লগ ফাইলগুলিতে ই-মেলের চেয়ে কম দৃশ্যমানতা থাকে, সুতরাং কিছু ভুল না হলে আপনি সম্ভবত লগগুলিতে তাকাবেন না।

আপনি যদি সিসলোগ স্টাইলের পথে যেতে চান, তবে সিসলগ-এনজি: http://freshmeat.net/projects/syslog-ng/ বিবেচনা করুন

অবশ্যই, আপনি উভয় কৌশল ব্যবহার করে উভয় কৌশল সেরা অর্জন করতে পারেন। উদাহরণস্বরূপ, ব্যর্থতা এবং সাফল্য উভয়ই সিসলগ করা এবং ব্যর্থতার জন্য কেবল মেলিং।


উত্তরের জন্য ধন্যবাদ -> আমি একজন প্রোগ্রামার, যা আমাকে কিছুটা সিসাদমিন নবাগত করে তোলে। সিসলগের নেটওয়ার্ক ক্ষমতা সম্পর্কে আমি অবগত ছিলাম না।
ত্রিস্তান জুড়িসেক

3

আমি স্ট্যাকওভারফ্লোতে একটি প্রশ্নের অনুরূপ উত্তর পোস্ট করেছি ( /programming/21025495/system-for-monifications-cron-jobs- এবং- অটোমেটেড- টাস্ক )

ক্রোনিটর ( https://cronitor.io ) হ'ল একটি সরঞ্জাম যা আমি ঠিক এই উদ্দেশ্যে তৈরি করেছি। এটি মূলত ট্র্যাকিং বীকন হিসাবে ফোটে যা পিং হিসাবে এইচটিপি অনুরোধ ব্যবহার করে।

যাইহোক, ওপি তার মন্তব্যে যে প্রয়োজনগুলির উল্লেখ করেছে তার মধ্যে একটি কাজ যখন চালানোতে খুব বেশি সময় নিচ্ছে তা অবহিত করা দরকার।

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

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


2

আমার এটি লেখার সময় এটি এখনও বেশ ভারী বিকাশের মধ্যে রয়েছে তবে আমি https://github.com/jamesrwhite/minicron এ একবার দেখার জন্য উত্সাহিত করব । আপনার বর্ণিত সমস্যাগুলি সমাধান করার জন্য এটি তৈরি করা হয়েছিল। আপনি যে কমান্ডটি চালাচ্ছেন তাতে সামান্য পরিবর্তন করে এটি কাজের আউটপুট এবং প্রস্থান স্থিতি রেকর্ড করতে পারে এবং সেই তথ্যটি রিয়েলটাইমে কোনও কেন্দ্রীয় সার্ভারে ফেরত পাঠায় এবং কোনও কাজ ব্যর্থ হলে ইমেল, এসএমএস এবং পেজারডিউটির মাধ্যমে সতর্কতা প্রেরণ করতে পারে (প্রস্থান স্থিতি> 0) বা যখন তা কার্যকর করা হয় না।

দাবি অস্বীকার: আমি এতে কাজ করা বিকাশকারী।


0

এটি অ্যালার্টগ্রিডের জন্য ক্লাসিক ব্যবহারের মতো দেখাচ্ছে ।

এটি ইনস্টলেশন প্রয়োজন হয় না, এই সরঞ্জাম থেকে সুবিধা নিতে আপনার যা করতে হবে তা হ'ল:

  1. প্রতিবার আপনার ক্রোন জব কাজ শেষ হওয়ার পরে অ্যালার্টগ্রিডে সিগন্যাল প্রেরণ করুন (এটি অত্যন্ত সাধারণ এপিআই দ্বারা করা যেতে পারে, সংকেত কেবল একটি এইচটিটিপি অনুরোধ)। আপনি কিছু পরামিতি প্রেরণ করতে পারেন যেমন execution_time!
  2. ফলোলিংয়ের মতো বিজ্ঞপ্তি বিধিগুলি সেট আপ করুন:

যদি my_job X মিনিটে সাড়া না দেয় (আপনার ক্ষেত্রে ঘন্টা) -> অ্যাডমিনকে এসএমএস পাঠান

অথবা

যদি এক্সিকিউশন_টাইম> 60 সেকেন্ড -> আগ্রহী ব্যক্তিদের ইমেল প্রেরণ করুন

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

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


0

আপনার ক্রোন জবস ইতিমধ্যে সিস্লগের মাধ্যমে লগড। সেই ডেটা অন্য স্ট্যান্ডার্ড সার্ভিস সিজলগড ব্যবহার করে কেন্দ্রীয় সার্ভারে প্রেরণ করা যেতে পারে।

http://www.debuntu.org/how-to-remote-syslog-logging-on-debian-and-ubuntu/ এ কীভাবে সেট আপ করবেন তার বিশদ রয়েছে।


0

আমি http://cronrat.com কেবলমাত্র আপনার ক্রোন জবগুলিতে & ... কার্ল সংযুক্ত করুন ... আমার পছন্দের সেরা বৈশিষ্ট্যটি হ'ল প্রাথমিক অ্যাকাউন্ট তৈরির পরে আপনাকে কোনও সেট আপ করতে হবে না। প্রতিটি সতর্কতা প্রস্তুত এবং আপনি এটি ব্যবহার করার মিনিট চলমান। অতএব আমি আমার চাকরি শুরু করতে যে কোনও অটোমেটেড সরঞ্জাম ব্যবহার করতে পারি যা অস্তিত্ব নেই, এমন কিছু পরিষেবাদির বিপরীতে যেখানে আমাকে প্রথমে চাকরী স্থাপন করতে হবে।


আমি ক্রোনরেট সম্পর্কে পড়তে পাম্প করা হয়েছিল - সহজ এবং বিনামূল্যে। বুয়ুয়ুট আমি কীভাবে সাইন আপ করতে পারি তা বুঝতে পারি না। এই পরিষেবাটি কি মারা গেছে?
রিনোগো

0

আমি এই সুনির্দিষ্ট প্রয়োজনের পরে পাওয়ার ক্রোন তৈরি করেছি । আমার ক্রোন জবগুলির উপর আমার একটি কেন্দ্রীয় দৃষ্টিভঙ্গি এবং বিভিন্ন ক্লাস্টারের সদস্যদের কাজের মধ্যে নির্ভরতার ধারণা প্রয়োজন।

লগগুলিতে আমি যা খুঁজে পেতে পারি তার চেয়ে আমার আরও তথ্যের প্রয়োজন ছিল এবং কাজের প্রোফাইলিং যুক্ত হয়েছিল।


0

আমরা এর জন্য পুশমন, http://www.pushmon.com তৈরি করেছি । বলুন আপনার প্রতিদিনের কাজ সকাল 3 টা বেজে চলে এবং সাধারণত 4 টা এ শেষ হয়। আপনি "প্রতিদিন সকাল 4:00 টা" এর পুশমন শিডিউল সেটআপ করতে পারেন। অথবা "আরও 1 ঘন্টা এর মধ্যে প্রতিদিন 4:00 টা অবধি" এর মতো আরও কিছু উন্নত সময়সূচী। আপনার কাজটি যত তাড়াতাড়ি করা উচিত আপনার কাজটি প্রতিবার পশমনের ইউআরএল "পিং" করা এবং এটি আপনাকে পিংস মিস করার বিষয়ে সতর্ক করবে। আপনি যদি নিশ্চিতভাবেই জানেন যে কোনও ত্রুটি ঘটেছে, যেমন আপনি যখন ব্যতিক্রম ধরেন তখন আপনি পরিচালনা করতে পারবেন না, আপনি অন-ডিমান্ড সতর্কতা বৈশিষ্ট্যটি ব্যবহার করতে পারেন।


0

স্বাস্থ্য পরীক্ষা ( https://github.com/healthchecks/healthchecks/ ) ক্রোন জবগুলি নিরীক্ষণের জন্য হ'ল একটি পরিষেবা এবং ড্যাশবোর্ড। এটি উত্পাদন ব্যবহৃত হচ্ছে, রক্ষণাবেক্ষণ এবং কোড অবদান গ্রহণ করে।

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

আপনি এগুলি সেট আপ করতে এবং নিজে হোস্ট করতে পারেন, তবে কোনও ওয়েব পরিষেবীর মতো, ডোমেন নাম, শংসাপত্র, এইচটিটিপি রিভার্স প্রক্সি কনফিগার করতে, ডাটাবেস ব্যাকআপ সেট আপ করতে কিছু প্রচেষ্টা লাগে get চলমান হেরোকু-অভিযোজিত সংস্করণটি ব্যবহার করা হয়: https://github.com/iphoting/healthchecks । আমি এমন লোকদের জানি যারা এই প্রকল্পটি নিজেরাই চালায় এবং শত শত পরিষেবাগুলি নিরীক্ষণ করতে এটি ব্যবহার করে।

দাবি অস্বীকার: আমি লেখক এবং আমি https://healthchecks.io এ একটি হোস্ট করা পরিষেবা হিসাবে হেলথচেকগুলিও চালাচ্ছি

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