Using Discovery Rules on ZABBIX

자빅스의 디스커버리 룰 활용 가이드

Discovery Rules 기능이 필요한 여러가지 상황이 있지만 가장 간단하게 한 가지 예들 들어 보겠습니다.

아마존 웹 서비스(AWS) 를 사용하고 있습니다. 이 때, 오토스케일링 기능을 사용하면 수 많은 인스턴스들이 추가 되었다가 삭제되기도 합니다. 자빅스를 이용하여 모니터링 하고 싶지만 자빅스에 등록하고 삭제 하는 과정을 수작업으로 하기에는 무리가 있습니다.

이 상황에서 자빅스에 자동으로 인스턴스를 추가 하고 삭제할 수 있다면 얼마나 편할까요? 자빅스에서는 이런 상황을 해결해 주는 기능으로 Autoregistration(이하 오토 레지스트레이션) 과 Discovery Rules(이하 디스커버리 룰) 두 종류가 있습니다.

오토 레지스트레이션은 Active 모드일 때만 사용 가능하며, Passive 모드에서는 디스커버리 룰을 사용해야 합니다.

디스커버리 룰 생성

Configuration -> Discovery -> Create discovery rule
Name 은 디스커버리 룰의 이름입니다. 원하시는 이름을 적고 인스턴스를 추가할 IP RangeUpdate interval 등을 설정 해 줍니다.

discovery_rules_create_01

각 항목에 대한 설명은 1 Configuring a network discovery rule [Zabbix Documentation 4.0] 페이지에서 자세하게 보실 수 있으며 간단하게 아래 표에서 정리하였습니다.

Checks -> New
Checks 에서 Check type, Port range, Key 를 선택하고 Add 를 해줍니다. Check type 은 Zabbix agent 를 선택하고 Port range 는 자빅스 기본값인 10050, Key 는 system.uname 으로 설정하였습니다.

discovery_rules_create_02

위 작업이 완료 되면 Device uniqueness criteria(고유성 기준 설정)에  Zabbix agent “system.uname” 이 추가됩니다. 만약 추가되지 않았다면 디스커버리 룰을 Add 해 준 뒤 다시 편집화면에 들어오면 나타납니다. 예제에서는 기본값인 IP address 를 이용할 것이기 때문에 큰 의미는 없습니다.

discovery_rules_create_03

추가 완료 후의 리스트 화면입니다.

discovery_rules_list_01

디스커버리 룰 등록이 완료되면 Update interval 설정에 따라 디스커버리 정보가 업데이트 됩니다. 최초 디스커버리 룰 실행은 자빅스 서버의 설정에 따라 달라질 수 있습니다.

등록한 디스커버리 룰은 Monitoring -> Discovery 메뉴에서 확인 가능합니다.

디스커버리 액션 생성

디스커버리 룰이 등록되었다고 해서 인스턴스가 자빅스에 자동으로 등록이 되지는 않습니다. 이제 Action 기능을 디스커버리 룰과 연동하여 자동으로 인스턴스를 추가해주는 작업을 해 보도록 하겠습니다.

Configuration -> Actions -> Event source -> Discovery -> Create action
Event source 는 Actions 메뉴를 클릭 후 우측 상단에 보시면 있습니다.

discovery-action_create_01

이름 및 컨디션을 추가해 줍니다. 컨디션에 대한 설명은 아래와 같습니다.

Label B. 검색된 호스트의 업타임/다운타임이 3600초 (1시간) 이상이고, (Uptime/Downtime is greater than or equals 3600)
Label C. 검색된 호스트의 상태가 디스커버리 룰에서 Up 상태이며, (Discovery status equals Up)
Label D. 검색된 호스트는 Zabbix agent 설치가 되어 있으며, (Service type equals Zabbix agent)
Label E. 디스커버리 룰 네임이 Local network 일때. (Discovery rule equals Local Network)
위 4개의 모든 조건이 맞을 때 액션을 동작 시킨다. (Type of calculation : And B and C and D and E)

discovery-action_create_02

각 항목에 대한 설명을 간단하게 표로 만들어 봤습니다.

액션에 대한 조건 설정이 완료되었습니다. 이제 실제 실행할 액션을 지정합니다. 예제에서는 Templates/Operating systems 그룹에 호스트를 추가하고 Template OS Linux 템플릿을 추가 하도록 설정 하였습니다.

discovery-action_create_03

각 항목에 대한 설명을 간단하게 표로 만들어 봤습니다.

추가가 완료되면 아래 그림과 같이 리스트에서 간략하게 정보들을 확인할 수 있습니다.

discovery_action_list_01

위 방법을 활용하면 아래 이미지와 같이 특정 조건일 경우 호스트를 삭제하고 설정된 메세지로 알람을 보낼 수 있는 액션을 추가할 수도 있습니다.

discovery_action_list_02

You may also like...

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x