잡동사니

[Zabbix] 디스크 모니터링 환경 설정하기 본문

IT/Monitoring

[Zabbix] 디스크 모니터링 환경 설정하기

yeTi 2018. 7. 18. 12:04

안녕하세요. yeTi입니다.

오늘은 Zabbix(자빅스)에서 디스크 모니터링환경을 설정해보려고 합니다.


설치 환경

    • OS : CentOS release 6.9 (Final)
    • 설치 버전 : Zabbix 2.2


1. Zabbix 템플릿을 다운받습니다. 

- URL : https://github.com/dkanbier/zabbix-linux/blob/master/templates/zbx_linux_disk_io_template.xml


2. Zabbix 관리자 페이지에서 템플릿을 임포트합니다.


3. Zabbix agent에 스크립트를 등록합니다.

- URL : https://github.com/dkanbier/zabbix-linux/blob/master/LLD/queryDisks.pl

- /opt/zabbix/queryDisks.pl


4. Zabbix agent에 Userparameter를 등록합니다.

- vi /etc/zabbix/zabbix_agentd.d/userparameter_disk.conf

UserParameter=custom.vfs.dev.discovery,/opt/zabbix/queryDisks.pl

# reads completed successfully

UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$4}'

# sectors read

UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$6}'

# time spent reading (ms)

UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$7}'

# writes completed

UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$8}'

# sectors written

UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$10}'

# time spent writing (ms)

UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$11}'

# I/Os currently in progress

UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$12}'

# time spent doing I/Os (ms)

UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$13}'


5. Zabbix 관리자 페이지에서 Administrator -> General -> Regular expressions에 모니터링할 디스크 패턴을 추가합니다.

- EX) ^(xvda.*|dm-.*)$ [Result is TRUE]


6. Zabbix 관리자 페이지에서 추가한 Template의 Discovery rules에 Graph prototype을 추가합니다.




참고문헌


Comments