Zabbix 이용 CPU/Hard 온도 모니터링을 구상하게 된 것은 Mini PC 의 CPU 냉각팬 오래되어서 인지 내부 온도가 올라가면 HDD 인식이 안되면서 오류가 발생하는 문제가 가금 발생하는 것을 사전에 모니터링하기 위해서 였습니다.
OS는 Ubuntu 16.04 인데 기본적인 CPU / HDD 센서 수집 정보를 이용하여 모니터링을 구성하였습니다.
AD
- 관련 Package 설치
$ sudo apt-get install lm-sensors $ sudo apt-get install hddtemp
OS Utility /usr/bin/sensor 와 /usr/sbin/hddtemp 를 추가합니다. 각각의 출력 형태는 다음과 같습니다. lm-sensor 는 아래 그림과 같이 CPU 의 온도를 측정하는 도구이고, hddtemp 는 제목 그대로 HDD 의 온도를 측정할 수 있게 해 주는 도구입니다. sensor 의 출력값을 보면, 각 CPU Core 의 현재값과 최대값(70ºC), 임계값(90ºC) 를 나타내고 있습니다.
# sensors coretemp-isa-0000 Adapter: ISA adapter Physical id 0: +53.0°C (high = +72.0°C, crit = +90.0°C) Core 0: +52.0°C (high = +72.0°C, crit = +90.0°C) Core 1: +52.0°C (high = +72.0°C, crit = +90.0°C)
# hddtemp /dev/sda /dev/sda: ST9120822AS: 56°C
- zabbix 사용자 변수 설정
Zabbix user parameter 파일 내용을 다음과 같이 작성합니다. 각각 sensor와 hddtemp 출력값 중에서 필요한 현재 온도만을 추출하도록 합니다.# cat /etc/zabbix/zabbix_agentd.conf.d/userparameter_temp.conf UserParameter=temp.cpu, sudo "/usr/bin/sensors|/usr/bin/grep 'Physical'|/usr/bin/awk '/\d{1,2}/{print substr($4,2,2)}'" UserParameter=temp.hdd, sudo "/usr/sbin/hddtemp /dev/sda|/usr/bin/awk '/\d{1,2}/{print substr($3,1,2)}'"
- zabbix 측정 Item 을 추가.
Zabbix 측정 Item 은 하나의 Host에만 추가해도 되고, 여러 장비에 모두 동일한 Item 으로 추가하고자 한다면 Template 으로 만들어 사용합니다. 여기서는 하나의 Host 에만 추가해 보겠습니다.Configuration > Hosts > Create item 을 선택하고, 다음과 같이 설정합니다.Item Name Value Name CPU Temperature (하드의 경우, HDD Temperature) Type zabbix agent (active) Key temp.cpu ( 하드의 경우, temp.hdd ) - zabbix agent 서비스를 재기동하고 Latested Data 를 통해서 온도 데이타가 제대로 수집되는지 확인합니다.
AD