문서
원본 보기1 네트워크 발견
개요
Zabbix는 효과적이고 매우 유연한 자동 네트워크 발견 기능을 제공합니다.
네트워크 발견이 적절히 설정되면 다음을 수행할 수 있습니다:
- Zabbix 배포 속도 향상
- 관리 작업 단순화
- 과도한 관리 없이 빠르게 변화하는 환경에서 Zabbix 사용
Zabbix 네트워크 발견은 다음 정보를 기반으로 합니다:
- IP 범위
- 외부 서비스 가용성 (FTP, SSH, WEB, POP3, IMAP, TCP 등)
- Zabbix 에이전트로부터 받은 정보 (암호화되지 않은 모드만 지원)
- SNMP 에이전트로부터 받은 정보
다음은 제공하지 않습니다:
- 네트워크 토폴로지 발견
네트워크 발견은 기본적으로 발견과 액션이라는 두 단계로 구성됩니다.
발견
Zabbix는 네트워크 발견 규칙에서 정의된 IP 범위를 주기적으로 스캔합니다. 확인 빈도는 각 규칙별로 개별적으로 구성 가능합니다.
각 규칙은 IP 범위에 대해 수행할 서비스 확인 세트가 정의되어 있습니다.
발견 규칙은 발견 관리자에 의해 처리됩니다. 발견 관리자는 작업 목록(네트워크 확인)과 함께 각 규칙에 대한 작업을 생성합니다. 네트워크 확인은 사용 가능한 발견 워커에 의해 병렬로 수행됩니다 (수는 각 규칙별로 프론트엔드에서 구성 가능). 일부 장치가 동일한 포트에서 병렬 연결을 허용하지 않기 때문에 동일한 IP와 포트를 가진 확인만 순차적으로 예약됩니다.
네트워크 확인의 큐 크기는 2000000개 또는 약 4GB의 메모리로 제한됩니다.
큐가 가득 차면 발견 규칙이 건너뛰어지고 경고 메시지가 로그에 출력됩니다.
큐에 있는 발견 확인 수를 모니터링하려면 zabbix[discovery_queue] 내부 항목을 사용할 수 있습니다.
발견 확인은 다른 확인과 독립적으로 처리됩니다. 어떤 확인에서 서비스를 찾지 못하거나 실패해도 다른 확인은 계속 처리됩니다.
실행 중에 발견 규칙이 변경되면 현재 발견 실행이 중단됩니다.
네트워크 발견 모듈에서 수행하는 서비스와 호스트(IP)의 모든 확인은 발견 이벤트를 생성합니다.
| 이벤트 | 서비스 확인 결과 |
|---|---|
| Service Discovered | 서비스가 '다운' 상태에서 '업' 상태로 전환되거나 처음 발견되었습니다. |
| Service Up | 서비스가 이미 '업' 상태였고, 계속 '업' 상태입니다. |
| Service Lost | 서비스가 '업' 상태에서 '다운' 상태로 전환되었습니다. |
| Service Down | 서비스가 이미 '다운' 상태였고, 계속 '다운' 상태입니다. |
| Host Discovered | 호스트의 모든 서비스가 '다운' 상태였다가 최소 하나의 서비스가 '업' 상태가 되거나, 등록되지 않은 호스트에 속한 서비스가 발견되었습니다. |
| Host Up | 최소 하나의 서비스가 이미 '업' 상태였고, 계속해서 최소 하나의 서비스가 '업' 상태입니다. |
| Host Lost | 최소 하나의 서비스가 '업' 상태였다가 모든 서비스가 '다운' 상태가 되었습니다. |
| Host Down | 호스트의 모든 서비스가 이미 '다운' 상태였고, 계속 '다운' 상태입니다. |
액션
발견 이벤트는 다음과 같은 관련 액션의 기반이 될 수 있습니다:
- 알림 전송
- 호스트 추가/제거
- 호스트 활성화/비활성화
- 그룹에 호스트 추가
- 그룹에서 호스트 제거
- 호스트에 태그 추가
- 호스트에서 태그 제거
- 호스트에 템플릿 링크/템플릿에서 링크 해제
- 원격 스크립트 실행
이러한 액션은 장치 유형, IP, 상태, 가동시간/다운타임 등을 고려하여 구성할 수 있습니다. 네트워크 발견 기반 이벤트에 대한 액션 구성에 대한 자세한 내용은 액션 작업 및 조건 페이지를 참조하세요.
네트워크 발견 액션은 이벤트 기반이므로 발견된 호스트가 온라인 상태일 때와 오프라인 상태일 때 모두 트리거됩니다. Service Lost/Service Down 이벤트에서 호스트 추가와 같은 액션이 트리거되는 것을 방지하려면 발견 상태: up 액션 조건을 추가하는 것을 강력히 권장합니다. 그렇지 않으면 발견된 호스트를 수동으로 제거해도 여전히 Service Lost/Service Down 이벤트가 생성되고 다음 발견 주기 동안 재생성됩니다.
발견된 호스트에 템플릿을 링크하는 작업은 링크 가능한 템플릿 중 하나에 이미 호스트에 존재하거나 다른 링크 가능한 템플릿에 있는 고유 엔터티(예: 항목 키)와 동일한 고유 엔터티(예: 항목 키)가 있는 경우 전체적으로 실패합니다.
호스트 생성
호스트 추가 작업이 선택된 경우 호스트가 추가됩니다. 호스트 추가 작업이 없더라도 호스트에 대한 액션을 수행하는 작업을 선택하면 호스트가 추가됩니다. 이러한 작업은 다음과 같습니다:
- 호스트 활성화
- 호스트 비활성화
- 호스트 그룹에 호스트 추가
- 호스트에 템플릿 링크
생성된 호스트는 Discovered hosts 그룹에 추가됩니다 (기본값, 관리 > 일반 > 기타에서 구성 가능). 호스트를 다른 그룹에 추가하려면 호스트 그룹에서 제거 작업을 추가하고 ("Discovered hosts" 지정) 호스트 그룹에 추가 작업도 추가해야 합니다 (다른 호스트 그룹 지정). 호스트는 반드시 호스트 그룹에 속해야 하기 때문입니다.
발견된 장치의 IP 주소와 발견 소스(Zabbix 서버, Zabbix 프록시, 또는 프록시 그룹) 및 인터페이스 유형이 시스템에서 호스트를 찾는 기준으로 사용됩니다. 동일한 IP 주소, 인터페이스 유형, 발견 소스를 가진 호스트가 이미 존재하는 경우 해당 호스트가 작업 수행의 대상이 됩니다. 발견 소스가 다른 경우, 발견된 엔터티는 다른 호스트로 취급되어 새 호스트가 생성될 수 있습니다.
발견된 호스트의 IP 주소가 변경되거나 인터페이스가 삭제되면 다음 발견 시 새 호스트가 생성됩니다.
호스트 명명
호스트를 추가할 때, 호스트 이름은 역방향 DNS 조회 결과이거나 조회가 실패하면 IP 주소가 됩니다. 조회는 발견을 수행하는 Zabbix 서버 또는 Zabbix 프록시에서 수행됩니다. 프록시에서 조회가 실패하면 서버에서 재시도되지 않습니다. 해당 이름을 가진 호스트가 이미 존재하는 경우, 다음 호스트는 이름에 _2가 추가되고, 그 다음은 _3 등이 추가됩니다.
또한 DNS/IP 조회를 무시하고 호스트 이름에 항목 값을 사용하는 것도 가능합니다. 예를 들어:
- Zabbix 에이전트 항목을 사용하여 Zabbix 에이전트가 실행 중인 여러 서버를 발견하고 이 항목이 반환하는 문자열 값을 기반으로 자동으로 적절한 이름을 할당할 수 있습니다
- SNMP 에이전트 항목을 사용하여 여러 SNMP 네트워크 장치를 발견하고 이 항목이 반환하는 문자열 값을 기반으로 자동으로 적절한 이름을 할당할 수 있습니다
항목 값을 사용하여 호스트 이름이 설정된 경우, 후속 발견 확인 동안 업데이트되지 않습니다. 항목 값을 사용하여 호스트 이름을 설정할 수 없는 경우, 기본값(DNS 이름)이 사용됩니다.
발견된 IP 주소와 발견 소스(Zabbix 서버, 프록시 또는 프록시 그룹)가 변경되지 않은 상태에서 호스트가 이미 존재하는 경우, 새 호스트가 생성되지 않습니다. 발견 소스가 다른 경우, 발견된 엔터티는 별개로 취급되어 새 호스트가 생성될 수 있습니다. 하지만 발견 액션에 작업(템플릿 링크, 호스트 그룹 추가 등)이 포함된 경우, IP 주소, 인터페이스 유형, 발견 소스가 일치하는 기존 호스트에서 작업이 수행됩니다.
호스트 제거
네트워크 발견 규칙에 의해 발견된 호스트는 발견된 엔터티가 더 이상 규칙의 IP 범위에 없으면 모니터링 > 발견에서 자동으로 제거됩니다. 호스트는 즉시 제거됩니다.
호스트 추가 시 인터페이스 생성
네트워크 발견의 결과로 호스트가 추가되면 다음 규칙에 따라 인터페이스가 생성됩니다:
- 감지된 서비스 - 예를 들어, SNMP 확인이 성공하면 SNMP 인터페이스가 생성됩니다.
- 호스트가 Zabbix 에이전트와 SNMP 요청 모두에 응답하면 두 유형의 인터페이스가 모두 생성됩니다.
- 고유성 기준이 Zabbix 에이전트 또는 SNMP에서 반환된 데이터인 경우, 호스트에 대해 발견된 첫 번째 인터페이스가 기본값으로 생성됩니다. 다른 IP 주소는 추가 인터페이스로 추가됩니다. 액션의 조건(예: 호스트 IP)은 인터페이스 추가에 영향을 주지 않습니다. 참고: 모든 인터페이스가 동일한 발견 규칙에 의해 발견되는 경우에만 작동합니다. 다른 발견 규칙이 동일한 호스트의 다른 인터페이스를 발견하면 추가 호스트가 추가됩니다.
- 호스트가 에이전트 확인에만 응답하면 에이전트 인터페이스만으로 생성됩니다. 나중에 SNMP에 응답하기 시작하면 추가 SNMP 인터페이스가 추가됩니다.
- "IP" 고유성 기준에 의해 처음에 3개의 개별 호스트가 생성되었다가, 발견 규칙이 수정되어 호스트 A, B, C가 동일한 고유성 기준 결과를 갖게 되면, B와 C는 첫 번째 호스트인 A의 추가 인터페이스로 생성됩니다. 개별 호스트 B와 C는 그대로 남아 있습니다. 모니터링 > 발견에서 추가된 인터페이스는 "발견된 장치" 열에 검은색 글꼴로 들여쓰기되어 표시되지만, "모니터링 호스트" 열에는 첫 번째로 생성된 호스트인 A만 표시됩니다. 추가 인터페이스로 간주되는 IP에 대해서는 "가동시간/다운타임"이 측정되지 않습니다.
프록시 설정 변경
서로 다른 프록시에 의해 발견된 호스트가 항상 다른 호스트로 취급되는 것은 아닙니다. 발견과 고유성 확인은 프록시 그룹 구조에 따라 달라집니다: 프록시가 발견 규칙을 실행하고 호스트를 생성할 때, 해당 호스트는 프록시 자체에 할당되지 않고 프록시의 부모 프록시 그룹에 추가됩니다. Zabbix가 발견 중 IP 고유성을 평가할 때, 부모 프록시 그룹에서 모니터링하는 호스트를 확인합니다. 해당 그룹 내의 개별 프록시(발견을 실행한 프록시 포함)에서 모니터링하는 호스트는 고유성 확인에서 무시되므로, 여러 프록시가 중복되는 서브넷을 모니터링하는 경우 중복 호스트가 생성될 수 있습니다.
이러한 동작은 서로 다른 서브넷에서 사용하는 중복되는 IP 범위에서 발견이 작동할 수 있게 하지만, 이미 모니터링 중인 서브넷에 할당된 프록시를 변경하는 것은 더 복잡합니다. 중복을 방지하려면 발견된 호스트와 부모 프록시 그룹의 멤버십에 프록시 변경 사항이 일관되게 적용되어야 하기 때문입니다.
예를 들어, 발견 규칙에서 프록시를 교체하는 단계:
- 발견 규칙 비활성화
- 프록시 구성 동기화
- 발견 규칙에서 프록시 교체
- 이 규칙에 의해 발견된 모든 호스트에 대해 프록시 교체 (부모 프록시 그룹의 호스트와 해당 그룹 내의 개별 프록시에서 모니터링하는 호스트가 중복을 방지하기 위해 업데이트되도록 보장)
- 발견 규칙 활성화