알람 서버 설정 방법
목차
소개
알람 서버 기능은 VIGI 카메라 및 VIGI NVR에서 알람 이벤트가 발생했을 때 능동적으로 보고하는 이벤트 메시지를 수신하도록 설계되었습니다.
보고서에 포함된 정보는 장치 측 소프트웨어 버전이 업데이트됨에 따라 이벤트 유형, 이벤트 타임스탬프, 장치 세부 정보 및 선택적 이벤트 스냅샷 이미지를 포함하여 점차 풍부해질 것입니다.
이 기능을 통해 VIGI 장치와 타사 시스템 간의 원활한 알람 연동 및 비즈니스 처리가 가능합니다.
이 문서에서는 VIGI 장치에서 알람 서버 기능을 설정하는 방법을 설명할 뿐만 아니라, 서버 연결 실패, 비정상적인 장치 데이터 보고, 서버 측 구문 분석 오류 등 발생할 수 있는 문제에 대한 문제 해결 지침도 제공합니다.
요구 사항
- VIGI 카메라/NVR
- 알람 서버
- 노트북
설정
VIGI 카메라와 VIGI NVR 간의 상호 작용에 사용되는 메시지 형식과 구문 분석 프로세스는 동일하므로, 이 문서에서는 설명을 위해 VIGI 카메라를 예로 사용합니다.
1단계. 아래 토폴로지 다이어그램에 따라 토폴로지를 구축합니다.

참고: 본 문서에 제시된 토폴로지는 참고용입니다. 실제 배포 시나리오는 더 다양합니다.
2단계. VIGI 카메라의 웹 인터페이스에 IP 주소로로그인합니다 . 사용자 이름 과 비밀번호를 입력한 후 로그인을 클릭합니다.

단계3. 설정 > 이벤트 > 알람 서버로 이동하여 "+추가"버튼을 클릭합니다.

단계 4. 팝업 창에서 타사 서버 관련 정보를 입력합니다. 본 문서에서는 https://webhook.site/#!/ 를 참조 서버로 사용합니다.

단계 5. 타사 서버의 호스트 IP 또는 도메인 및 URL을 입력하고, 적절한 프로토콜 (HTTP 또는 HTTPS)을 선택한 후 해당 포트 번호( HTTP는포트 80, HTTPS는 포트 443 )를 지정합니다. 본 문서에서는 설정 시연을 위해 HTTP 프로토콜과 포트 80을 사용합니다. 보고된 이벤트 메시지에 첨부 이미지를 포함할지 여부도 선택할 수 있습니다. 마지막으로 저장을 클릭하여 설정을 적용하고 저장합니다.

참고: 설정 매개변수에서 호스트 IP/도메인은 서버의 IP 주소 또는 도메인 이름을 의미하며, 본 URL은 장치와 서버 간에 교환되는 HTTP 메시지에서 사용되는 URL 경로에 해당합니다. 본 문서에서는 서버의 기본 URL을 사용합니다.
URL은 장치와 서버 간에 교환되는 HTTP 메시지에서 사용되는 URL 경로에 해당합니다. 본 문서에서 서버의 기본 URL은 (/e499f73b-b773-4721-b6a1-544a8efaef34)을 사용합니다:
6단계. "테스트" 버튼을 클릭하여 장치와 서버 간의 연결 상태를 확인할 수 있습니다.

7단계. "서비스를 사용할 수 있습니다"라는 팝업 메시지가 표시되면 연결 상태가 정상이며 기능이 제대로 작동함을 의미합니다. 확인을 클릭하여 진행합니다.

단계 8. 설정 > 이벤트 > 스마트 이벤트 > 사람 감지로이동하여 사람 감지 기능을 활성화합니다.

참고: 이 문서는 에서는 설명을 위해 사람 감지 기능을 예시로 사용합니다. 다른 이벤트 감지 기능도 동일한 방식으로 적용됩니다.
9단계. 처리 모드에서"알람 서버로 전송"을 선택하십시오. 마지막으로 적용을 클릭합니다.

검증
1단계. 스위치에서 포트 미러링을설정하여 VIGI 카메라가 연결된 포트를 노트북이 연결된 포트로 미러링합니다. 노트북의 네트워크 인터페이스에서 Wireshark를 사용하여 패킷 캡처를 시작한 후, 사람 감지 이벤트를 트리거합니다.
단계 2. VIGI 카메라가 보고한 정보를 등록합니다.
시나리오 1. 이미지 미첨부
단계 1. 캡처된 패킷을 필터하기 위해"http"명령어를 사용합니다. 그런 다음 HTTP POST 요청과 HTTP 응답을 확인합니다.

단계 2. HTTP POST 요청 헤더를 확인합니다.

참고: 첫 번째 줄에는 POST 메서드, 요청 대상 URI, HTTP 버전 1.1이 포함됩니다. URI는 이전에 Alarm Server 설정에서 구성한 URL 문자열과 일치합니다.
두 번째 줄부터 빈 줄까지 각 줄은 요청 메타데이터를 설명하는 키-값 쌍을 나타냅니다. 여기에는 Host, Content-Type, Content-Length, Cache-Control 등이 포함됩니다.
Content-Type이 application/json으로 설정된 경우, 이는 이벤트 메시지만 푸시됨을 나타냅니다(첨부 이미지 없음).이미지 첨부 없이) 이벤트 메시지만 전송되며, 요청 본문이 JSON 형식의 문자열임을 나타냅니다.
각 줄은 \r\n으로 끝납니다. \r\n만으로 구성된 빈 줄은 요청 헤더의 끝과 요청 본문의 시작을 나타냅니다.
3단계. HTTP POST 요청 본체 확인

