Check_load के लिए क्या चेतावनी और महत्वपूर्ण मान का उपयोग करें?


13

अभी मैं इन मूल्यों का उपयोग कर रहा हूं:

# y = c * p / 100
# y: nagios value
# c: number of cores
# p: wanted load procent

# 4 cores
# time        5 minutes    10 minutes     15 minutes
# warning:    90%          70%            50%
# critical:   100%         80%            60%
command[check_load]=/usr/local/nagios/libexec/check_load -w 3.6,2.8,2.0 -c 4.0,3.2,2.4

लेकिन इन मूल्यों को लगभग यादृच्छिक रूप से चुना जाता है।

क्या किसी के पास कुछ परीक्षणित मूल्य हैं?


2
मुझे लगता है कि कोई सं standardया testedमूल्य नहीं है। यह आपके अपेक्षित सर्वर कार्यभार पर निर्भर करता है। यदि आप एक उच्च भार की अपेक्षा करते हैं, तो आपको मूल्यों को बढ़ाना चाहिए। अन्यथा, आपका सर्वर हमेशा गंभीर स्थिति में दिखाई देगा।
खालिद

हां, यही मेरी समस्या है। मुझे लगातार महत्वपूर्ण सूचनाएं मिलती रहती हैं। क्या मुझे 3 के साथ सब कुछ गुणा करना चाहिए?
सांड्रा

जवाबों:


9

लिनक्स लोड वास्तव में सरल है। प्रत्येक लोड एवीजी संख्या सभी कोर के एवीजी लोड का योग है। अर्थात।

 1 min load avg = load_core_1 + load_core_2 + ... + load_core_n
 5 min load avg = load_core_1 + load_core_2 + ... + load_core_n
15 min load avg = load_core_1 + load_core_2 + ... + load_core_n

जहां 0 < avg load < infinity

इसलिए यदि 4 कोर सर्वर पर लोड 1 है, तो इसका मतलब है कि प्रत्येक कोर का उपयोग 25% या लोड के तहत एक कोर 100% है। 4 के लोड का मतलब है कि सभी 4 कोर 100% लोड के अधीन हैं। > 4 के लोड का मतलब है कि सर्वर को अधिक कोर की आवश्यकता है।

check_load अब है

 -r, --percpu
    Divide the load averages by the number of CPUs (when possible)

जिसका अर्थ है कि जब उपयोग किया जाता है, तो आप अपने सर्वर को केवल एक कोर होने के रूप में सोच सकते हैं और इसलिए कोर की संख्या के बारे में सोचे बिना सीधे प्रतिशत अंश लिख सकते हैं। साथ -rचेतावनी और महत्वपूर्ण अंतराल हो जाता है 0 <= load avg <= 1। अर्थात। आपको सर्वर से सर्वर पर अपनी चेतावनी और महत्वपूर्ण मानों को संशोधित करने की आवश्यकता नहीं है।

अंतराल के लिए ओपी के पास 5,10,15 हैं। यह गलत है। यह 1,5,15 है।


27

हालांकि इसकी एक पुरानी पोस्ट, अब उत्तर दे रही है क्योंकि मुझे पता था कि check_load थ्रेशोल्ड मान newbies के लिए बड़े सिरदर्द हैं;);

चेतावनी चेतावनी, यदि CPU 5min के लिए 70%, 10mins के लिए 60%, 15mins के लिए 50% है। एक महत्वपूर्ण चेतावनी, यदि CPU 5min के लिए 90%, 10mins के लिए 80%, 15mins के लिए 70% है।

*command[check_load]=/usr/local/nagios/libexec/check_load -w 0.7,0.6,0.5 -c 0.9,0.8,0.7*

सीपीयू लोड के बारे में मेरे सभी निष्कर्ष:

व्हाट्सएप का मतलब है "लोड": विकिपीडिया कहता है:

सभी यूनिक्स और यूनिक्स जैसे सिस्टम कर्नेल में तीन "लोड औसत" संख्याओं का एक मीट्रिक उत्पन्न करते हैं। उपयोगकर्ता आसानी से अपटाइम कमांड चलाकर यूनिक्स शेल से वर्तमान परिणाम को क्वेरी कर सकते हैं:

$ uptime
14:34:03 up 10:43,  4 users,  load average: 0.06, 0.11, 0.09

उपरोक्त आउटपुट लोड औसत से: 0.06, 0.11, 0.09मतलब (एकल-सीपीयू सिस्टम पर):

  • अंतिम समय के दौरान, CPU को 6% से कम किया गया था
  • पिछले 5 मिनट के दौरान, CPU को 11% से कम किया गया था
  • पिछले 15 मिनट के दौरान, CPU को 9% से कम किया गया था

$ uptime
14:34:03 up 10:43,  4 users,  load average: 1.73, 0.50, 7.98

