चोरी के समय की निगरानी के लिए उपकरण (st)


12

हम एक आभासी "समर्पित" सर्वर पर चल रहे हैं, जिसे सिद्धांत रूप में, इसका मतलब है कि हम सर्वर पर केवल लोग हैं। अभ्यास में .... मैं सोच रहा हूं कि हम नहीं हो सकते।

यहाँ छवि विवरण दर्ज करें

ध्यान दें कि ऐसा लगता है कि हम अपनी मशीन को मार रहे हैं, "चोरी का समय" 71% है

मैं लोड पर आंकड़े ले रहा हूं और मुझे निराशा हुई कि यह चित्र मेरे रेखांकन में नहीं दिखा। क्या ऐसे कोई उपकरण हैं जो इस पर नज़र रखते हैं जो मदद करने में सक्षम हो सकते हैं?


अतिरिक्त जानकारी:

हम 4 कोर चला रहे हैं, मॉडल:

# grep "model name" /proc/cpuinfo | sort -u
model name  : Intel(R) Core(TM)2 Duo CPU     E7500  @ 2.93GHz

1
आभासी समर्पित? एक्सईएन के मामले में उन्हें आपके वीएम में समर्पित उपयोग के लिए समर्पित कोर पिन करने की आवश्यकता होगी। ऐसा लगता है कि आपके प्रदाता ने अनुचित अनुचित तरीके से CPU को ओवरबुक कर लिया है। वह इसको क्या कहता है?
Nils

1
आपको कितने वीसीपीयू मिले हैं और किस प्रकार के सीपीयू में सूचित किया गया है grep "model name" /proc/cpuinfo|sort -u? यदि यह वास्तव में एक समर्पित सर्वर है तो Dom0 पर सीपीयू-टाइम कुछ खा रहा है। या वे आपको अधिक VCPUs प्रदान करते हैं, जो कि DOM0 में उपलब्ध हैं।
निल्स

1
जब तक यह एक क्षणिक रूप से बाहर न हो जाए, ऐसा लगता है कि आपका isp आपसे झूठ बोल रहा है और वे वास्तव में, इस मशीन पर अन्य सीपीयू भारी vms चला रहे हैं, या कुछ गलत तरीके से कॉन्फ़िगर किया गया है, जिसके कारण dom0 का बहुत अधिक CPU समय हॉग हो रहा है। ।
psusi

1
SuSE को केवल DOM0 के लिए दो कोर आरक्षित करने की सलाह दी जाती है ताकि यह अन्य VM को परेशान किए बिना सभी IO- हैंडलिंग कर सके। मेरी नजर में यह केवल डोमू और भारी आईओ ट्रैफिक में चोरी के समय वाले सिस्टम के लिए जरूरी होगा। मैं जानना चाहता था कि क्या आपके प्रदाता ने तार्किक कोर की तुलना में अधिक vCPUs असाइन किए हैं - जैसे 4 vCPUs असाइन करें जबकि DOM0 में केवल 2 तार्किक CPU उपलब्ध हैं - जो "चोरी" को भी समझाएगा, (और एक्सईएन में एक बहुत ही अच्छा विचार है - लेकिन संभव है) ।
निल्स

1
इसका मूल कारण यह था कि आईएसपी ने वीएम को गलत तरीके से कॉन्फ़िगर किया था। अतिथि को यह बताया जा रहा था कि वास्तव में यह अधिक कोर था। यह शेड्यूलिंग के कारण कहर ढा रहा था। ISP बुद्धिमान तकनीकी सहायता प्रदान नहीं कर सका, लेकिन हम विषम संख्या वाले कोर को / खरीद में अक्षम करके समस्या को "साबित" करने में सक्षम थे। कभी कोई समस्या नहीं।
mgjk

जवाबों:


12

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

यद्यपि (जैसा कि मैं बता सकता हूं) सीपीयू चोरी का समय वर्तमान में स्नैम्प से उपलब्ध नहीं है, आप इसे अपने आप को UCD-SNMP-MIB::extOutputऑब्जेक्ट और execकमांड के साथ बढ़ा सकते हैं ।

चोरी करने का सबसे आसान तरीका (जो मैंने पाया है) है iostat। निम्नलिखित निर्माण का उपयोग करके हम केवल चोरी का समय प्राप्त कर सकते हैं :

$ iostat -c | awk 'NR==4 {print $5}'
0.00

इसलिए, अपने snmpd.conf को निम्नलिखित जोड़ें:

exec cpu_steal_time /usr/bin/iostat -c | /usr/bin/awk 'NR==4 {print $5}'

(वैकल्पिक रूप से आप कमांड को एक आवरण लिपि में रख सकते हैं और आवरण को अंदर से बुला सकते हैं snmpd.conf।)

प्रत्येक execकॉल 1 snmpd.confसे अनुक्रमित किया जाता है। इसलिए यदि आपके पास केवल एक ही निष्पादित विवरण है तो आप मतदान करना चाहते हैं UCD-SNMP-MIB::extOutput.1। यदि यह 5 वां निष्पादन विवरण है तो मतदान UCD-SNMP-MIB::extOutput.5इत्यादि।

के लिए सांख्यिक OID UCD-SNMP-MIB::extOutputहै .1.3.6.1.4.1.2021.8.1.101, इसलिए यदि आप सूचकांक 1 यह होगा पर हैं .1.3.6.1.4.1.2021.8.1.101.1, और सूचकांक 5 होगा .1.3.6.1.4.1.2021.8.1.101.5, आदि

फिर आप एक ग्राफ मतदान बनाते हैं जो कि प्रकार के गेज के SNMPD OID, 0–100 से होता है। यह आपको कुछ सुंदर रेखांकन देना चाहिए।


बहुत बढ़िया जवाब। ये स्टैटिक्स कितनी बार इकट्ठा होंगे? मतदान के दौरान, या आरएमओएन-एमआईबी की तरह एक तरीका है जो बाहरी मतदान के बिना मूल्यों को रिकॉर्ड करेगा?
नेल्स

मेरा मानना ​​है कि यह हर बार snmpdउस OID के लिए क्वियर होता है।
बहमट

यदि iostat स्थापित नहीं है: शीर्ष-bb1 | sed -nr '3s /.*,// gp'
davide

9

sar -uआपके मामले में मददगार हो सकता है। सर आमतौर पर sysstat -package का हिस्सा है ।


काश मैं स्वीकृत उत्तर के रूप में एक से अधिक उत्तर निर्धारित कर पाता। दोनों उत्तर बहुत उपयोगी हैं :-) धन्यवाद!
mgjk

0

सबसे उत्कीर्ण जवाब बहुत अच्छा है, लेकिन इस समय यह पूरी तरह से काम नहीं कर रहा है: नेट-स्नैम्पexec कॉल में पाइप खो देता है , इसलिए इसे इस तरह से देखना चाहिए

extend-sh cpu_steal_time /usr/bin/iostat -c 1 1 | /usr/bin/awk '!/%user|Linux|^$/ {print $5}'

और परिणाम नीचे दिखाई देगा nsExtendOutput1Table:

# snmpwalk localhost NET-SNMP-EXTEND-MIB::nsExtendOutput1Table
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."cpu_steal_time" = STRING: 0.60
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."cpu_steal_time" = STRING: 0.60
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."cpu_steal_time" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendResult."cpu_steal_time" = INTEGER: 0

जहां nsExtendOutput1Lineoid है .1.3.6.1.4.1.8072.1.3.2.3.1.1:

snmpwalk localhost .1.3.6.1.4.1.8072.1.3.2.3.1.1
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."cpu_steal_time" = STRING: 0.60
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.