Cameras Network

#17 – Jak monitorować stan kamer? / How to monitor cameras status? – SNMP/PRTG

Kamera IP jak każde inne urządzenie elektroniczne wymaga procesu nadzoru (innymi słowy: monitorowania). Co ciekawe, bardzo często pomijamy tą kwestie w przypadku planowania systemu nadzoru wizyjnego, gdzie z kolei każde inne urządzenie w sieci LAN (serwery, routery, switche, itd.) mają zagwarantowane pełen proces monitorowania wszystkich zasobów. W kolejnym wpisie przedstawie rozwiązanie, które nie wymaga kolosalnych nakładów finansowych, a skutecznie zabezpieczy nas przed ewentualnymi problemami z dostępem do kamer na bazie SNMP/PRTG.

IP Camera is a typical electronic device which needs real-time monitoring.Unfortunately most offten we’re avoiding this part of planning to rather focus on other devices like: servers, routers, switches. In this article I will try to show how to build price and quality reasonable system which can help to monitor cameras based on SNMP/PRTG.

Baner stworzony przez moją córkę / Banner created by my doughter.

 

English version below.

 

Jak dobrze wiadomo proces monitorowania poprawności pracy, ciągłości działania/komunikacji czy też nietypowych parametrów odnosi się do prawie każdego urządzenia z jakim mamy do czynienia. Wiele z nich jesteśmy w stanie sprawdzić w sposób organoleptyczny – przysłowiowy rzut oka daje nam informację jaki jest bieżący status (np. poziom paliwa w baku samochodu). Jednakże w przypadku kamer IP nie jest to do końca takie oczywiste. Oczywiście wszystko jest pod kontrolą, kiedy obraz z kamer mamy cały czas na podglądzie np. w centrum monitoringu. Co jednak kiedy takiej możliwości nie ma, a nagrywany materiał nie jest analizowany/monitorowany w trybie “na żywo”?

Czego użyć?

W takim przypadku na pomoc przychodzą nam rozwiązania rodem z obszaru IT. Protokół SNMP (Simple Network Management Protocol) pozwala na “zarządzanie urządzeniami takimi jak routery, przełączniki, komputery czy centrale telefoniczne za pośrednictwem sieci IP. Do transmisji wiadomości SNMP wykorzystywany jest głównie protokół UDP”. Większość kamer szanujących się producentów posiada obsługę protokołu SNMP w różnych wersjach (v1/v2/v3). Dodatkowym elementem tej układanki jest oprogramowanie monitorujące tzw. trapy SNMP – na rynku jest wielu dostawców, ale w tym wpisie chciałbym skupić się na rozwiązaniu PRTG. Oprogramowanie to jest dostępne do pobrania i instalacji na systemach Windows (zarówno klienckich jak i serwerowych). Dodatkowym atutem jest dość długi czas działania wersji TRIAL (30 dni) oraz możliwość dalszego korzystania po okresie próbnym z oprogramowania z limitowaną ilością agentów (100). PRTG posiada czytelny interfejs, proste zarządzanie oraz ogromne możliwości personalizacji. Ponieważ obraz jest w stanie zastąpić 1000 słów zapraszam do poniższej prezentacji działania rozwiązania SNMP/PRTG w kontekście dwóch scenariuszy, które mogą wystąpić w przypadku zaniku przesyłania strumieniowego:

Scenariusz 1:

  • typowe odpytywanie urządzenia ICMP (komenda PING) – kamera IP jest dostępna (odpowiada na “PING”), ale dane z kamery przestają “spływać” (tzn. strumień danych jest zbyt mały w stosunku do typowego ruchu sieciowego) – badanie wielkości strumienia danych
  • brak odpowiedzi (lub zbyt długa odpowiedź) interfejsu WWW kamery (np. port 80/443) – możliwość weryfikacji działania oprogramowania kamery

