लिनक्स / यूनिक्स में आसान, लेकिन उत्पादन-तैयार प्रक्रिया की निगरानी [बंद]


8

म ढूंढ रहा हूं सरल प्रक्रिया मॉनिटर एक लोकप्रिय VPS में मेरे खाते के लिए। मैं सुपरवाइज़र और मोनीत से प्यार करता था, लेकिन वे मेरे लिए ओवरकिल लगते हैं।

मुझे कुछ चाहिए

  1. यह एक डेमन के रूप में चलता है (इसलिए मेरा वीपीएस खाता इसे बूट पर शुरू कर सकता है और मामले में क्रोन द्वारा "शुरू" भी खुद की निगरानी करें नीचे जाता है)
  2. उस पर नज़र रखता है उपप्रकार के रूप में स्पॉनिंग सामान (पर्यवेक्षक की तरह) या एक करके मतदान वह आदेश जो सही या गलत लौटाता है (जैसे कथन यदि BASH है)
  3. दोनों आसान उपयोग करने के लिए (न्यूनतम कॉन्फ़िगरेशन की आवश्यकता है) और उत्पादन स्थिर है (किसी तरह कुछ सॉफ्टवेयर दोनों मांगों को पूरा करने के लिए लगता है)
  4. एक प्रबंधित VPS- रन में उपयुक्त उपयोगकर्ता मोड, न्यूनतम स्मृति उपयोग

जवाबों:


2

आप कार्यक्रम देख रहे हैं डेमोन टूल्स । (यदि यह "पर्यवेक्षक" मॉनिटर द्वारा आपका मतलब है, तो मेरे बाकी जवाब को अनदेखा करने के लिए स्वतंत्र महसूस करें।)

daemontools UNIX सेवाओं के प्रबंधन के लिए उपकरणों का एक संग्रह है।

पर्यवेक्षण एक सेवा की निगरानी करता है। यह सेवा शुरू करता है और यदि यह मर जाता है तो सेवा को पुनरारंभ करता है। एक नई सेवा स्थापित करना आसान है: सभी पर्यवेक्षण की आवश्यकता एक रन स्क्रिप्ट के साथ एक निर्देशिका है जो सेवा को चलाता है।

मल्टीलॉग एक या अधिक लॉग में त्रुटि संदेश सहेजता है। यह प्रत्येक लाइन के लिए वैकल्पिक रूप से टाइमस्टैम्प करता है और प्रत्येक लॉग के लिए निर्दिष्ट पैटर्न से मेल खाती लाइनों को शामिल या बाहर करता है। यह स्वचालित रूप से उपयोग किए गए डिस्क स्थान की मात्रा को सीमित करने के लिए लॉग को घुमाता है। यदि डिस्क भरता है, तो यह रुक जाता है और बिना डेटा खोए फिर से कोशिश करता है।

यह सरल, लचीला और बहुत शक्तिशाली है। मूल विचार यह है कि प्रत्येक सेवा जिसे आप चलाना चाहते हैं, के लिए डेमोनटूल एक बाल प्रक्रिया शुरू करता है (जिसे कहा जाता है supervise ) जो तब आपकी सेवा का शुभारंभ करता है। supervise सेवा के पर्यावरण चर को कॉन्फ़िगर करता है तथा यूआईडी / gid , और फिर सेवा के मानक और मानक को बाहर खुला रखता है ताकि यह संकेत भेज सके। सेवा को स्वयं को निष्क्रिय करने की आवश्यकता नहीं है, और आपको पीआईडी ​​फ़ाइलों का प्रबंधन करने की आवश्यकता नहीं है। मुख्य सेवा को चलाने के लिए रूट की आवश्यकता नहीं होती है, और आप मॉनिटर की गई सेवाओं की निर्देशिकाओं को कहीं भी रख सकते हैं।


runit डेमोंटोसोल का एक विकल्प होगा। यह बहुत सरल और निम्न-स्तरीय भी है। मूल रूप से एक प्रॉसेस को चलाने के लिए आपको एक फ़ाइल की आवश्यकता होती है जिसमें कुछ निष्पादन कमांड होती है, उदा। exec sleep 300 फिर आप डायरेक्टरी से एक स्क्रिप्ट बनाते हैं जिसमें रन स्क्रिप्ट होती है /etc/service/name और आपका काम हो गया
Tombart

1

सरल उत्तर यह है कि आपके पास पहले से ही एक है - हर यूनिक्स सिस्टम करता है - init और / etc / inittab।

Init का काम इनटैब में सूचीबद्ध प्रक्रियाओं को स्पॉन करना, उनकी निगरानी करना और बाहर निकलने पर उन्हें फिर से शुरू करना है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.