check_load에 사용할 경고 및 위험 값은 무엇입니까? minutes 10 minutes

현재이 값을 사용하고 있습니다 :

# 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

그러나 이러한 값은 거의 무작위로 선택됩니다.

누구든지 테스트 된 값이 있습니까?



답변

리눅스로드는 실제로 간단하다. 각 평균 부하 평균 수는 모든 코어의 평균 평균 부하의 합입니다. 즉.

 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입니다.


답변

이전 게시물이지만 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”)가 계산되고 용량 계획 메트릭으로 얼마나 적합한 지 계산됩니다.


답변

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


답변

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

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


답변

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

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


답변

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