1.73 0.50 7.98एकल-सीपीयू प्रणाली पर उपरोक्त लोड औसत निम्नानुसार है:

  • अंतिम समय के दौरान, सीपीयू को 73% (1.73 रन करने योग्य प्रक्रियाओं के साथ 1 सीपीयू) द्वारा ओवरलोड किया गया था, ताकि 0.73 प्रक्रियाओं को एक मोड़ के लिए इंतजार करना पड़े)
  • पिछले 5 मिनट के दौरान, CPU को 50% से कम किया गया था (कोई भी प्रक्रिया को एक मोड़ के लिए इंतजार नहीं करना पड़ा)
  • पिछले 15 मिनट के दौरान, सीपीयू को 698% (1 सीपीयू 7.98 रन करने योग्य प्रक्रियाओं के साथ अधिभारित किया गया था, ताकि 6.98 प्रक्रियाओं को एक मोड़ के लिए इंतजार करना पड़े)

Nagios दहलीज मूल्य गणना:

Nagios CPU लोड सेटअप के लिए, जिसमें चेतावनी और महत्वपूर्ण शामिल हैं:

y = c * p / 100

कहाँ पे: y = nagios value c = number of cores p = wanted load procent

एक 4 कोर प्रणाली के लिए:

time      5 min  10 min    15 min
warning:  90%    70%       50%
critical: 100%   80%       60%

command[check_load]=/usr/local/nagios/libexec/check_load -w 3.6,2.8,2.0 -c 4.0,3.2,2.4

एकल कोर प्रणाली के लिए:

y = p / 100

कहाँ पे: y = nagios value p = wanted load procent

time       5 min  10 min    15 min
warning:   70%    60%       50%
critical:  90%    80%       70%

command[check_load]=/usr/local/nagios/libexec/check_load -w 0.7,0.6,0.5 -c 0.9,0.8,0.7

डॉ गुंथर द्वारा सीपीयू लोड विश्लेषण के बारे में एक महान श्वेत पत्र http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf इस ऑनलाइन लेख में डॉ गुंथर यूनिक्स कर्नेल में नीचे खोदता कैसे लोड औसत पता लगाने के लिए ( "ला ट्रिपल") की गणना की जाती है और क्षमता नियोजन मैट्रिक्स के रूप में वे कितने उपयुक्त हैं।


2
समय 1,5 और 15 मिनट होना चाहिए
dalf

3

जब तक प्रश्न में सर्वरों में एक अतुल्यकालिक कार्यभार होता है, जहां कतार की गहराई का प्रबंधन करने के लिए महत्वपूर्ण सेवा मीट्रिक है, तब तक ईमानदारी से लोड औसत की निगरानी के लायक भी नहीं है। इसकी मैट्रिक्स से बस एक विकर्षण है जो सेवा समय (सेवा समय, और सेवा समय) जैसे मायने रखता है।


2

एक अच्छा पूरक भी नागिओस मुनिन या कैक्टि की तरह का एक उपकरण है, वे आपके सर्वर पर काम कर रहे विभिन्न प्रकार के कार्यभार को रेखांकन करेंगे। इसे लोड करें_आवंटन, सीपीयू उपयोग, डिस्क io या कुछ और।

इस जानकारी का उपयोग करके Nagios में अच्छे थ्रेसहोल्ड मान सेट करना आसान है।


1

क्या आप जानते हैं कि आपके सिस्टम का प्रदर्शन किस लोड औसत पर प्रभावित होता है? हमारे पास मेरी आखिरी नौकरी में सर्वर थे जो लगातार 35-40 लोड औसत पर बैठेंगे, लेकिन अभी भी उत्तरदायी थे। यह एक माप है जिसके लिए आपको सटीक संख्या प्राप्त करने के लिए थोड़ा जासूसी का काम करना होगा।

आप सिस्टम पर कुछ अन्य मैट्रिक्स को मापना चाहते हैं, जैसे SSH या http के लिए औसत कनेक्ट समय; यह एक बेहतर संकेतक हो सकता है कि आपका सिस्टम कितना लोड है।


2
उदाहरण के लिए 35 के लोड औसत का वास्तव में क्या मतलब है? क्या सीपीयू कोर की संख्या पर फर्क पड़ता है?
सैंड्रा

1

इन्वेंट सेकर के उत्तर का विस्तार करने के लिए: चेक_लोड और प्रतिशत का उपयोग करते समय मेरा मानना ​​है कि आपको दूसरों के साथ "-r" कमांड लाइन तर्क की आवश्यकता होगी।

उदाहरण के लिए:

command[check_load]=/usr/local/nagios/libexec/check_load -r -w 0.7,0.6,0.5 -c 0.9,0.8,0.7
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.