참고: JSON 페이로드에서 ip는 이벤트 메시지를 보고하는 IP 카메라의 IP 주소를 나타내고, MAC은 보고하는 IP 카메라의 MAC 주소를 나타냅니다. protocol 필드는 통신에 Http/Https 프로토콜을 사용하는지 여부를 나타냅니다. device_name 필드는 이벤트를 보고하는 IP 카메라의 이름을 지정합니다.
event_list 내 각 항목은 보고서에 포함된 이벤트를 나타내며, 이벤트 발생 시간과 해당 이벤트 이름을 표시합니다.
4단계. HTTP 응답확인 . 반환된 200 OK 상태 코드는 webhook.site 서버가 요청을 성공적으로 수신하고 처리했음을 나타냅니다.

단계 5. HTTP POST 요청 본문에 보고된 데이터와 webhook.site 서버가 수신 및 파싱한 데이터를 비교하여 일관성을 확인합니다.

시나리오 2. 이미지 첨부 시
단계 1. 패킷 캡처를 시작하기 전에 webhook.site 서버 페이지 오른쪽 상단의 편집 버튼을 클릭하고, 이미지가 첨부된 메시지의 Content-Type을 multipart/form-data; boundary=ReportEventBoundary로 수정합니다.

참고: multipart/form-data는 JSON 문자열과 이미지 데이터가 혼합된 데이터를 나타냅니다. boundary=ReportEventBoundary는 데이터 페이로드의 서로 다른 부분을 구분하는 경계를 지정합니다.
2단계. 캡처된 패킷을 필터링하기 위해 "http"명령을 사용합니다. 그런 다음 HTTP POST 요청 헤더와 본문을 확인합니다.

아니요te: 요청 본체는 빈 줄(\r\n) 이후에 시작됩니다. Content-Type이 multipart/form-data이므로 본체는 --ReportEventBoundary 경계로 구분된 여러 부분으로 나뉩니다. 요청 본체는 --ReportEventBoundary--로 끝납니다.
첫 번째 부분은 JSON 이벤트 데이터를 포함하고, 두 번째 부분은 JPEG 이미지 데이터를 포함합니다. name 필드는 이미지의 타임스탬프를 나타내며, image/jpeg는 이 부분이 JPEG 이미지 데이터를 포함함을 지정하고, Content-Length는 이미지 데이터의 크기를 나타냅니다.
JPEG DATA는 이진 JPEG 이미지 콘텐츠를 나타냅니다.
3단계. HTTP 응답확인 . 반환된 200 OK 상태 코드는 webhook.site 서버가 요청을 성공적으로 수신하고 처리했음을 나타냅니다.

4단계. HTTP POST 요청 본문에 보고된 데이터와 webhook.site 서버가 수신 및 파싱한 데이터를 비교하여 일관성을 확인합니다.

참고: webhook.site 서버 자체는 업로드된 이미지 콘텐츠를 파싱하거나 디코딩하지 않습니다. HTTP 요청 데이터만 수신하고 표시합니다. 따라서 이벤트 정보와 해당 이미지의 타임스탬프만 확인할 수 있습니다.
결론
알람 서버 기능을 성공적으로 설정했으며, 이벤트 발생 시 이벤트 메시지와 스냅샷 이미지가 정상적으로 보고됩니다.
각 기능 및 설정에 대한 자세한 내용은 다운로드 센터에서 해당 제품 설명서를 다운로드하여 확인하시기 바랍니다.
QA
Q1: 알람 서버가 성공적으로 설정되었으나 이벤트 발생 시 서버로 알람 데이터가 수신되지 않는 경우 어떻게 해야 하나요:
A1: 다음 사항을 확인하십시오:
1단계. 사전 구성 점검을수행하십시오 . 장치 로그를 검토하여 해당 이벤트가 실제로 감지 및 트리거되었는지, 그리고 설정에서 '알람 서버로 전송'이 활성화되었는지 확인하십시오. 동시에 장치의 모든 알람 서버 구성 매개변수를 검증하며, 특히 구성된 포트가 서버에 의해 능동적으로 수신 대기 중인지, URL이 서버의 수신 대기 엔드포인트와 정확히 일치하는지 주의 깊게 확인하십시오.
단계 2. 포트 미러링을 설정하고 장치 측에서 패킷을 캡처한 후, 다음 항목을 순차적으로 확인하십시오:
- TCP 연결: 장치와 서버 간 TCP 3웨이 핸드셰이크가 성공적으로 설정되었는지 등록합니다.
- HTTP POST 요청: POST 요청이 성공적으로 시작되었는지, 요청 헤더 형식이 올바른지 확인합니다. 특히 Content-Type 필드에 유의하십시오. 이벤트 정보만 보고될 때는 Content-Type이 application/json이어야 합니다. 스냅샷 이미지가 포함될 때는 Content-Type이 multipart/form-data이어야 하며, 혼합 데이터(JSON 문자열과 이미지 데이터)는 boundary=ReportEventBoundary를 사용하여 분리되어야 합니다.
- HTTP 응답: 패킷에 반환된 HTTP 응답 상태 코드를 확인하여 서버가 HTTP 요청에 올바르게 응답하는지 확인하십시오.
이 문서에는 기계 번역이 적용되었으며, 정확한 내용을 확인하려면 원본 영문 문서를 참고하시기 바랍니다.
해당 FAQ가 유용했나요?
여러분의 의견은 사이트 개선을 위해 소중하게 사용됩니다.