Nilai Peringatan dan Kritis apa yang digunakan untuk check_load?

13

Saat ini saya menggunakan nilai-nilai ini:

# 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

Tetapi nilai-nilai ini hanya diambil hampir secara acak.

Adakah yang memiliki beberapa nilai yang diuji?

Sandra
sumber
2
Saya pikir TIDAK ada standardatau testednilai. Itu tergantung pada beban kerja server yang Anda harapkan. Jika Anda mengharapkan beban tinggi, Anda harus meningkatkan nilainya. Jika tidak, server Anda akan selalu muncul dalam kondisi kritis.
Khaled
Ya, itu masalah saya. Saya selalu mendapat pemberitahuan penting. Haruskah saya mengalikan semuanya dengan 3?
Sandra

Jawaban:

9

Beban Linux sebenarnya sederhana. Setiap angka rata-rata beban adalah penjumlahan dari semua beban rata-rata inti. Yaitu.

 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

mana 0 < avg load < infinity.

Jadi jika suatu beban adalah 1 pada server 4 inti, maka itu berarti setiap inti digunakan 25% atau satu inti 100% di bawah beban. Beban 4 berarti semua 4 core berada di bawah beban 100%. Muatan> 4 berarti server membutuhkan lebih banyak core.

check_load sekarang punya

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

yang berarti bahwa ketika digunakan, Anda dapat menganggap server Anda hanya memiliki satu inti dan karenanya menulis persentase pecahan secara langsung tanpa memikirkan jumlah inti. Dengan -rperingatan dan interval kritis menjadi 0 <= load avg <= 1. Yaitu. Anda tidak perlu mengubah nilai peringatan dan kritis Anda dari server ke server.

OP memiliki 5,10,15 untuk interval. Itu salah. Ini adalah 1,5,15.

d2xdt2
sumber
27

Meskipun ini adalah posting lama, membalas sekarang karena saya tahu nilai ambang check_load adalah sakit kepala besar untuk pemula ..;)

Peringatan peringatan, jika CPU 70% untuk 5 menit, 60% untuk 10 menit, 50% untuk 15 menit. Peringatan kritis, jika CPU 90% untuk 5 menit, 80% untuk 10 menit, 70% untuk 15 menit.

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

Semua temuan saya tentang beban CPU:

Apa yang dimaksud dengan "beban": Wikipedia mengatakan:

Semua sistem Unix dan Unix-like menghasilkan metrik tiga angka "rata-rata beban" di kernel. Pengguna dapat dengan mudah meminta hasil saat ini dari shell Unix dengan menjalankan perintah uptime:

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

Dari rata-rata beban keluaran di atas: 0.06, 0.11, 0.09means (pada sistem CPU tunggal):

  • selama menit terakhir, CPU kekurangan muatan sebesar 6%
  • selama 5 menit terakhir, CPU kekurangan muatan 11%
  • selama 15 menit terakhir, CPU kekurangan beban 9%

.

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

Rata-rata beban di atas 1.73 0.50 7.98pada sistem CPU tunggal sebagai:

  • selama menit terakhir, CPU kelebihan beban sebesar 73% (1 CPU dengan proses 1,73 runnable, sehingga 0,73 proses harus menunggu giliran)
  • selama 5 menit terakhir, CPU kekurangan 50% (tidak ada proses yang harus menunggu giliran)
  • selama 15 menit terakhir, CPU kelebihan beban 698% (1 CPU dengan proses runnable 7,98, sehingga proses 6,98 harus menunggu giliran)

Perhitungan nilai ambang nagios:

Untuk pengaturan Beban CPU Nagios, yang mencakup peringatan dan kritis:

y = c * p / 100

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

untuk sistem 4 inti:

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

Untuk sistem inti tunggal:

y = p / 100

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

Buku putih yang hebat tentang analisis Beban CPU oleh Dr. Gunther http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf Dalam artikel online ini Dr. Gunther menggali ke dalam kernel UNIX untuk mengetahui bagaimana rata-rata memuat ( "LA Triplets") dihitung dan seberapa tepat mereka sebagai metrik perencanaan kapasitas.

Temukan Sekar
sumber
2
waktu harus 1,5 dan 15 menit
dalf
3

Kecuali jika server yang bersangkutan memiliki beban kerja yang tidak sinkron di mana kedalaman antrian adalah metrik layanan penting untuk dikelola, maka secara jujur ​​tidak ada gunanya untuk memonitor rata-rata beban. Ini hanya selingan dari metrik yang penting seperti waktu layanan (waktu layanan, dan waktu layanan).

cagenut
sumber
2

Pelengkap yang bagus juga Nagios adalah alat seperti Munin atau Cacti, mereka akan membuat grafik berbagai jenis beban kerja yang dialami server Anda. Baik itu load_average, penggunaan cpu, disk io atau yang lainnya.

Dengan menggunakan informasi ini, lebih mudah untuk menetapkan nilai ambang yang baik di Nagios.

nenne
sumber
1

Apakah Anda tahu pada rata-rata beban apa kinerja sistem Anda terpengaruh? Kami memiliki server di pekerjaan terakhir saya yang secara konsisten akan duduk di rata-rata beban 35-40, tetapi masih responsif. Ini adalah pengukuran yang harus Anda lakukan sedikit pekerjaan detektif untuk mendapatkan angka yang akurat.

Anda mungkin ingin mengukur beberapa metrik lain pada sistem, seperti rata-rata waktu koneksi untuk SSH atau http; ini mungkin indikator yang lebih baik tentang seberapa banyak beban sistem Anda.

Peter Grace
sumber
2
Apa yang dimaksud dengan rata-rata beban misalnya 35 sebenarnya? Apakah jumlah core cpu membuat perbedaan pada jumlah?
Sandra
1

Untuk memperluas jawaban Invent Sekar: Saat menggunakan check_load dan persentase, saya yakin Anda akan memerlukan Argumen Baris Perintah "-r" bersama yang lainnya.

Sebagai contoh:

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