คำเตือนและค่าที่สำคัญใดที่จะใช้สำหรับ 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 หรือไม่
Sandra

คำตอบ:


9

การโหลด Linux นั้นง่ายมาก หมายเลข AVG ของโหลดแต่ละหมายเลขคือผลรวมของโหลดเฉลี่ยของคอร์ทั้งหมด กล่าวคือ

 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ที่ไหน

ดังนั้นหากการโหลดเป็น 1 บนเซิร์ฟเวอร์ 4 คอร์หมายความว่าแต่ละคอร์ใช้ 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กล่าวคือ คุณไม่จำเป็นต้องแก้ไขคำเตือนและค่าที่สำคัญจากเซิร์ฟเวอร์ไปยังเซิร์ฟเวอร์

OP มี 5,10,15 สำหรับช่วงเวลา ว่าเป็นสิ่งที่ผิด. มันคือ 1,5,15


27

แม้ว่าจะเป็นการโพสต์เก่า แต่การตอบกลับตอนนี้เพราะฉันรู้ว่าค่าเกณฑ์ check_load กำลังปวดหัวครั้งใหญ่สำหรับมือใหม่ .. ;)

การแจ้งเตือนหาก CPU 70% เป็นเวลา 5 นาที 60% เป็นเวลา 10 นาที 50% เป็นเวลา 15 นาที การแจ้งเตือนที่สำคัญหาก CPU 90% เป็นเวลา 5 นาที 80% สำหรับ 10 นาที 70% เป็นเวลา 15 นาที

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

การค้นพบทั้งหมดของฉันเกี่ยวกับการโหลด CPU:

"โหลด" มีความหมายอะไร: Wikipedia พูดว่า:

ระบบที่เหมือน Unix และ Unix ทั้งหมดสร้างตัวชี้วัดของตัวเลข "โหลดเฉลี่ย" สามตัวในเคอร์เนล ผู้ใช้สามารถสืบค้นผลลัพธ์ปัจจุบันจาก Unix shell ได้อย่างง่ายดายโดยการรันคำสั่ง uptime:

$ 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 นาทีที่ผ่านมาซีพียูทำงานหนักเกินไป 11%
  • ในช่วง 15 นาทีที่ผ่านมาซีพียูทำงานหนักเกินไป 9%

.

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

ค่าเฉลี่ยการโหลดข้างต้นของ1.73 0.50 7.98บนระบบ CPU เดียวเป็น:

  • ในช่วงนาทีสุดท้าย CPU ถูกโหลดมากถึง 73% (1 CPU ที่มีกระบวนการที่รันได้ 1.73 ดังนั้น 0.73 กระบวนการต้องรอให้ถึงตาแหน่ง)
  • ในช่วง 5 นาทีที่ผ่านมาซีพียูทำงานหนัก 50% (ไม่มีกระบวนการใดที่ต้องรอการเปิด)
  • ในช่วง 15 นาทีที่ผ่านมาซีพียูมากเกินไป 698% (1 ซีพียูที่มีกระบวนการที่รันได้ 7.98 ดังนั้น 6.98 กระบวนการต้องรอให้ถึงตาแหน่ง)

การคำนวณค่าเกณฑ์ Nagios:

สำหรับการตั้งค่าโหลด CPU ของ Nagios ซึ่งรวมถึงคำเตือนและที่สำคัญ

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

กระดาษสีขาวที่ยอดเยี่ยมเกี่ยวกับการวิเคราะห์การโหลดของ CPU โดย Dr. Gunther http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf ในบทความออนไลน์นี้ Dr. Gunther ขุดลงในเคอร์เนล UNIX เพื่อหาว่าโหลดเฉลี่ย ( “ LA Triplets”) มีการคำนวณและเหมาะสมว่าเป็นตัวชี้วัดการวางแผนกำลังการผลิต


2
เวลาควรเป็น 1,5 และ 15 นาที
dalf

3

เว้นแต่เซิร์ฟเวอร์ที่มีปัญหาจะมีเวิร์กโหลดแบบอะซิงโครนัสซึ่งความลึกของคิวเป็นตัวชี้วัดการบริการที่สำคัญในการจัดการ มันเป็นเพียงสิ่งที่ทำให้ไขว้เขวจากตัวชี้วัดที่สำคัญเช่นเวลาให้บริการ (เวลาบริการและเวลาบริการ)


2

การเสริมที่ดีเช่นกัน Nagios เป็นเครื่องมือเช่น Munin หรือ Cacti พวกเขาจะสร้างกราฟปริมาณงานที่เซิร์ฟเวอร์ของคุณกำลังประสบอยู่ ไม่ว่าจะเป็น load_average, การใช้ cpu, disk io หรืออย่างอื่น

การใช้ข้อมูลนี้จะเป็นการง่ายกว่าในการตั้งค่าเกณฑ์ที่ดีใน Nagios


1

คุณรู้หรือไม่ว่าประสิทธิภาพของระบบของคุณได้รับผลกระทบจากการโหลดโดยเฉลี่ยหรือไม่ เรามีเซิร์ฟเวอร์ที่งานล่าสุดของฉันที่จะนั่งเฉลี่ย 35-40 ต่อเนื่อง แต่ก็ยังตอบสนองได้ เป็นการวัดที่คุณต้องทำนักสืบเพื่อรับตัวเลขที่แม่นยำ

คุณอาจต้องการวัดเมตริกอื่น ๆ บนระบบแทนเช่นเวลาเชื่อมต่อเฉลี่ยสำหรับ SSH หรือ http นี่อาจเป็นตัวบ่งชี้ที่ดีกว่าว่าระบบของคุณโหลดอยู่หรือไม่


2
ค่าเฉลี่ยการโหลดของเช่น 35 จริงๆแล้วหมายถึงอะไร จำนวนแกน cpu สร้างความแตกต่างกับจำนวนหรือไม่?
Sandra

1

หากต้องการขยายคำตอบของคิดค้น Sekar: เมื่อใช้ check_load และเปอร์เซ็นต์ฉันเชื่อว่าคุณจะต้องใช้อาร์กิวเมนต์บรรทัดคำสั่ง "-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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.