Check_load için hangi Uyarı ve Kritik değerler kullanılır?


13

Şu anda bu değerleri kullanıyorum:

# 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

Ancak bu değerler neredeyse rastgele seçilir.

Test edilen değerleri olan var mı?


2
Hayır standardya da testeddeğer olduğunu düşünüyorum . Beklenen sunucu iş yükünüze bağlıdır. Yüksek bir yük bekliyorsanız değerleri artırmalısınız. Aksi takdirde, sunucunuz her zaman kritik durumda görünür.
Khaled

Evet, bu benim sorunum. Sürekli kritik bildirimler alıyorum. Her şeyi 3 ile çarpmalı mıyım?
Sandra

Yanıtlar:


9

Linux yükü aslında basit. Yük ortalama numaralarının her biri, çekirdeğin ortalama yükünün toplamıdır. Yani.

 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

nerede 0 < avg load < infinity.

Dolayısıyla, 4 çekirdekli bir sunucuda bir yük 1 ise, her bir çekirdeğin% 25 kullanıldığı veya bir çekirdeğin yük altında% 100 olduğu anlamına gelir. 4 yükü, tüm 4 çekirdeğin% 100 yük altında olduğu anlamına gelir. > 4 yükü, sunucunun daha fazla çekirdeğe ihtiyacı olduğu anlamına gelir.

check_load şimdi var

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

Bu, kullanıldığında sunucunuzun yalnızca bir çekirdeğe sahip olduğunu düşünebilir ve böylece çekirdek sayısını düşünmeden yüzde oranlarını doğrudan yazabilirsiniz. İle -ruyarı ve kritik aralıklarla olur 0 <= load avg <= 1. Yani. uyarı ve kritik değerlerinizi sunucudan sunucuya değiştirmeniz gerekmez.

OP aralıkları için 5,10,15 var. Bu yanlış. 1,5,15.


27

Eski bir yazı olmasına rağmen, check_load eşik değerlerinin yeni başlayanlar için büyük zaman baş ağrısı olduğunu bildiğim için şimdi cevap veriyorum;;)

CPU 5 dakika için% 70, 10 dakika için% 60, 15 dakika için% 50 ise bir uyarı uyarısı. CPU 5 dakika için% 90, 10 dakika için% 80, 15 dakika için% 70 ise kritik bir uyarı.

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

CPU yükü ile ilgili tüm bulgularım:

"Yük" ile kastedilen: Wikipedia diyor ki:

Tüm Unix ve Unix benzeri sistemler, çekirdekte üç "ortalama yük" sayısının bir metriğini oluşturur. Kullanıcılar, uptime komutunu çalıştırarak geçerli sonucu bir Unix kabuğundan kolayca sorgulayabilir:

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

Yukarıdaki çıkış yükü ortalamasından: 0.06, 0.11, 0.09ortalamalar (tek CPU sisteminde):

  • son dakika boyunca CPU% 6 oranında düşük yüklendi
  • son 5 dakika içinde CPU% 11'e düşük yüklendi
  • son 15 dakika içinde CPU% 9'a düşük yüklendi

.

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

Yukarıdaki 1.73 0.50 7.98tek bir CPU sisteminde yük ortalaması :

  • son dakika boyunca CPU% 73 aşırı yüklendi (1.73 çalıştırılabilir süreçli 1 CPU, böylece 0.73 işlem bir dönüş beklemek zorunda kaldı)
  • son 5 dakika boyunca CPU% 50'nin altına düştü (hiçbir işlem bir tur beklemek zorunda değildi)
  • son 15 dakika içinde CPU% 698'e aşırı yüklendi (7.98 çalıştırılabilir işlemle 1 CPU, böylece 6.98 işlem bir dönüş beklemek zorunda kaldı)

Nagios eşik değeri hesaplaması:

Uyarı ve kritik önem taşıyan Nagios CPU Load kurulumu için:

y = c * p / 100

Nerede: y = nagios value c = number of cores p = wanted load procent

4 çekirdekli bir sistem için:

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

Tek çekirdekli bir sistem için:

y = p / 100

Nerede: 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

Gunther'in CPU Yük analizi hakkında harika bir tanıtım belgesi http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf Bu çevrimiçi makalede Dr. Gunther, yük ortalamalarını ( “LA Triplets”) hesaplanır ve kapasite planlama metrikleri olarak ne kadar uygun oldukları hesaplanır.


2
süresi 1,5 ve 15 dk olmalıdır
dalf

3

Söz konusu sunucular, kuyruk derinliğinin yönetilmesi gereken önemli hizmet ölçütü olduğu eşzamansız bir iş yüküne sahip olmadıkça, dürüstçe yük ortalamasını izlemeye bile değmez. Bu sadece hizmet süresi (hizmet süresi ve hizmet süresi) gibi önemli metriklerden bir oyalama.


2

Nagios da iyi bir tamamlayıcı Munin veya Kaktüsler gibi bir araçtır, sunucunuzun deneyimlediği farklı iş yükünü grafik olarak gösterirler. Load_average, cpu kullanımı, disk io ya da başka bir şey olsun.

Bu bilgileri kullanarak Nagios'ta iyi eşik değerleri ayarlamak daha kolaydır.


1

Sisteminizin performansının hangi yük ortalamasından etkilendiğini biliyor musunuz? Biz son işimde sürekli 35-40 yük ortalaması oturacak ama hala duyarlı sunucuları vardı. Doğru sayılar elde etmek için biraz dedektiflik yapmak zorunda olduğunuz bir ölçümdür.

Bunun yerine, SSH veya http için ortalama bağlantı süresi gibi sistemdeki diğer bazı metrikleri ölçmek isteyebilirsiniz; bu, sisteminizin ne kadar yük altında kaldığının daha iyi bir göstergesi olabilir.


2
Örneğin, 35 yük ortalama değeri ne demektir? İşlemci çekirdeği sayısı sayı üzerinde bir fark yaratıyor mu?
Sandra

1

Invent Sekar'ın cevabını genişletmek için: check_load ve yüzdeleri kullanırken diğerleriyle birlikte "-r" Komut Satırı Argümanı'na ihtiyacınız olacağını düşünüyorum.

Örneğin:

command[check_load]=/usr/local/nagios/libexec/check_load -r -w 0.7,0.6,0.5 -c 0.9,0.8,0.7
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.