Scenariusz 2:

  • wyłączenie kamery z zasilania – zanik wszystkich usług i związane z tym alarmy

Co poza tym?

  • możliwość ustawienia alarmowania poprzez email/sms/itd.
  • dowolna zmiana parametrów oraz definiowanie własnych wartości
  • poza oprogramowaniem PRTG można również skorzystać z projektu ZABBIX i uruchomić oprogramowanie np. na serwerze linux (zabbix wymaga nieco więcej procesów konfiguracyjnych – PRTG pod tym względem jest dużo prostszy)
  • Pamiętamy o ustawieniu parametrów SNMP na kamerze:
    • Dahua:

    • Hikvision:

  • Wyższa szkoła jazdy: dodatkowo możemy skorzystać z gotowych bibliotek SNMP (zawierających OID – unikatowy identyfikator obiekt) – brzmi skomplikowanie, ale w dużym skrócie dzięki tej opcji w łatwy sposób dodajemy specyficzne parametry danego urządzenia (np. monitorowanie pamięci, interfejsów sieciowych, itp.). Poniżej przykład na bazie pliku “.oidlib” w kontekście producenta Hikvision:
    • Wygenerowany przez nas lub znaleziony w sieci plik “hikvision.oidlib” umieszczamy w poniższym katalogu, tak aby mógł z niego skorzystać PRTG:

    • W PRTG dodajemy nowy sensor bazując na poniższej ścieżce:

    • W tym momencie mamy dostęp do dedykowanych opcji monitorowania urządzenia:

 

 

English version:

As you know monitoring proces of business/communication flow or unususal parameters is related with any device which we know. Most of them we can examine/check in organoleptic way e.g. quick view can tell us what is the level of fuel in our car. However situation related with IP cameras is not so obvious. Of course – if everything is under control in Monitoring Center we can be sure that stream is visible all the time and any breach is quickly identofy and repair. But what about more often situation without any supervasing and without live view monitoring?

What should we use?

In this case we can use typical IT tools. SNMP (Simple Network Management Protocol) protocol allows us to “collecting and organizing information about managed devices on IP networks and modifying that information to change device behavior. Devices that typically support SNMP include cable modems, routers, switches, servers, workstations, printers, and more”. Most of cameras vendors providing SNMP as a default service in various versions (v1/v2/v3). Additionally we need software to monitor and analyze SNMP traps – there are many of them on the market but I want to focus on PRTG. It’s easy to dowload and instal this software both: on client and server systems. Moreover you can use this for 30 days in full functionality and than still using but number of sensor will be limited to 100. Interface of PRTG is very user friendly and in my opinion very intuitive. Because it’s better to show picture than write even 1000 words please find below video presenting 2 main scenario:

Scenario 1:

  • typical ICMP request (PING command) – IP camera is available (respond on PING) but there is no video stream – examine size of data stream
  • lack of response from WWW interface (port 80/443) – ability to verify the operation of the camera software

Scenario 2:

  • power off the camera – typical power outage

What else?

  • set alarm output via: email/sms/and so on
  • various parameters and define own values
  • Besides PRTG it’s good to check project ZABBIX. This tool is more demanding but it’s free (without support) and you can easly use your linux machine or prepared image for Vmware/Hyper-V.
  •   Remember about set SNMP parameters on your cameras (below examples):
  • Dahua:

 

  • Hikvision:

 

  • More advanced functions: we can use prepared SNMP library (included OID – unique object id) – sounds complicated but in short it can help to add parameters of specific device (e.g. memory monitoring, network interfaces, and many more). Below you can finde example based on file “.oidlib” in regards to Hikvsion products:
    • Generated by us or found in Internet file “hikvision.oidlib” we are adding to below folder so that PRTG can use this (sorry for polish path 🙂

    • In PRTG we are adding new sensor to based on below path:

    • Now we can use additional options related with specific device:

 

Leave a Reply

Your email address will not be published. Required fields are marked *