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
나는 NO standard또는 tested가치 가 있다고 생각 합니다. 예상되는 서버 작업량에 따라 다릅니다. 높은로드를 예상하면 값을 늘려야합니다. 그렇지 않으면 서버는 항상 위험 상태로 나타납니다.
Khaled

네, 저의 문제입니다. 지속적으로 중요한 알림을받습니다. 모든 것을 3으로 곱해야합니까?
Sandra

답변:


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 임계 값이 초보자에게는 큰 골치 거리라는 것을 알았으므로 지금 답장하십시오 ..;)

CPU가 5 분 동안 70 %, 10 분 동안 60 %, 15 분 동안 50 % 인 경우 경고 경고. CPU가 5 분 동안 90 %, 10 분 동안 80 %, 15 분 동안 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로드에 대한 나의 모든 발견 :

"로드"의 의미 : Wikipedia의 말 :

모든 유닉스 및 유닉스 계열 시스템은 커널에서 3 개의 "부하 평균"숫자 메트릭을 생성합니다. uptime 명령을 실행하여 Unix 쉘에서 현재 결과를 쉽게 쿼리 할 수 ​​있습니다.

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

위의 출력로드 평균에서 : 평균 0.06, 0.11, 0.09(단일 CPU 시스템에서) :

  • 마지막 1 분 동안 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단일 CPU 시스템에서 위의로드 평균은 다음과 같습니다.

  • 마지막 1 분 동안 CPU가 73 % 오버로드되었습니다 (실행 가능한 1.73 개의 프로세스가있는 1 개의 CPU이므로 0.73 개의 프로세스가 차례를 기다려야했습니다)
  • 지난 5 분 동안 CPU에 50 %의로드가 발생했습니다 (프로세스를 기다릴 필요가 없었습니다)
  • 지난 15 분 동안 CPU에 698 %의 오버로드가 발생했습니다 (7 개의 실행 가능한 프로세스가있는 1 개의 CPU가 있으므로 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

박사 군터에 의해 CPU 부하 분석에 대한 좋은 백서 http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf 박사 군터는 UNIX 커널에 아래로 파고이 온라인 기사에서합니다 (방법로드 평균을 찾을 수 "LA Triplets")가 계산되고 용량 계획 메트릭으로 얼마나 적합한 지 계산됩니다.


2
시간은 1,5, 15 분이어야합니다
dalf

3

문제의 서버에 비동기식 워크로드가없는 경우 대기열 깊이가 관리해야하는 중요한 서비스 지표 인 경우 정직하게로드 평균을 모니터링 할 가치가 없습니다. 서비스 시간 (서비스 시간 및 서비스 시간)과 같은 중요한 메트릭에서 산만합니다.


2

Nagios는 Munin 또는 Cacti와 같은 도구이며 서버에서 발생하는 다양한 종류의 작업 부하를 그래프로 표시합니다. load_average, CPU 사용량, 디스크 IO 또는 다른 것이어야합니다.

이 정보를 사용하면 Nagios에서 좋은 임계 값을 설정하는 것이 더 쉽습니다.


1

시스템 성능이 어떤 부하 평균에 영향을 미치는지 알고 있습니까? 우리는 마지막 작업에서 35-40의로드 평균에 일관되게 서버를 배치했지만 여전히 응답했습니다. 정확한 숫자를 얻으려면 약간의 탐정 작업을 수행 해야하는 측정입니다.

대신 SSH 또는 http의 평균 연결 시간과 같은 시스템의 다른 메트릭을 측정 할 수 있습니다. 이것은 시스템의 부하량을 나타내는 더 나은 지표 일 수 있습니다.


2
예를 들어 35의 하중 평균은 실제로 무엇을 의미합니까? CPU 코어 수에 차이가 있습니까?
Sandra

1

Invent 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.