SNMP v1 a v3 podporují všechna NETIO 4x zařízení (NETIO 4 / 4All / 4C), SNMP v1 lze použít pouze pro čtení hodnot. Pomocí SNMP () protokolu lze zjišťovat stav jednotlivých zásuvek, měřit aktuální spotřebu nebo přes SNMP v3 ovládat jednotlivé zásuvky. SNMP je standardní protokol pro mnoho dohledových software aplikací třetích stran.
NETIO 4x používá pro komunikaci po SNMP výchozí port 161, který lze změnit ve webové administraci. MIB s popisem Objektů je možné stáhnout z webové administrace NETIO 4x.
NETIO 4x podporuje následující verze SNMP:
- v1,2c - SNMP v1 a v2c umožňuje pouze dohled (čtení stavů)
- v3 - SNMP v3 využívá autorizaci a šifrování, umožňuje dohled a ovládání zásuvek
Podporovaná zařízení: NETIO 4All, NETIO PowerPDU 4C, NETIO 4, PowerBOX 3Px, PowerPDU 4PS, PowerDIN 4Pz
Linux: Pro SNMP komunikaci z Linux lze využít např. utilit snmpwalk, snmpget či snmpset z balíčku snmp (http://www.net-snmp.org/) - stručný návod na instalaci naleznete na konci tohoto dokumentu v kapitole “Instalace Net-SNMP utility pro Linux”.
Windows: Pro SNMP komunikaci ve Windows lze použít např. utilit SnmpWalk, SnmpGet či SnmpSet od SnmpSoft Company (https://syslogwatcher.com/cmd-tools/). Utility je možné použít zdarma pro nekomerční použití. Tyto utility nepracují s MIB, ale jen s OID.
Příklady použití:
- Vzdálený dohled nad stavem zásuvek
- Ovládání zásuvek ze vzdáleného počítače
Rychlá navigace v Aplikační poznámce AN11:
Příklady použití SNMP v1/v2c
Vypsání všech stavů/hodnot (SNMP v1 / v2c)
Vypsání konkrétní hodnoty (SNMP v1 / v2c)
Linux - s využitím MIB a jména objektu
Příklady použití SNMP v3
Vypsání všech stavů/hodnot (SNMP v3)
Vypsání konkrétní hodnoty (SNMP v3)
Linux - s využitím MIB a jména objektu
Ovládání zásuvky s využitím MIB a jména Objektu (SNMP v3)
Linux - s využitím MIB a jména objektu
Objekty v NETIO 4x SNMP MIB
Pro dohled (čtení)
Objekt OID x – nahrazuje číslo výstupu/zásuvky (1, 2, 3, 4) |
Typ | Příklad hodnoty | Poznámka |
netioOutputID.x 1.3.6.1.4.1.47952.1.1.1.1.x |
INTEGER | 1 | |
netioOutputName.x 1.3.6.1.4.1.47952.1.1.1.2.x |
STRING | output_1 | dle uživ. nastavení |
netioOutputState.x 1.3.6.1.4.1.47952.1.1.1.3.x |
INTEGER | off(0), on(1) | |
netioOutputStateString.x 1.3.6.1.4.1.47952.1.1.1.4.x |
STRING | "off", "on" | |
netioOutputLoad.x 1.3.6.1.4.1.47952.1.1.1.25.x |
INTEGER | 24 | [W] |
netioOutputEnergy.x 1.3.6.1.4.1.47952.1.1.1.26.x |
INTEGER | 13 | [Wh] |
netioOutputEnergyStart.x 1.3.6.1.4.1.47952.1.1.1.27.x |
DateAndTime | 2017-6-23,5:47:3.0,+0:0 | Počáteční čas pro “netioOutputEnergy”. UTC *1 |
netioOutputCurrent.x 1.3.6.1.4.1.47952.1.1.1.28.x |
INTEGER | 195 | [mA] |
netioOutputCurrentPowerFactor.x 1.3.6.1.4.1.47952.1.1.1.29.x |
INTEGER | 534 | Current power factor * 1000 |
netioVoltage 1.3.6.1.4.1.47952.1.2.1 |
INTEGER | 239100 | napětí v síti [mV] |
netioFrequency 1.3.6.1.4.1.47952.1.2.2 |
INTEGER | 49900 | frekvence v síti [mHz] |
netioTotalCurrent 1.3.6.1.4.1.47952.1.2.3 |
INTEGER | 195 | [mA] |
netioOverallPowerFactor 1.3.6.1.4.1.47952.1.2.4 |
INTEGER | 534 | Current power factor * 1000 |
netioTotalLoad 1.3.6.1.4.1.47952.1.2.5 |
INTEGER | 24 | [W] |
netioTotalEnergy 1.3.6.1.4.1.47952.1.2.6 |
INTEGER | 13 | [Wh] |
netioEnergyStart 1.3.6.1.4.1.47952.1.2.7 |
DateAndTime | 2017-6-23,5:47:3.0,+0:0 | Počáteční čas pro “netioTotalEnergy”. UTC *1 |
*1: Počáteční čas od kdy se počítá kumulovaná spotřeba. Tato hodnota je stejná pro všechny výstupy/zásuvky.
Poznámka: Hodnoty měření (napětí, frekvence, proud, PowerFactor, zátěž a energie) jsou dostupné pouze pro model NETIO 4All. Ostatní modely vrací hodnotu měření “0”.
Pro ovládání (zápis)
Objekt OID x – nahrazuje číslo zásuvky (1, 2, 3, 4) |
Typ | Hodnota | Akce |
netioOutputAction.x 1.3.6.1.4.1.47952.1.1.1.5.x |
INTEGER (i) |
0 1 2 3 4 5 |
vypne zapne krátce vypne * (restart) krátce zapne ** změní aktuální stav ponechá beze změny |
* pokud byla zásuvky vypnutá, bude po provedení příkazu zapnutá
** pokud byla zásuvky zapnutá, bude po provedení příkazu vypnutá
Net-SNMP utility pro Linux
V příkladech je použita utilita Net-SNMP. Pokud ji nemáte nainstalovanou můžete ji nainstalovat dle jednocuchého postupu na konci tohoto dokumentu v kapitole “Instalace Net-SNMP utility pro Linux”.
Výchozích adresáře pro MIB jsou: /root/.snmp/mibs: /usr/share/snmp/mibs/, /usr/share/snmp/mibs/iana/, /usr/share/snmp/mibs/ietf/, /usr/share/mibs/site/, /usr/share/snmp/mibs/, /usr/share/mibs/iana/, /usr/share/mibs/ietf/, /usr/share/mibs/netsnmp
NETIO MIB stažené z webové administrace NETIO doporučujeme přejmenovat na NETIO-PRODUCTS-NETIO-MIB pro jednoduché využití příkladů níže a uložit do /usr/share/snmp/mibs/ (doporučený výchozí adresář).
Pro správnou funkci jsou vyžadovány také následující MIB (kromě NETIO MIB):
- SNMPv2-SMI
- SNMPv2-TC
Postup jejich získání naleznete na konci tohoto dokumentu v kapitole “Instalace Net-SNMP utility pro Linux”.
SNMP utility pro Windows
V příkladech jsou použity utility SnmpWalk, SnmpGet a SnmpSet od SnmpSoft Company (https://syslogwatcher.com/cmd-tools/). Utility je možné použít zdarma pro nekomerční použití.
Stačí stáhnout jednotlivé utility, rozbalit a používat. Pro správnou funkci musíte spouštět utilitu ze složky, ve které je utilita uložena (nebo přidat cestu do PATH).
Tyto utility nepracují s MIB, ale jen s OID.
Nastavení NETIO 4x - SNMP v1/v2c
Ve webové administraci NETIO 4x v sekci M2M API Protocols povolte SNMP, případně upravte číslo Portu, zvolte verzi SNMP v1,2c, případně změňte Comunity a uložte kliknutím na tlačítko Save Changes. Kliknutím na tlačítko Download MIB file stáhnete MIB pro NETIO.
Příklady použití SNMP v1/v2c
1. Vypsání všech stavů/hodnot (SNMP v1 / v2c)
Linux - s využitím MIB
snmpwalk -m <jméno NETIO MIB> [volitelně -M <cesta k MIB>] -v <verze SNMP: 1 nebo 2c> -c <Comunity> <IP adresa NETIO> <specifikace stromu: NETIOProducts>
příklad: snmpwalk -m NETIO-PRODUCTS-NETIO-MIB -v 1 -c public 192.168.120.135 NETIOProducts
Obdobně můžeme použít i pro SNMP v2c: snmpwalk -m NETIO-PRODUCTS-NETIO-MIB -v 2c -c public 192.168.120.135 NETIOProducts
Pokud jsou MIB uloženy v jiném než jednom z výchozích adresářů (viz výše v úvodu), je třeba uvést i paramatr -M s cestou.
Např.:snmpwalk -m NETIO-PRODUCTS-NETIO-MIB -M /usr/share/snmp/mibs/ -v 1 -c public 192.168.120.135 NETIOProducts
Windows
SnmpWalk.exe -r:<IP adresa NETIO> -v:<verze SNMP: 1 nebo 2c> -c:<Comunity>
příklad: SnmpWalk.exe -r:192.168.120.135 -v:1 -c:"public"
nebo: SnmpWalk.exe -r:192.168.120.135 -c:"public"
Obdobně můžeme použít i pro SNMP v2c: SnmpWalk.exe -r:192.168.120.135 -v:2c -c:"public"
2. Vypsání konkrétní hodnoty (SNMP v1 / v2c)
Linux - s využitím MIB a jména objektu
snmpget -m <jméno NETIO MIB> [volitelně -M <cesta k MIB>] -v <verze SNMP: 1 nebo 2c> -c <Comunity> <IP adresa NETIO> <Objekt pro čtení dle tabulky výše>
příklad pro vypsání stavu zásuvky číslo 1: snmpget -m NETIO-PRODUCTS-NETIO-MIB -v 1 -c public 192.168.120.135 netioOutputState.1
Obdobně můžeme použít i pro SNMP v2c: snmpget -m NETIO-PRODUCTS-NETIO-MIB -v 2c -c public 192.168.120.135 netioOutputState.1
Pokud jsou MIB uloženy v jiném než jednom z výchozích adresářů (viz výše v úvodu), je třeba uvést i parametr -M s cestou.
Např.: snmpget -m NETIO-PRODUCTS-NETIO-MIB -M /usr/share/snmp/mibs/ -v 1 -c public 192.168.120.135 netioOutputState.1
Linux - s využitím OID
snmpget -v <verze SNMP: 1 nebo 2c> -c <Comunity> <IP adresa NETIO> <OID pro čtení dle tabulky výše>
příklad pro vypsání stavu zásuvky číslo 1: snmpget -v 1 -c public 192.168.120.135 1.3.6.1.4.1.47952.1.1.1.3.1
Obdobně můžeme použít i pro SNMP v2c: snmpget -v 2c -c public 192.168.120.135 1.3.6.1.4.1.47952.1.1.1.3.1
Windows - s využitím OID
SnmpGet.exe -r:<IP adresa NETIO> -v:<verze SNMP: 1 nebo 2c> -c:<Comunity>
příklad: SnmpGet.exe -r:192.168.120.135 -v:1 -c:"public" -o:1.3.6.1.4.1.47952.1.1.1.3.1
nebo: SnmpGet.exe -r:192.168.120.135 -c:"public" -o:1.3.6.1.4.1.47952.1.1.1.3.1
Obdobně můžeme použít i pro SNMP v2c: SnmpGet.exe -r:192.168.120.135 -v:1 -c:"public" -o:1.3.6.1.4.1.47952.1.1.1.3.1
Nastavení NETIO 4x - SNMP v3
Ve webové administraci NETIO 4x v sekci M2M API Protocols povolte SNMP, případně upravte číslo Portu a zvolte verzi SNMP v3.
Pro SNMP v3 jsou k dispozici dva SNMP uživatelé - jeden s právy pro čtení i zápis (Allow READ/WRITE access) a druhý pouze s právy pro čtení (Allow READ ONLY access). Pro každého lze individuálně nastavit parametry pro přístup a zabezpečení, případně jej nepovolit.
Povolte/nepovolte jednotlivé SNMP uživatele (jednoho či oba), nastavte jednotlivé parametry a uložte kliknutím na tlačítko Save Changes.
Kliknutím na tlačítko Download MIB file stáhnete MIB pro NETIO.
pozn.: NETIO využívá Password jako “authentication protocol pass phrase” a také “privacy protocol pass phrase”.
Příklady použití SNMP v3
1. Vypsání všech stavů/hodnot (SNMP v3)
Linux - s využitím MIB
snmpwalk -m <jméno NETIO MIB> [volitelně -M <cesta k MIB>] -v <verze SNMP: 3> -a <protokol: MD5|SHA> -A <Password> -I <Security: authNoPriv|authPriv> -u <Username> -x <Encryption: DES|AES> -X <Password> <IP adresa NETIO> <specifikace stromu: NETIOProducts>
příklad: snmpwalk -m NETIO-PRODUCTS-NETIO-MIB -v 3 -a SHA -A mypassword -l authPriv -u user -x AES -X mypassword 192.168.120.135 NETIOProducts
Pokud jsou MIB uloženy v jiném než jednom z výchozích adresářů (viz výše v úvodu), je třeba uvést i paramatr -M s cestou.
Např.: snmpwalk -m NETIO-PRODUCTS-NETIO-MIB -M /usr/share/snmp/mibs/ -v 3 -a SHA -A mypassword -l authPriv -u user -x AES -X mypassword 192.168.120.135 NETIOProducts
Windows
SnmpWalk.exe -r:<IP adresa NETIO> -v:<verze SNMP: 3> -sn:<Username> -ap:<protokol: MD5|SHA> -aw:<Password> -pp:<Encryption: DES|AES128> -pw:<Password>
příklad: SnmpWalk.exe -r:192.168.120.135 -v:3 -sn:user -ap:SHA -aw:mypassword -pp:AES128 -pw:mypassword
2. Vypsání konkrétní hodnoty (SNMP v3)
Linux - s využitím MIB a jména objektu
snmpget -m <jméno NETIO MIB> [volitelně -M <cesta k MIB>] -v <verze SNMP: 3> -a <protokol: MD5|SHA> -A <Password> -I <Security: authNoPriv|authPriv> -u <Username> -x <Encryption: DES|AES> -X <Password> <IP adresa NETIO> <Objekt pro čtení dle tabulky výše>
příklad pro vypsání stavu zásuvky číslo 1: snmpget -m NETIO-PRODUCTS-NETIO-MIB -v 3 -a SHA -A mypassword -l authPriv -u user -x AES -X mypassword 192.168.120.135 netioOutputState.1
Pokud jsou MIB uloženy v jiném než jednom z výchozích adresářů (viz výše v úvodu), je třeba uvést i paramatr -M s cestou.
Např.: snmpget -m NETIO-PRODUCTS-NETIO-MIB -M /usr/share/snmp/mibs/ -v 3 -a SHA -A a1234567 -l authPriv -u admin -x AES -X a1234567 192.168.120.135 netioOutputState.1
Linux - s využitím OID
snmpget -v <verze SNMP: 3> -a <protokol: MD5|SHA> -A <Password> -I <Security: authNoPriv|authPriv> -u <Username> -x <Encryption: DES|AES> -X <Password> <IP adresa NETIO> <OID pro čtení dle tabulky výše>
příklad pro vypsání stavu zásuvky číslo 1: snmpget -v 3 -a SHA -A mypassword -l authPriv -u user -x AES -X mypassword 192.168.120.135 1.3.6.1.4.1.47952.1.1.1.3.1
Windows - s využitím OID
SnmpGet.exe -r:<IP adresa NETIO> -v:<verze SNMP: 3> -sn:<Username> -ap:<protokol: MD5|SHA> -aw:<Password> -pp:<Encryption: DES|AES128> -pw:<Password> -o:<OID pro čtení dle tabulky výše>
příklad: SnmpGet.exe -r:192.168.120.135 -v:3 -sn:user -ap:SHA -aw:mypassword -pp:AES128 -pw:mypassword -o:1.3.6.1.4.1.47952.1.1.1.3.1
3. Ovládání zásuvky s využitím MIB a jména Objektu (SNMP v3)
Linux - s využitím MIB a jména objektu
snmpset -m <jméno NETIO MIB> [volitelně -M <cesta k MIB>] -v <verze SNMP: 3> -a <protokol: MD5|SHA> -A <Password> -I <Security: authNoPriv|authPriv> -u <Username> -x <Encryption: DES|AES> -X <Password> <IP adresa NETIO> <Objekt pro zápis dle tabulky výše> <odpovídající Typ> <Hodnota>
příklad pro zapnutí zásuvky číslo 1: snmpset -m NETIO-PRODUCTS-NETIO-MIB -v 3 -a SHA -A a1234567 -l authPriv -u admin -x AES -X a1234567 192.168.120.135 netioOutputAction.1 i 1
Pokud jsou MIB uloženy v jiném než jednom z výchozích adresářů (viz výše v úvodu), je třeba uvést i paramatr -M s cestou.
Např. snmpset -m NETIO-PRODUCTS-NETIO-MIB -M /usr/share/snmp/mibs/ -v 3 -a SHA -A a1234567 -l authPriv -u admin -x AES -X a1234567 192.168.120.135 netioOutputAction.1 i 1
Linux - s využitím OID
snmpset -v <verze SNMP: 3> -a <protokol: MD5|SHA> -A <Password> -I <Security: authNoPriv|authPriv> -u <Username> -x <Encryption: DES|AES> -X <Password> <IP adresa NETIO> <OID pro zápis dle tabulky výše> <odpovídající Typ> <Hodnota>
příklad pro zapnutí zásuvky číslo 1: snmpset -v 3 -a SHA -A a1234567 -l authPriv -u admin -x AES -X a1234567 192.168.120.135 1.3.6.1.4.1.47952.1.1.1.5.1 i 1
Windows - s využitím OID
SnmpSet.exe -r:<IP adresa NETIO> -v:<verze SNMP: 3> -sn:<Username> -ap:<protokol: MD5|SHA> -aw:<Password> -pp:<Encryption: DES|AES128> -pw:<Password> -o:<OID pro čtení dle tabulky výše> -val:<Hodnota> -tp:<odpovídající Typ>
příklad pro zapnutí zásuvky číslo 1: SnmpSet.exe -r:192.168.120.135 -v:3 -sn:admin -ap:SHA -aw:a1234567 -pp:AES128 -pw:a1234567 -o:1.3.6.1.4.1.47952.1.1.1.5.1 -val:1 -tp:int
FAQ:
1) Co když změním Port pro SNMP?
Linux: Pokud je Port nastaven na jiný než standardní 161 pak jednoduše uvedete číslo použitého portu za IP adresu oddělený dvojtečkou. Např. 192.168.120.135:1111 pro použití portu 1111.
Windows: Pokud je Port nastaven na jiný než standardní 161 pak v příkazu uvedete navíc parametr “-p:<port>”. Např. SnmpWalk.exe -r:192.168.120.135 -p:1111 -c:"public" pro použití portu 1111
2) Proč nelze ovládat zásuvky pomocí SNMP v1 / v2c ?
SNMP v1 a v2c nepoužívají autorizaci. Zápis pomocí tohoto protokolu tak není nijak zabezpečen. Nelze tedy zajistit přístup k ovládání pouze pro oprávněné zařízení / software / systém. Pro čtení, lze použít SNMP v1 i v, pro zápis (ovládání) musí být tedy použito SNMP v3.
3) Podporuje NETIO 4x SNMP Trapy?
Ne, chytré zásuvky NETIO 4x (NETIO 4 / NETIO 4All / NETIO 4C) komunikují pouze na portu 161 a nepodporují SNMP Trapy.
Podporované verze FW:
3.1.0 a novější (Archiv firmware)
Instalace Net-SNMP utility pro Linux
Postup vyzkoušený na Debian GNU/Linux 8.
-> nainstalovat balíček snmp
http://net-snmp.sourceforge.net/wiki/
dále jsou potřeba následující dvě MIB:
SNMPv2-SMI
SNMPv2-TC
-> nainstalovat balíček snmp-mibs-downloader
-> spustit download-mibs
MIB se uloží do /var/lib/mibs/ietf
-> zkopírovat dvě MIB uvedené výše do /usr/share/snmp/mibs/ (doporučený výchozí adresář)
NETIO MIB - stažené z webové administrace NETIO
-> přejmenovat na NETIO-PRODUCTS-NETIO-MIB (doporučeno pro jednoduché využití příkladů výše)
-> uložit do /usr/share/snmp/mibs/ (doporučený výchozí adresář)
Podporovaná zařízení:
- NETIO 4
- NETIO 4All
- PowerPDU 4C
- PowerPDU 4PS
- PowerBOX 3Px
- PowerDIN 4Pz