서버 모니터링 · 3 min read · Oct 18, 2025
Opsview로 리눅스 및 유닉스 서버 온도 모니터링하기
Opsview로 리눅스 및 유닉스 서버 온도 모니터링하기
데이터 센터에서 전력 소비를 관리하는 것은 전체 비즈니스 에너지 비용을 낮추고 서버가 최적의 성능으로 실행되도록 하는 데 중요한 요소입니다. 과열은 냉각 비용 증가로 이어질 수 있으며 서버가 중단될 위험도 있습니다.
Opsview 서버 모니터링 소프트웨어는 서버 온도와 서버 내 개별 구성 요소(메모리, CPU 및 하드 드라이브)의 온도를 확인하고 경고하는 데 사용할 수 있습니다. 임계값과 경고는 중요한 온도를 초과할 때 설정할 수 있어, 과열되는 서버를 제어하는 데 도움이 됩니다.
이 블로그 게시물에서는 Opsview를 구성하여 리눅스 및 유닉스 서버의 온도를 모니터링하는 방법을 자세히 설명합니다.
단계:
[ 참고: 이 가이드는 모니터링하려는 시스템에 이미 Opsview 에이전트가 설치되어 있다고 가정합니다]
1. root로서 “lm_sensors”와 “hddtemp”를 설치해야 합니다(이름은 리눅스 배포판에 따라 다를 수 있습니다); CentOS/RHEL에서는 “yum install lm_sensors hddtemp”를 통해 설치할 수 있습니다.
2. 이 항목들이 설치되면, root로 “sensors-detect”를 실행하여 모니터링할 온도를 감지해야 합니다. 완료되면 이를 저장해야 하며(ENTER 키를 누르기만 하면 됩니다) sensors-detect가 완료됩니다.
3. 이제 lm_sensors와 hddtemp가 설치되었으므로, 아래와 같이 로컬에서 테스트할 수 있습니다:
HDD 온도:
[root@rhelserver ~]# hddtemp /dev/sda/dev/sda: ST3120811AS: 31°Clm_sensors:
[root@rhelserver ~]# sensorscoretemp-isa-0000Adapter: ISA adapterCore 0: +38.0°C (high = +84.0°C, crit = +100.0°C)Core 1: +39.0°C (high = +84.0°C, crit = +100.0°C)Core 2: +37.0°C (high = +84.0°C, crit = +100.0°C)Core 3: +38.0°C (high = +84.0°C, crit = +100.0°C)
i5k_amb-isa-0000Adapter: ISA adapterCh. 0 DIMM 0: +67.0°C (low = +110.5°C, high = +124.0°C)Ch. 1 DIMM 0: +62.0°C (low = +110.5°C, high = +124.0°C)
위의 출력에 따르면, 우리의 센서와 온도 판독값이 감지되고 원하는 대로 작동하고 있음을 알 수 있습니다. 이제 이 출력을 “센서별”로 가져오기 위해 플러그인을 추가하여 서버 온도를 모니터링하는 서비스 체크에 추가해야 합니다.
4. 여기에서 “check_lm_sensors” 플러그인을 다운로드하고 /usr/local/nagios/libexec에 복사합니다. 완료되면 다음을 통해 압축을 풉니다:
tar -zxvf check_lm_sensors-3.1.1.tar.gz5. root로서 새 플러그인을 테스트할 수 있습니다:
/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –list이 명령은 다시 센서와 그 온도를 나열해야 합니다. 만약 작동하지 않거나 Perl 오류가 발생하면, nano/vim을 사용하여 check_lm_sensors 파일을 편집하고 스크립트 상단에 다음을 추가합니다:
use lib "/usr/local/nagios/perl/lib/";6. “nagios” 사용자로 이 명령을 실행할 수 있도록 하려면(필요한 check_nrpe 서비스 체크를 위해), 다음을 수행해야 합니다:
chmod +x /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensorschown –R nagios:nagios /usr/local/nagios/libexec/check_lm_sensors-3.1.1/7. /etc/sudoers 파일에 줄을 추가해야 합니다. root 사용자로서 /etc/sudoers의 맨 아래에 다음 줄을 추가합니다:
nagios ALL=(root) NOPASSWD:/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors이것은 nagios 사용자가 비밀번호 인증 없이 root로 check_lm_sensors를 실행할 수 있도록 허용합니다.
8. 이제 에이전트에 체크 명령을 추가해야 합니다. 서버에서 로컬로 실행하고 출력을 Opsview 서버에 check_nrpe 명령을 통해 전달할 것입니다(NRPE는 Nagios Remote Plugin Executor의 약자입니다). 이를 위해, 우리의 명령이 무엇인지, 그리고 이를 어떻게 참조할 것인지 개요를 작성해야 합니다. 이를 위해 /usr/local/nagios/etc/nrpe_local/override.cfg에 있는 “overrides.cfg” 파일을 편집해야 합니다.
9. vim이나 nano와 같은 텍스트 편집기를 사용하여 이 파일을 편집해야 합니다, 예:
nano /usr/local/nagios/etc/nrpe_local/override.cfg그리고 아래와 유사한 줄을 추가합니다:
check_command[core0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core0=45,55
check_command[core1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core1=45,55
check_command[core2_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core2=45,55
check_command[core3_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core3=45,55
check_command[dimm0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.0DIMM0=60,75
check_command[dimm1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.1DIMM0=60,75
check_command[sda_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high sdaTemp=60,75이렇게 하면 “core0_temp”와 같은 7개의 새로운 명령이 생성되며, 이는 “=”의 오른쪽에 지정된 전체 경로를 실행합니다.
10. 다음으로, Opsview 에이전트를 다시 로드해야 합니다. 예를 들어:
service opsview-agent restart11. 이제 nagios 사용자로서 이러한 새 명령을 테스트할 수 있습니다. /usr/local/nagios/libexec로 이동하여 아래와 같은 명령을 실행합니다:
./check_nrpe –H localhost –c dimm0_temp이 명령이 성공적으로 완료되면 다음과 같은 결과가 출력됩니다:
[nagios@rhelserver libexec]$ ./check_nrpe -H localhost -c dimm0_temp
LM_SENSORS WARNING - Ch.0DIMM0=67.0|Ch.0DIMM0=67.0;60;75;;12. 이제 모든 것이 작동하는 것이 확인되었으므로, Opsview에서 서비스 체크를 생성하고 이를 호스트에 추가해야 합니다. 이를 위해 Opsview에 로그인하고 “ 설정 > 서비스 체크 “로 이동한 후 녹색 “플러스” 기호를 클릭합니다. 그러면 새 페이지가 로드되며, 이름, 서비스 그룹 등과 같은 다양한 설정을 입력해야 합니다.
이 예제에서 중요한 섹션은 플러그인과 인수입니다; “플러그인”에서 check_nrpe를 선택해야 하며, 인수에는 “ -H $HOSTADDRESS$ -c dimm0_temp “와 유사한 내용을 입력해야 합니다; 여기서 “dimm0_temp”는 우리가 이전에 실행하고 overrides.cfg 파일에 추가한 명령입니다.

13. “overrides.cfg”에 추가한 모든 줄에 대한 서비스 체크를 생성한 후, “ 설정 > 호스트“로 이동하여 해당 호스트를 클릭(Opsview에 현재 없으면 추가)하고 모니터 탭으로 이동하여 아래와 같이 새 서비스 체크를 선택할 수 있습니다:

14. 추가한 후, 마지막으로 “ 설정 > 변경 사항 적용 “을 통해 Opsview를 다시 로드하여 변경 사항을 적용해야 합니다. 다시 로드한 후, 호스트로 이동하여 아래와 같이 새로운 서버 온도 모니터를 확인할 수 있습니다:
15. 이제 온도를 기반으로 알림 프로필을 생성할 수 있습니다. 예를 들어, “데이터 센터 ‘XYZ’의 모든 서버에 대해 온도가 임계값에 도달하면 알림을 받습니다”와 같은 방식입니다. 이렇게 하면 서버 온도가 임계값에 도달할 때 즉시 알림을 받고(SMS/이메일/iOS 푸시 알림을 통해) 즉시 조사할 수 있습니다.

새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.