라즈베리 파이와 Nagios로 실내 온도 효율 모니터링
지난 몇 달 개발·프로덕션 시스템 모니터링 솔루션 구현·확장 중. 가장 사랑받고 미움받는 모니터링 솔루션 Nagios라 작동 원리 학습 의무감 느낌. 사용자 권한, 방화벽 규칙, 깨진 의존성 등 던질 수 있는 모든 문제와 싸운 뒤 드디어 작동하는 Nagios 시스템 확보. 부트스트랩 좋아하고 설정 고통 덜어내고 싶어 Adagios 설치해 Nagios 위에 얹음. Nagios 다루기 훨씬 즐겁고 외관도 훨씬 나아 강력 추천.
이제 재미있는 부분: 트렌드 따라 라즈베리 파이 어디서든 활용. 작고 전력 적게 쓰며 센서 연결 충분한 입력 보유. 최근 r/sysadmin 스크롤 중 '지난달 청소 아주머니가 내 사랑하는 서버들 다쳤다' 포스트 발견. 생각났다… 디스크 공간, 메모리 사용량, CPU 부하 모니터링 중인데 서버실 온도도 모니터링 시작해야 하지 않을까.
필요 도구
배선
브레드보드·점퍼 케이블로 셋업 테스트 후 납땜 진행. 옵션 아니면 4.7k옴 저항 3.3V(빨강선)와 데이터 라인(노랑선) 사이 납땜.
아래 아다프루트 튜토리얼서 가져온 배선도.
NRPE 설정
Nagios가 온도 모니터링하려면 라즈베리 파이 NRPE 에이전트 필요. NRPE 설치 퀵 가이드.
- 다음 사이트서 NRPE-2.x 다운로드·압축해제:
https://sourceforge.net/projects/nagios/files/nrpe-2.x/
- 내용 압축해제:
tar -zxvf nrpe-2.15.tar.gz
- 압축해제 디렉토리 이동:
cd nrpe-2.15/
- NRPE가 ARM SSL 라이브러리 찾도록 심볼릭 링크 생성:
sudo rm /usr/lib/libssl.so
sudo ln -s /usr/lib/arm-linux-gnueabihf/libssl.so /usr/lib/libssl.so
- 구성 프로세스 실행, 의존성 누락 시 알림(해결):
./configure
- 설치 전 nagios 유저·그룹 생성. 설치 과정 필요. 루트로 빌드·설치:
sudo useradd nagios
sudo make all
sudo make install
sudo make install-plugin
sudo make install-daemon
- 샘플 설정 파일 NRPE 설치 디렉토리 복사:
sudo mkdir /usr/local/nagios/etc
sudo cp sample-config/nrpe.cfg /usr/local/nagios/etc/nrpe.cfg
sudo chown -R nagios:nagios /usr/local/nagios/etc/
- 데비안 init.d 스크립트 복사·실행 권한 부여:
sudo cp init-script.debian /etc/init.d/nrpe
sudo chmod 700 /etc/init.d/nrpe
- nrpe.cfg 편집해 allowed_hosts에 Nagios 서버 추가. check_temp 커맨드 추가
- sudo vim /usr/local/nagios/etc/nrpe.cfg
> allowed_hosts=127.0.0.1,YOUR_NAGIOS_SERVER_IP_HERE
> command[check_temp]=/usr/local/nagios/libexec/check_temp.sh -w 30 -c 40
- 포트 5666 접근 허용 nrpe 5666/tcp #nrpe
- NRPE 서비스 시작:
sudo service nrpe start
- 실행 확인:
ps aux | grep nrpe
위 명령 출력 예:
[email protected]:/tmp/nrpe-2.15# ps aux | grep nrpe nagios 8869 0.0 0.2 4084 980 ? Ss 21:43 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
- 재부팅 시 NRPE 자동 시작:
sudo update-rc.d nrpe defaults
라즈베리 파이 NRPE 에이전트 설치 완료. 이제 check_temp 스크립트 설치 차례.
코드
다음 스크립트 check_temp.sh로 저장 /usr/local/nagios/libexec/ 안
실행 권한 부여: chmod +x /usr/local/nagios/libexec/check_temp.sh
자세히: 라즈베리 파이와 Nagios로 실내 온도 모니터링