반응형

설명


Cacti로 DNS 또는 도메인을 모니터링하는 방법을 설명합니다. DNS에서 서비스 중인 특정 도메인을 모니터링하여 DNS 자체의 이상 유무를 판단할 수도 있습니다. 모니터링은 「dig」 명령어로 지정된 DNS에 지정된 도메인 해석을 요청하여 진행합니다.




테스트 환경


Cacti가 필요하므로 운용중인 또는 테스트용 Cacti가 없는 경우 설치해 주세요. 테스트 환경은 EPEL에서 배포한 최신 Cacti 패키지를 설치하여 테스트하였습니다.


VM: CentOS 8 (VirtualBox)

VM IP: 192.168.56.128


Cacti version: 1.2.12

Cacti path: /usr/share/cacti

※Cacti는 EPEL 패키지로 설치하였습니다.


Monitoring target domain: www.daum.net

DNS Server: 8.8.8.8 (Google)




스트립트 및 템플릿 다운로드


「https://docs.cacti.net/userscript:dnsresponsetimeping」에서 스트립트(dnsresponsetimeping-latest.tar.gz)를 다운로드 합니다.





패키지 설치


도메인을 모니터링하기 위해서 dig 명령어를 사용하므로 아래와 같이 관련 패키지를 추가로 설치합니다.


[root@cacti ~]# yum -y install bind-utils


[root@cacti ~]# yum -y install perl-Getopt-Long perl-Net-DNS perl-Time-HiRes




스크립트 복사


다운로드한 파일(dnsresponsetimeping-latest.tar.gz)의 압축을 풀면, 아래와 같이 Perl로 작성된 스크립트 파일과 XML로 작성된 템플릿 파일을 볼 수 있습니다.


스크립트: dnsResponseTimePing.pl

템플릿: cacti_graph_template_dns_resolution.xml


우선, 스크립트 파일을 「/usr/share/cacti/scripts」에 저장하고, 스크립트 파일의 Ownership을 다른 스크립트 파일과 동일하게 apache.apache로 변경합니다. (Default permission: 644)


[root@cacti ~]# chown apache.apache /usr/share/cacti/scripts/dnsResponseTimePing.pl


[root@cacti ~]# ls -al /usr/share/cacti/scripts/dnsResponseTimePing.pl

-rw-r--r-- 1 apache apache 7982 Dec  8  2009 /usr/share/cacti/scripts/dnsResponseTimePing.pl


복사한 스크립트 파일로 아래와 같이 바로 테스트해 봅니다. 


[root@cacti ~]# cd /usr/share/cacti/scripts


[root@cacti ~]# perl dnsResponseTimePing.pl -h www.daum.net -s 8.8.8.8 -r -v -d -t 5

6

※실행결과 「6」이라는 숫자는 「6 ms」를 의미합니다.




템플릿 등록


다음으로 Cacti에서 템플릿 파일을 등록합니다. 템플릿 파일은 「Console」 > 「Import/Export」 > 「Import Templates」에서 등록할 수 있으며, 검증된 템플릿이므로 「Preview Import Only」를 끄고 등록합니다. 






Data Template 등록


다음은 위에서 등록한 템플릿의 「Data Source」에서 모니터링할 도메인 전용의 「Data Source」를 복제하여 생성합니다. 방법은 「Console」 > 「Templates」 > 「Data Source」 순으로 클릭 후, 「DNS Resolution」이라는 데이터 템플릿을 선택 복제합니다.



새로운 데이터 템플릿의 이름은 「- www.daum.net」을 붙여서 생성합니다.



생성된 데이터 템플릿을 확인 후, 내용을 편집합니다.



편집할 내용은 모니터링할 대상 도메인을 「Host to Resolve」에 설정하고, DNS 서버 정보는 「Hostname of DNS Server」에 설정합니다. (실제 환경은 사내 DNS 서버에 맞춰서 사용해 주세요)





Device 등록


새로운 디바이스는 「Consol」 > 「Management」 > 「Devices」에서 「+」 기호를 클릭해서 등록합니다.



디바이스를 생성할 때, 테스트 환경에서 도메인 모니터링 외에 불필요한 부분인 「Device Template」과 「SNMP」, 「Availability 」 등을 비활성화 하겠습니다. 설정이 끝났다면 「Create」 버튼을 클릭해서 생성을 완료합니다.



「Graph Template Name」 > 「Add Graph Template」에서 「DNS Resolution」을 선택하고 「Add」 버튼을 클릭해서 그래픽 템플릿을 추가한 후, 「Save」 버튼을 클릭하여 디바이스 등록을 완료합니다.






Data Template 변경


다음으로 데이터 소스에 설정되어 있는 데이터 템플릿을, 앞서 「www.daum.net」 도메인의 모니터링 목적으로 생성한 데이터 템플릿으로 변경합니다.


「Console」 > 「Management」 > 「Data Sources」에서 「DNS Checker - DNS Resolution을 클릭합니다. 



「DNS Checker - DNS Resolution」에서 「Selected Data Template」를 「DNS Resolution - www.daum.net」으로 변경해서 저장합니다.






Tree 및 Graphs 설정


마지막으로 이제까지 설정한 모니터링 결과를 보기 위해서 설정하는 부분입니다. 「Tree」에서 「Default Tree」를 클릭하서 편집화면으로 이동합니다.



「Edit Tree」 버튼을 클릭한후, 「DNS Checker (www.daum.net)」 항목을 왼쪽 「Tree Items」로 Drag & Drop 합니다.



Drag & Drop 후, 「Finish Editing Tree」를 클릭해서 설정을 마무리합니다.






모니터링 그래프


모든 작업이 정상적으로 끝났다면, 「Graphs」에서 모니터링 결과를 볼 수 있습니다.



읽어 주셔서 감사합니다.

반응형

+ Recent posts