1 네트워크 디스커버리 규칙 구성

개요

Zabbix에서 호스트와 서비스를 디스커버리하는 데 사용되는 네트워크 디스커버리 규칙을 구성하려면:

  • 데이터 수집 → 디스커버리로 이동
  • 디스커버리 규칙 생성을 클릭합니다 (또는 기존 규칙을 편집하려면 규칙 이름을 클릭)
  • 디스커버리 규칙 속성을 편집합니다

규칙 속성

모든 필수 입력 필드는 빨간색 별표로 표시됩니다.

매개변수 설명
이름 규칙의 고유한 이름입니다. 예를 들어 "로컬 네트워크".
디스커버리 수행자 다음에 의해 디스커버리가 수행됩니다:
서버 - Zabbix 서버에 의해
프록시 - Zabbix 프록시에 의해 (프록시 이름 필드에서 선택)
IP 범위 디스커버리를 위한 IP 주소 범위입니다. 다음 형식을 가질 수 있습니다:
단일 IP: 192.168.1.33
IP 주소 범위: 192.168.1-10.1-255. 범위는 총 커버되는 주소 수(64K 미만)로 제한됩니다.
IP 마스크: 192.168.4.0/24
지원되는 IP 마스크:
IPv4 주소의 경우 /16 - /30
IPv6 주소의 경우 /112 - /128
목록: 192.168.1.1-255, 192.168.2.1-100, 192.168.2.200, 192.168.4.0/24
이 필드는 공백, 탭, 여러 줄을 지원합니다.
업데이트 간격 이 매개변수는 Zabbix가 규칙을 얼마나 자주 실행할지 정의합니다.
간격은 이전 디스커버리 인스턴스 실행이 끝난 후부터 측정되므로 중복이 발생하지 않습니다.
시간 접미사가 지원됩니다. 예: 30s, 1m, 2h, 1d.
사용자 매크로가 지원됩니다.
참고 사용자 매크로가 사용되고 그 값이 변경되면 (예: 1w → 1h), 다음 확인은 이전 값에 따라 실행됩니다 (예시 값의 경우 먼 미래).
유형당 최대 동시 확인 수 디스커버리 확인의 병렬 처리를 위한 서비스 확인당 최대 디스커버리 스레드(워커) 수를 설정합니다:
하나 - 하나의 스레드
무제한 - 무제한 스레드 수 (단, StartDiscoverers 매개변수보다 많지 않음)
사용자 정의 - 사용자 정의 스레드 수 설정 (0-999)
libsnmp 구현의 특성으로 인해 SNMPv3 비동기 서비스 확인이 있는 모든 디스커버리 규칙은 하나의 워커에 의해 처리되므로, 즉 워커 수를 늘려도 디스커버리 속도가 증가하지 않습니다.
확인 Zabbix는 디스커버리를 위해 이 확인 목록을 사용합니다. 을 클릭하여 팝업 창에서 새 확인을 구성합니다.
지원되는 확인: SSH, LDAP, SMTP, FTP, HTTP, HTTPS, POP, NNTP, IMAP, TCP, Telnet, Zabbix agent, SNMPv1 agent, SNMPv2 agent, SNMPv3 agent, ICMP ping.
프로토콜 기반 디스커버리는 SNMP를 제외한 각 호스트를 테스트하기 위해 net.tcp.service[] 기능을 사용합니다. SNMP는 SNMP OID를 쿼리합니다. Zabbix agent는 암호화되지 않은 모드에서 아이템을 쿼리하여 테스트됩니다. 자세한 내용은 에이전트 아이템을 참조하세요.
'포트' 매개변수는 다음 중 하나일 수 있습니다:
단일 포트: 22
포트 범위: 22-45
목록: 22-45,55,60-70
Zabbix 7.0부터 LDAP 확인을 제외한 모든 서비스 확인이 비동기적으로 수행됩니다.
Zabbix 7.0부터 HTTP/HTTPS 확인은 libcurl을 통해 수행됩니다. Zabbix 서버/프록시가 libcurl 없이 컴파일된 경우, HTTP 확인은 이전 버전처럼 작동하지만 (즉, TCP 확인처럼) HTTPS 확인은 작동하지 않습니다.
장치 고유성 기준 고유성 기준은 다음과 같을 수 있습니다:
IP 주소 - 여러 단일 IP 장치를 처리하지 않습니다. 동일한 IP를 가진 장치가 이미 존재하면 이미 디스커버리된 것으로 간주되어 새 호스트가 추가되지 않습니다.
<디스커버리 확인> - Zabbix agent 또는 SNMP agent 확인 중 하나.
디스커버리 중에 사용되는 고유성 기준은 작업을 수행할 때 시스템에서의 호스트 식별과 동일하지 않습니다. 디스커버리 중의 고유성 기준은 둘 이상의 디스커버리된 장치가 동일한지(또는 다른지) 정의하는 반면, IP 주소만이 Zabbix에서 호스트 식별의 기준입니다 (호스트 생성 참조).
호스트 이름 다음을 사용하여 생성된 호스트의 기술적 호스트 이름을 설정합니다:
DNS 이름 - DNS 이름 (기본값)
IP 주소 - IP 주소
<디스커버리 확인> - 디스커버리 확인의 수신된 문자열 값 (예: Zabbix agent, SNMP agent 확인)
참조: 호스트 명명.
표시 이름 다음을 사용하여 생성된 호스트의 표시 호스트 이름을 설정합니다:
호스트 이름 - 기술적 호스트 이름 (기본값)
DNS 이름 - DNS 이름
IP 주소 - IP 주소
<디스커버리 확인> - 디스커버리 확인의 수신된 문자열 값 (예: Zabbix agent, SNMP agent 확인)
참조: 호스트 명명.
활성화됨 체크박스가 표시되면 규칙이 활성화되어 Zabbix 서버에 의해 실행됩니다.
표시되지 않으면 규칙이 활성화되지 않습니다. 실행되지 않습니다.
파일 디스크립터 제한 초과

