SNMP (Simple Network Management Protocol) slouzi k monitorovani stavu zarizeni pripojenych do site (verse softwaru, objem protekajicich dat, telplota, pocet uzivatelu, selhani hardwaru, ...), nastavovani nekterych jejich parametru a pripadne reakci na zvlastni udalosti.
Protokol je pomerne jednoduchy (SNMPv1 obsahuje pouze hrstku prikazu), takze je snadne pridat jeho podporu do nejruznejsich zarizeni. Ziskavani informaci o hardwaru je oddeleho od spravy techto informaci - pro novy hardwre staci pridat kod pro nej specificky.
Zakladni prvky SNMP tvori agenti a manageri. Na kazdem sledovanem zarizeni musi bezet agent, ktery se stara o to, kdo a za jakych okolnosti se muze dotazovat na urcite informace. agent je bezne pasivni a pouze ceka na dotazy od managera, v definovanych situacich ale muze sam kontaktovat managera pomoci operace TRAP. Ta slouzi k informovani o situaci, na kterou je treba ihned reagovat.
Agent typicky posloucha na UDP portu 161, manager ocekava TRAP na UDP 162. SNMP ale dokaze komunikovat i pres jine protokoly nez UDP, napr TCP, IP, IPX, ethernet, ...
Struktura dat, ktera agent poskytuje, je definovana v MIB (Management Information Bases), coz je hierarchicky cleneny strom objektu. Kazdy uzel reprezentuje objekt, ktery ma na sve urovni unikatni jmeno a cislo. Kazdy objekt v MIB je identifikovam pomoci OID (Object IDentifier), ktery je utvoren posloupnosti cisel vsech predku objektu az ke korenu, oddelenych teckou. Misto cisel je mozne pouzit jmena objektu. Koren samotny je bezejmenny. Pro kazdy objekt jsou definovana pristupova prava a typ uchovavanych dat. Objekty v horni casti stromu patri ruznym standardizacnim organizacim, objekty v nizsich castech pak ruznym spolecnostem, coz jim umoznuje pridavat objekty specificke pro jejich produkty, aniz by narusovaly strukturu ve zbytku stromu.
priklad OID:
cast MIB stromu:
|-- itu-t (0) |-- itu-t/iso (2) `-- iso (1) |-- org (3) : |-- ibm (18) |-- dod (6) : `-- internet (1) |-- directory (1) |-- mgmt (2) : |-- mib-2 (1) : |-- system (1) : |-- sysUpTime (3) :MIB-2 (RFC 1213)
Novy, rozsireny, "procisteny" strom, pridany jako podstrom MIB. Pridan "deprecated" priznak pro objekty.
SNMPv1 (RFC 1155, 1157)
Podpora nasledujicich akci:
SNMPv2 (RFC 1441-1452)
Nekompatibilni s v1.
Pridava nove datove typy a akce:
SNMPv3 (RFC 3411-3418)
Predevsim pridava mechanismy zlepsujici autentikaci, sifrovani
a integritu prenasenych dat.
User-based Security Model
View-based Access Control Model
Balicky net-snmp, net-snmp-utils (fedora)
$ snmpget -v 1 -c public localhost .1.3.6.1.2.1.1.5.0
/etc/snmp/snmpd.conf:
# sec.name source community com2sec notConfigUser default public # groupName securityModel securityName group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser # name incl/excl subtree mask(optional) view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 # group context sec.model sec.level prefix read write notif access notConfigGroup "" any noauth exact systemview none none
Generuje grafy na zaklade SNMP informaci.