सर्वर / VM मॉनिटर
Server / VM मॉनिटर Status200 इन्फ्रास्ट्रक्चर एजेंट (oneuptime-infrastructure-agent) के ज़रिए एक मशीन की निगरानी करता है। यह एजेंट एक छोटी सेवा है जो हर 30 सेकंड में CPU, मेमोरी, डिस्क, लोड, नेटवर्क और चल रही प्रक्रियाओं की जानकारी Status200 को भेजती है। यह पेज बताता है कि एजेंट को Server / VM मॉनिटर से कैसे जोड़ें, एजेंट क्या रिपोर्ट करता है, और वे मानदंड कैसे लिखें जो तय करते हैं कि सर्वर कब ऑनलाइन है और कब ऑफ़लाइन।
यह कैसे काम करता है
एजेंट एक सिस्टम सेवा के रूप में चलता है। हर 30 सेकंड में यह एक रिपोर्ट इकट्ठा करता है और उसे मॉनिटर की सीक्रेट कुंजी से हस्ताक्षरित करके आपके Status200 URL पर भेजता है। Status200 इन आँकड़ों को मॉनिटर के मेट्रिक्स के रूप में सहेजता है और रिपोर्ट को मॉनिटर के मानदंडों से जाँचता है।
चुप्पी की जाँच अलग से होती है। हर मिनट Status200 उन सभी Server / VM मॉनिटरों के Is Online मानदंड का फिर से मूल्यांकन करता है जिन्होंने 3 मिनट या उससे अधिक समय से रिपोर्ट नहीं भेजी है, और जो सर्वर अपने मानदंड की अनुमति (डिफ़ॉल्ट रूप से 3 मिनट) से अधिक समय तक चुप रहता है, उसे ऑफ़लाइन माना जाता है। जिस मॉनिटर में Is Online मानदंड नहीं है, उसे सिर्फ़ इसलिए ऑफ़लाइन चिह्नित नहीं किया जाता कि एजेंट चुप हो गया। इस चुप्पी में सिर्फ़ वही समय गिना जाता है जब Status200 डेटा प्राप्त कर रहा था: जिस समय Status200 खुद रीस्टार्ट, अपग्रेड हो रहा था या बकाया निपटा रहा था, वह नहीं गिना जाता, जैसा कि जब Status200 डेटा प्राप्त नहीं कर रहा हो में बताया गया है।
Server / VM मॉनिटर को डेटा कैसे मिलता है
शुरू करने से पहले
- आपके प्रोजेक्ट में एक Server / VM मॉनिटर।
- मॉनिटर संपादित करने की अनुमति। सीक्रेट कुंजी और उसे शामिल करने वाले सेटअप कमांड सिर्फ़ उन्हीं लोगों को दिखते हैं जो मॉनिटर संपादित कर सकते हैं।
- सर्वर पर root (Linux, macOS) या Administrator (Windows) अधिकार। एजेंट खुद को सिस्टम सेवा के रूप में इंस्टॉल करता है।
- सर्वर से आपके Status200 URL तक बाहर जाने वाला HTTPS, सीधे या किसी HTTP प्रॉक्सी के ज़रिए।
एजेंट को कनेक्ट करें
नीचे दिए कमांड https://status200.ru और YOUR_SECRET_KEY का उपयोग करते हैं। मॉनिटर के अपने सेटअप कमांड में आपका Status200 URL और मॉनिटर की सीक्रेट कुंजी पहले से भरी होती है, इसलिए जहाँ तक हो सके उन्हें मॉनिटर से ही कॉपी करें।
मॉनिटर के सेटअप कमांड खोलें
मॉनिटर पर जाएं, Server / VM मॉनिटर खोलें और दस्तावेज़ीकरण चुनें। Set up your Server Monitor (Linux/Mac) और Set up your Server Monitor (Windows) कार्ड में इस मॉनिटर के कमांड हैं। जब तक एजेंट पहली बार रिपोर्ट नहीं करता, मॉनिटर का अवलोकन भी इन्हें दिखाता है।
एजेंट इंस्टॉल करें
Linux
Debian और Ubuntu पर Status200 का apt रिपॉज़िटरी जोड़ें और एजेंट को उसी से इंस्टॉल करें:
sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://packages.status200.ru/gpg.key -o /etc/apt/keyrings/status200.asc sudo chmod a+r /etc/apt/keyrings/status200.asc echo "deb [signed-by=/etc/apt/keyrings/status200.asc] https://packages.status200.ru/deb stable main" | sudo tee /etc/apt/sources.list.d/status200.list sudo apt-get update sudo apt-get install oneuptime-infrastructure-agentRHEL, Rocky Linux, AlmaLinux, Fedora और Amazon Linux पर Status200 का yum रिपॉज़िटरी जोड़ें और एजेंट को उसी से इंस्टॉल करें। जहाँ
dnfन हो वहाँyumका उपयोग करें, और पूछे जाने पर Status200 की साइनिंग कुंजी स्वीकार करें।sudo curl -fsSL https://packages.status200.ru/rpm/status200.repo -o /etc/yum.repos.d/status200.repo sudo dnf install oneuptime-infrastructure-agentकिसी भी दूसरे डिस्ट्रीब्यूशन पर इंस्टॉल स्क्रिप्ट का उपयोग करें:
curl -sSL https://status200.ru/docs/static/scripts/infrastructure-agent/install.sh | sudo bashmacOS
Homebrew से एजेंट इंस्टॉल करें:
brew install oneuptime/tap/status200-infrastructure-agentया इंस्टॉल स्क्रिप्ट का उपयोग करें:
curl -sSL https://status200.ru/docs/static/scripts/infrastructure-agent/install.sh | sudo bashWindows
Administrator के रूप में खुले कमांड प्रॉम्प्ट में winget से एजेंट इंस्टॉल करें:
winget install --id OneUptime.InfrastructureAgent --exact --scope machineफिर Administrator के रूप में कमांड प्रॉम्प्ट दोबारा खोलें, ताकि
oneuptime-infrastructure-agentउसके पथ पर हो।winget के बिना एजेंट को खुद डाउनलोड करें:
- नवीनतम GitHub रिलीज़ से एजेंट डाउनलोड करें: x64 के लिए
oneuptime-infrastructure-agent_windows_amd64.zip, या ARM64 के लिएoneuptime-infrastructure-agent_windows_arm64.zip। - zip को निकालें। इसमें
oneuptime-infrastructure-agent.exeहै। - जिस फ़ोल्डर में आपने इसे निकाला है, वहाँ Administrator के रूप में कमांड प्रॉम्प्ट खोलें।
Intune, Configuration Manager या Group Policy से एजेंट तैनात करने के लिए उसी रिलीज़ की
oneuptime-infrastructure-agent-amd64.msi(याoneuptime-infrastructure-agent-arm64.msi) का उपयोग करें। यह एजेंट कोC:\Program Files\OneUptimeInfrastructureAgentमें इंस्टॉल करती है, और नई MSI उसे उसी जगह अपग्रेड करके फिर से शुरू करती है। किसी पुरानी रिलीज़ की MSI अपग्रेड नहीं हो सकती: पहले उसे एक बार अनइंस्टॉल करें।हर तरीका आपके ऑपरेटिंग सिस्टम और प्रोसेसर (x86-64 या ARM64) के लिए नवीनतम रिलीज़ इंस्टॉल करता है। apt और yum रिपॉज़िटरी में वही
.debऔर.rpmपैकेज हैं जो हर GitHub रिलीज़ के साथ जुड़े होते हैं, जिन परhttps://packages.status200.ru/gpg.keyवाली कुंजी से हस्ताक्षर किए गए हैं, और पैकेज बाइनरी को/usr/binमें रखते हैं। इंस्टॉल स्क्रिप्टoneuptime-infrastructure-agentबाइनरी को$HOME/binमें रखती है। सेल्फ़-होस्टेड इंस्टॉल पर स्क्रिप्ट आपके अपने Status200 URL से मिलती है।- नवीनतम GitHub रिलीज़ से एजेंट डाउनलोड करें: x64 के लिए
इसे मॉनिटर से जोड़ें
Linux
sudo oneuptime-infrastructure-agent configure --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.rumacOS
sudo oneuptime-infrastructure-agent configure --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.ruWindows
oneuptime-infrastructure-agent configure --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.ruconfigureसीक्रेट कुंजी और URL को एजेंट की कॉन्फ़िगरेशन फ़ाइल में सहेजता है और एजेंट को सिस्टम सेवा के रूप में इंस्टॉल करता है। दोनों फ़्लैग आवश्यक हैं। सेल्फ़-होस्टेड इंस्टॉल परhttps://status200.ruकी जगह अपना URL डालें।अगर सर्वर किसी प्रॉक्सी के ज़रिए इंटरनेट तक पहुँचता है, तो
--proxy-urlजोड़ें:sudo oneuptime-infrastructure-agent configure --proxy-url=http://proxy.example.com:8080 --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.ruएजेंट शुरू करें
Linux
sudo oneuptime-infrastructure-agent startmacOS
sudo oneuptime-infrastructure-agent startWindows
oneuptime-infrastructure-agent startशुरू होने पर एजेंट Status200 से सीक्रेट कुंजी की जाँच करता है और तुरंत अपनी पहली रिपोर्ट भेजता है।
जाँचें कि यह रिपोर्ट कर रहा है
sudo oneuptime-infrastructure-agent statusचलाएं (Windows परsudoके बिना): यहService is runningदिखाता है। Status200 में, पहली रिपोर्ट आते ही मॉनिटर का अवलोकन सेटअप कमांड दिखाना बंद कर देता है, और उसका मेट्रिक्स टैब सर्वर के चार्ट बनाने लगता है।
एजेंट संदर्भ
कमांड
| कमांड | यह क्या करता है |
|---|---|
configure --secret-key=<key> --oneuptime-url=<url> | सेटिंग्स सहेजता है और एजेंट को सिस्टम सेवा के रूप में इंस्टॉल करता है। रिपोर्ट को प्रॉक्सी के ज़रिए भेजने के लिए --proxy-url=<url> जोड़ें। |
start | सेवा शुरू करता है। जब तक configure नहीं चलाया जाता, यह शुरू होने से मना करता है। |
stop | सेवा रोकता है। |
restart | सेवा फिर से शुरू करता है। |
status | दिखाता है कि सेवा चल रही है या रुकी हुई है। |
logs | एजेंट के लॉग की आख़िरी 100 पंक्तियाँ दिखाता है। -n <lines> अलग संख्या में पंक्तियाँ दिखाता है, और -f नई पंक्तियों का पीछा करता है। |
uninstall | सेवा हटाता है और एजेंट की कॉन्फ़िगरेशन फ़ाइल मिटाता है। |
help | कमांड की सूची दिखाता है। |
इन्हें Linux और macOS पर sudo के साथ चलाएं, और Windows पर Administrator कमांड प्रॉम्प्ट से चलाएं। कॉन्फ़िगर किए गए एजेंट की सीक्रेट कुंजी, URL या प्रॉक्सी बदलने के लिए stop और uninstall चलाएं, फिर दोबारा configure और start चलाएं।
फ़ाइलें
| फ़ाइल | Linux और macOS | Windows |
|---|---|---|
| कॉन्फ़िगरेशन | /etc/status200-infrastructure-agent/config.json | %PROGRAMDATA%\oneuptime-infrastructure-agent\config.json |
| लॉग | /var/log/status200-infrastructure-agent/status200-infrastructure-agent.log | %PROGRAMDATA%\oneuptime-infrastructure-agent\oneuptime-infrastructure-agent.log |
जब एजेंट इन डायरेक्टरी में नहीं लिख पाता, तो वह इसके बजाय ~/.oneuptime-infrastructure-agent/ का उपयोग करता है। STATUS200_AGENT_CONFIG_PATH और STATUS200_AGENT_LOG_PATH एनवायरनमेंट वेरिएबल इनमें से किसी भी पथ को स्पष्ट रूप से सेट करते हैं।
अपग्रेड और हटाना
एजेंट को उसी तरीके से अपग्रेड करें जिससे आपने उसे इंस्टॉल किया था:
| किससे इंस्टॉल किया | अपग्रेड |
|---|---|
| apt | sudo apt-get update && sudo apt-get install --only-upgrade oneuptime-infrastructure-agent |
| dnf या yum | sudo dnf upgrade oneuptime-infrastructure-agent |
| Homebrew | brew upgrade oneuptime-infrastructure-agent |
| winget | winget upgrade --id OneUptime.InfrastructureAgent --exact |
| MSI | नई MSI इंस्टॉल करें। |
| इंस्टॉल स्क्रिप्ट | इंस्टॉल स्क्रिप्ट फिर से चलाएं। |
अपग्रेड चल रहे एजेंट को रीस्टार्ट नहीं करता, इसलिए उसके बाद restart चलाएं। Windows पर winget upgrade से पहले stop और उसके बाद start चलाएं: जब तक सेवा प्रोग्राम को चला रही है, winget उसे बदल नहीं सकता।
एजेंट को हटाने के लिए पहले uninstall चलाएं, फिर पैकेज को उसी टूल से हटाएं जिससे आपने उसे इंस्टॉल किया था, उदाहरण के लिए sudo apt-get remove oneuptime-infrastructure-agent।
एजेंट क्या रिपोर्ट करता है
हर रिपोर्ट में सर्वर का होस्टनेम और ये होते हैं:
| क्षेत्र | क्या रिपोर्ट होता है |
|---|---|
| CPU | उपयोग %, कोर की संख्या, प्रति कोर उपयोग, और user, system, idle, I/O wait, steal, nice, IRQ और soft IRQ में बिताया गया समय |
| मेमोरी | कुल, प्रयुक्त, खाली और उपलब्ध मेमोरी, बफ़र और कैश, उपयोग %, और स्वैप का कुल, प्रयुक्त, खाली और उपयोग % |
| डिस्क | हर माउंट की गई डिस्क के लिए: माउंट पथ, डिवाइस, फ़ाइल सिस्टम, कुल, प्रयुक्त और खाली जगह, उपयोग %, पढ़े और लिखे गए बाइट और ऑपरेशन, और I/O समय |
| लोड | 1, 5 और 15 मिनट का लोड औसत |
| नेटवर्क | हर इंटरफ़ेस के लिए: भेजे और प्राप्त बाइट और पैकेट, अंदर और बाहर की त्रुटियाँ और ड्रॉप; साथ में स्थापित और सुन रहे कनेक्शन |
| होस्ट | ऑपरेटिंग सिस्टम, प्लेटफ़ॉर्म और संस्करण, कर्नेल संस्करण और आर्किटेक्चर, अपटाइम, बूट समय, वर्चुअलाइज़ेशन और प्रक्रियाओं की संख्या |
| प्रक्रियाएँ | हर चल रही प्रक्रिया: नाम, PID, कमांड, CPU %, मेमोरी, स्थिति, थ्रेड, उपयोगकर्ता और शुरू होने का समय |
जो मान ऑपरेटिंग सिस्टम नहीं देता, वे छोड़ दिए जाते हैं। मॉनिटर का मेट्रिक्स टैब उपलब्धता, CPU, मेमोरी, डिस्क उपयोग और I/O, लोड औसत, स्वैप, नेटवर्क ट्रैफ़िक और त्रुटियाँ, कनेक्शन, अपटाइम और प्रक्रियाओं की संख्या के चार्ट दिखाता है।
मॉनिटरिंग मानदंड
मानदंड तय करते हैं कि मॉनिटर कब ऑनलाइन, धीमा या ऑफ़लाइन है, और कब वह अलर्ट या घटना खोलता है। मानदंड के हर फ़िल्टर में एक फ़िल्टर प्रकार, एक फ़िल्टर शर्त और ज़्यादातर प्रकारों के लिए एक मान होता है।
| फ़िल्टर प्रकार | यह क्या जाँचता है | फ़िल्टर शर्तें |
|---|---|---|
| Is Online | क्या एजेंट ने हाल ही में रिपोर्ट किया है (डिफ़ॉल्ट रूप से पिछले 3 मिनट में) | सही, गलत |
| CPU Usage (in %) | कुल CPU उपयोग | से बड़ा, से छोटा, से बड़ा या बराबर, से छोटा या बराबर |
| Memory Usage (in %) | उपयोग में मेमोरी | CPU के समान |
| Disk Usage (in %) | डिस्क पथ में दी गई डिस्क का उपयोग | CPU के समान |
| Swap Usage (in %) | उपयोग में स्वैप | CPU के समान |
| CPU IO Wait (in %) | CPU समय का वह हिस्सा जो I/O की प्रतीक्षा में बीता | CPU के समान |
| Load Average (1 minute) | पिछले एक मिनट का लोड औसत | CPU के समान |
| Load Average (5 minute) | पिछले 5 मिनट का लोड औसत | CPU के समान |
| Load Average (15 minute) | पिछले 15 मिनट का लोड औसत | CPU के समान |
| Server Process Name | क्या इस नाम की प्रक्रिया चल रही है (केस-असंवेदी) | Is Executing, Is Not Executing |
| Server Process Command | क्या ठीक इसी कमांड लाइन वाली प्रक्रिया चल रही है (केस-असंवेदी) | Is Executing, Is Not Executing |
| Server Process PID | क्या इस PID वाली प्रक्रिया चल रही है | Is Executing, Is Not Executing |
डिस्क पथ एक माउंट पॉइंट या डिवाइस लेता है, जैसे /, /mnt/data, C:\ या /dev/sda1; खाली छोड़ने पर यह / होता है। एजेंट द्वारा रिपोर्ट की गई हर डिस्क जाँचने के लिए * डालें: थ्रेशोल्ड पार करने वाली हर डिस्क को अपना अलग अलर्ट मिलता है, इसलिए भरती हुई दूसरी डिस्क पहली डिस्क के खुले अलर्ट के पीछे छिपती नहीं।
समयावधि में मूल्यांकन
इस मानदंड का एक समयावधि के दौरान मूल्यांकन करें मानदंड फ़ॉर्म पर एक अलग चेकबॉक्स है, कोई फ़िल्टर शर्त नहीं। यह Is Online और हर संख्यात्मक फ़िल्टर प्रकार के लिए उपलब्ध है। इसे चालू करने पर नवीनतम जाँच के मान के बजाय एक समग्र मान की तुलना होती है – जिसे मूल्यांकन करें में चुना जाता है (औसत, योग, Maximum Value, Minimum Value, All Values, Any Value) और जो पिछले (मिनटों में) के लिए से तय विंडो पर लागू होता है। Is Online फ़िल्टर पर विंडो वह समय है जितनी देर एजेंट चुप रह सकता है, उसके बाद सर्वर ऑफ़लाइन माना जाता है।
All Values तभी मेल खाता है जब विंडो वास्तव में डेटा से ढकी हो। अभी-अभी बना मॉनिटर, या ऐसा मॉनिटर जिसकी जाँचें दर्ज होनी बंद हो गई हैं, पिछले N मिनटों के बारे में कुछ कहने लायक इतिहास नहीं रखता, इसलिए मानदंड अपने पास मौजूद एक रीडिंग पर मेल खाने के बजाय प्रतीक्षा करता है। Any Value "जैसे ही एक भी जाँच सीमा पार करे, मुझे बताओ" के लिए सेटिंग है और अब भी तुरंत ट्रिगर होती है।
यदि कोई डेटा नहीं यह नियंत्रित करता है कि जब विंडो मानदंड का समर्थन नहीं कर सकती तब क्या हो:
| यदि कोई डेटा नहीं | व्यवहार | इसका उपयोग कब करें |
|---|---|---|
| Ignore (डिफ़ॉल्ट) | मानदंड मेल नहीं खाता। | सामान्य थ्रेशोल्ड अलर्ट। |
| ट्रिगर | डेटा का न होना ही समस्या माना जाता है। | हार्टबीट जैसी जाँचें, जहाँ चुप्पी अपने आप में विफलता है। |
| Treat As Zero | विंडो की तुलना एक अकेले शून्य के रूप में होती है। | काउंटर, जहाँ "कोई घटना नहीं" का मतलब सचमुच शून्य है। |
CPU और लोड में हर समय छोटे उछाल आते रहते हैं। एक अकेली रिपोर्ट पर अलर्ट देने के बजाय उन्हें कुछ मिनटों में औसत या All Values से आँकें।
उदाहरण मानदंड
| लक्ष्य | फ़िल्टर प्रकार | फ़िल्टर शर्त | मान |
|---|---|---|---|
| एजेंट के रिपोर्ट करना बंद करने पर सर्वर को ऑफ़लाइन चिह्नित करें | Is Online | गलत | — |
| CPU उपयोग 90% से ऊपर होने पर अलर्ट दें | CPU Usage (in %) | से बड़ा | 90 |
| रूट डिस्क 85% से अधिक भरने पर अलर्ट दें | Disk Usage (in %), डिस्क पथ / | से बड़ा | 85 |
| 85% से अधिक भरी किसी भी डिस्क पर अलर्ट दें, हर डिस्क के लिए एक अलर्ट | Disk Usage (in %), डिस्क पथ * | से बड़ा | 85 |
| मेमोरी उपयोग 80% से ऊपर होने पर अलर्ट दें | Memory Usage (in %) | से बड़ा | 80 |
| nginx के बंद होने पर अलर्ट दें | Server Process Name | Is Not Executing | nginx |
समस्या निवारण
एजेंट रिपोर्ट नहीं कर रहा
- जाँचें कि सेवा चल रही है:
sudo oneuptime-infrastructure-agent status। - इसका लॉग पढ़ें:
sudo oneuptime-infrastructure-agent logs -n 50।Metrics successfully pushed to Status200 serverवाली पंक्ति का मतलब है कि रिपोर्ट पहुँच रही हैं। - एजेंट शुरू होते समय सीक्रेट कुंजी की जाँच करता है और अगर Status200 उसे अस्वीकार करता है तो
Secret key is invalidलॉग करके बंद हो जाता है। कुंजी की तुलना मॉनिटर के सेटिंग्स पेज पर सर्वर मॉनिटर सीक्रेट कुंजी रीसेट करें के नीचे दी गई कुंजी से करें। - सुनिश्चित करें कि सर्वर HTTPS पर आपके Status200 URL तक पहुँच सकता है, और कोई फ़ायरवॉल बाहर जाने वाले कनेक्शन को रोक नहीं रहा।
sudo कहता है कि कमांड नहीं मिला
पैकेज एजेंट को सिस्टम पथ पर रखते हैं, इसलिए यह केवल इंस्टॉल स्क्रिप्ट के साथ होता है। इंस्टॉल स्क्रिप्ट बाइनरी को उस उपयोगकर्ता के $HOME/bin में रखती है जिसके रूप में वह चली थी, और उपयोग की गई डायरेक्टरी दिखाती है। एजेंट को उसके पूरे पथ से चलाएं, उदाहरण के लिए sudo /root/bin/status200-infrastructure-agent configure ...। इसके बजाय सिस्टम पथ की किसी डायरेक्टरी में इंस्टॉल करने के लिए स्क्रिप्ट को -b दें:
curl -sSL https://status200.ru/docs/static/scripts/infrastructure-agent/install.sh | sudo bash -s -- -b /usr/local/binstart कहता है कि सेवा कॉन्फ़िगरेशन नहीं मिला
configure नहीं चलाया गया है, या uninstall ने उसका कॉन्फ़िगरेशन हटा दिया है। सीक्रेट कुंजी और URL के साथ configure चलाएं, फिर start चलाएं।
सर्वर बंद होने पर भी मॉनिटर कभी ऑफ़लाइन नहीं होता
सिर्फ़ Is Online मानदंड ही चुप सर्वर को ऑफ़लाइन चिह्नित करता है। फ़िल्टर शर्त को गलत पर सेट करके एक मानदंड जोड़ें, और वह मॉनिटर स्थिति सेट करें जिस पर वह बदलता है।
रिपोर्ट प्रॉक्सी से नहीं गुज़रतीं
--proxy-urlमें दिए प्रॉक्सी URL और पोर्ट की जाँच करें।- सुनिश्चित करें कि प्रॉक्सी आपके Status200 URL तक कनेक्शन की अनुमति देता है।
- प्रॉक्सी बदलने के लिए
stopऔरuninstallचलाएं, फिर नए--proxy-urlके साथconfigureचलाएं, औरstartचलाएं।