대량의 동시 확인의 경우 디스커버리 관리자에 대한 파일 디스크립터 제한을 초과할 수 있습니다.

감지에 필요한 파일 디스크립터 수는 디스커버리 워커 수 * 1000과 같습니다. 기본적으로 5개의 디스커버리 워커가 있으며, 시스템의 소프트 제한은 약 1024입니다.

이 제한에 접근하면 Zabbix는 각 워커에 대한 유형당 기본 동시 확인 수를 줄이고 로그 파일에 경고를 작성합니다. 그러나 사용자가 Zabbix에서 계산한 값보다 높은 유형당 최대 동시 확인 수 값을 설정한 경우, Zabbix는 하나의 워커에 대해 사용자 정의 값을 사용합니다.

실제 시나리오

이 예제에서는 192.168.1.1-192.168.1.254의 IP 범위를 가진 로컬 네트워크에 대한 네트워크 디스커버리를 설정하려고 합니다.

우리의 시나리오에서 원하는 것:

  • Zabbix agent가 실행 중인 호스트를 디스커버리
  • 10분마다 디스커버리 실행
  • 호스트 가동 시간이 1시간 이상인 경우 모니터링에 호스트 추가
  • 호스트 다운타임이 24시간 이상인 경우 호스트 제거
  • Linux 호스트를 "Linux servers" 그룹에 추가
  • Windows 호스트를 "Windows servers" 그룹에 추가
  • Linux 호스트에 Linux 템플릿 사용
  • Windows 호스트에 Windows 템플릿 사용
1단계

우리 IP 범위에 대한 네트워크 디스커버리 규칙을 정의합니다.

Zabbix는 Zabbix agent에 연결하고 system.uname 키에서 값을 가져와서 192.168.1.1-192.168.1.254의 IP 범위에서 호스트를 디스커버리하려고 시도합니다. 에이전트에서 받은 값은 호스트 이름 지정에 사용될 수 있으며 다양한 운영 체제에 대해 다른 작업을 적용하는 데도 사용될 수 있습니다. 예를 들어 Windows 서버를 Windows 템플릿에, Linux 서버를 Linux 템플릿에 연결합니다.

이 규칙은 10분마다 실행됩니다.

이 규칙이 추가되면 Zabbix는 자동으로 디스커버리와 추가 처리를 위한 디스커버리 기반 이벤트 생성을 시작합니다.

2단계

디스커버리된 Linux 서버를 해당 그룹/템플릿에 추가하기 위한 디스커버리 액션을 정의합니다.

다음의 경우 액션이 활성화됩니다:

  • "Zabbix agent" 서비스가 "up" 상태
  • system.uname의 값(규칙 정의에서 사용한 Zabbix agent 키)에 "Linux"가 포함
  • 가동 시간이 1시간(3600초) 이상

액션은 다음 작업을 실행합니다:

  • 디스커버리된 호스트를 "Linux servers" 그룹에 추가 (이전에 추가되지 않았다면 호스트도 추가)
  • 호스트를 Linux 템플릿에 연결. Zabbix는 "Linux" 템플릿의 아이템과 트리거를 사용하여 자동으로 호스트 모니터링을 시작합니다.
3단계

디스커버리된 Windows 서버를 해당 그룹/템플릿에 추가하기 위한 디스커버리 액션을 정의합니다.

4단계

손실된 서버를 제거하기 위한 디스커버리 액션을 정의합니다.

"Zabbix agent" 서비스가 24시간(86400초) 이상 'down' 상태인 경우 서버가 제거됩니다.