abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:00 | Zajímavý software

    Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána nová verze 4.0.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | Zajímavý článek

    Český statistický úřad (ČSÚ): Průměrná hrubá měsíční mzda ICT specialistů v roce 2025 meziročně vzrostla o 6 % na téměř 100 tisíc korun. Nejlépe placeni byli vývojáři softwaru. Dlouhodobým trendem zůstává nízké zastoupení žen, a to jak mezi specialisty, tak studenty těchto oborů.

    Ladislav Hagara | Komentářů: 5
    včera 14:11 | IT novinky

    Ochranný svaz autorský (OSA) připravuje žalobu na společnost Suno, která umožňuje generování hudby pomocí umělé inteligence (AI). ČTK to sdělil předseda představenstva OSA Roman Strejček. Suno podle něj bez souhlasu využívá k trénování svých modelů hudbu autorů, které svaz zastupuje. Nedávný investigativní materiál magazínu The Atlantic ukázal, že firmy jako Suno nebo Udio k trénování modelů používají rozsáhlé databáze obsahující miliony skladeb. V databázích, které časopis zveřejnil, lze dohledat i písně řady českých a slovenských umělců.

    Ladislav Hagara | Komentářů: 2
    včera 13:33 | Komunita

    Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vyřešen byl problém s macOS 27 Golden Gate. Vývoj lze podpořit na Open Collective a GitHub Sponsors.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | IT novinky

    EU dnešním dnem zavedla clo ve výši 3 eur na balíky nízké hodnoty dovážené ze zemí mimo EU. To zahrnuje širokou škálu výrobků běžně nakupovaných on-line, jako jsou oděvy, hračky, elektronika a další spotřební zboží v hodnotě až 150 EUR.

    Ladislav Hagara | Komentářů: 4
    včera 08:55 | Nová verze

    Vyšel Redmine 7.0, jeden z nejlepších open source ticketovacích systémů. Došlo k migraci na Rails 8, vylepšení UI/UX, Workflow, byla přidána podpora náhledu pro Microsoft Office a LibreOffice dokumenty, došlo k výkonnostním optimalizacím a přibylo spoustu dalších oprav a novinek. Více informací v oficiálním oznámení.

    Max | Komentářů: 0
    30.6. 16:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 166 (pdf).

    Ladislav Hagara | Komentářů: 0
    30.6. 03:33 | Pozvánky

    Blíží se prázdniny a než se rozutečete k moři, je na čase se opět sejít na Virtuální Bastlírně - pravidelném setkání elektroniků, ajťáků, bastlířů a obecně nadšenců do techniky. Co si pro vás strahovští bastlíři připravili tentokrát? Určitě proberou blížící se Linux Days i další události. U softwaru se chvíli zdrží a poví si kupříkladu o tom, jak se zbavit Bambu Cloudu, ale nepřijít o možnost ovládat tiskárnu na dálku. Řeč dojde i na AI,

    … více »
    bkralik | Komentářů: 0
    30.6. 03:22 | Nová verze

    Vývojáři postmarketOS vydali verzi 26.06 tohoto operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (26%)
    Celkem 2031 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Monitoring pomocí nástrojů z balíku Net-SNMP

    17. 1. 2007 | Lukáš Zapletal | Systém | 21678×

    Protokol SNMP umožňuje monitorovat a konfigurovat libovolná zařízení, která jej podporují. Veliký význam to má v oblasti sítí, internetu, počítačů a různých jiných hardwarových zařízení (od špičkových přepínačů firmy Cisco až po kávovary s ethernetovou přípojkou).

    Článek byl vydán ve spolupráci s časopisem LinuxEXPRES.


    Standardním balíkem pro práci s protokolem SNMP je v linuxových systémech Net-SNMP. Není samozřejmě jediný, ale já si ho vybral pro dobrou stabilitu, škálovatelnost a širokou možnost rozšiřování. Je k dispozici na mnoha distribucích jako binární balíček, tudíž je instalace hračkou. Obsahuje jak SNMP démona, tak i nástroje pro dotazování a nastavování hodnot.

    Základní konfigurace

    Po instalaci je na mnoha distribucích konfigurace nastavena přísně -- v podstatě není povoleno nic, nebo maximálně čtení větve .iso.org.dod.internet.mgmt.mib-2.system (SNMPv2 MIB) přes community string "public". Vrhněme se tedy na úpravu konfiguračního souboru tak, aby SNMP démon vracel nějaké ty zajímavé hodnoty (vytížení procesoru, paměť, volné místo na svazcích atd).

    Nebudu zde popisovat samozřejmé konfigurační hodnoty, jako je například port nebo rozhraní, na kterém má démon naslouchat, či snad efektivního uživatele pro běh. Snad jen upozorním, abyste při nastavování firewallu nezapomněli, že protokol SNMP běhá na UDP (port 161).

    Nejzákladnější konfigurace bezpečnosti se provádí pomocí rouser/rwuser resp. rocommunity/rwcommunity. Můžete jednoduše specifikovat, které community řetězce a kteří uživatelé (vizte níže) mohou přistupovat do jakých částí stromu. Typicky se může použít například nastavení, které povolí přístup pouze pro čtení pro celou MIB databázi ze sítě 10.10.10.0 s community řetězcem "tajnyklic":

    rocommunity tajnyklic 10.10.10.0/24

    Je nutné si uvědomit, že toto není zrovna nejbezpečnější nastavení pro zápisy (vzdálenou konfiguraci), tudíž lze tento přístup doporučit jen pro read-only přístup, tedy jednoduchý monitoring. Pokud si ani nechcete pamatovat tajný klíč, použijte "public", což je implicitní klíč, který klienty obvykle předpokládají.

    Protokol SNMPv3 přidal pokročilejší podporu pro autentifikaci i autorizaci (tzv. VACM). Pro tyto účely nastudujte konfigurační hodnotu createUser (pokud byste chtěli přidávat jednotlivé uživatele). Nám však postačí přístup přes community řetězce, takže využijeme místo rocommunity (a podobných) příkazů spíše ty nové, které je dobře zastoupí: com2sec, group, view a access.

    Tyto konfigurační hodnoty umožňují namapovat community řetězce na skupiny a těmto skupinám umožnit pohledy (view) do MIB stromu (access). Typická přednastavená konfigurace u většiny linuxových distribucí je:

    #com2sec paranoid  default         public
    #com2sec readonly  default         public
    #com2sec readwrite default         private
    
    group MyROSystem v1        paranoid
    group MyROSystem v2c       paranoid
    group MyROSystem usm       paranoid
    group MyROGroup v1         readonly
    group MyROGroup v2c        readonly
    group MyROGroup usm        readonly
    group MyRWGroup v1         readwrite
    group MyRWGroup v2c        readwrite
    group MyRWGroup usm        readwrite
    
    view all    included  .1                               80
    view system included  .iso.org.dod.internet.mgmt.mib-2.system
    
    access MyROSystem ""   any   noauth   exact  system none   none
    access MyROGroup ""    any   noauth   exact  all    none   none
    access MyRWGroup ""    any   noauth   exact  all    all    none
    

    Jsou k dispozici tři mapování: nejomezenější, které zobrazuje pouze mib-2.system větev; pouze pro čtení (celý strom); kompletní přístup do celého stromu (včetně zápisu). Stačí odkomentovat první, druhý resp. třetí řádek v konfiguraci. Pokud chcete monitorovat linuxový server, odkomentujte druhý řádek, změňte community string (klíč) a eventuálně připište rozsah IP adres, ze kterých bude čtení hodnot povoleno:

    com2sec readonly default 10.10.10.0/24 tajnyklic

    V následujícím textu budu předpokládat, že máte povolen přístup pro čtení z localhostu s community řetězcem "public".

    Takže abych to shrnul -- stačí nainstalovat balíček net-snmp a odkomentovat (resp. modifikovat) jeden řádek. Je možné efektivně namapovat community řetězce a uživatelské účty na jednotlivé pohledy. K dispozici jsou také uživatelské skupiny, takže možnosti jsou široké.

    Monitoring systému

    Díky databázi HOST-RESOURCES-MIB můžete získávat hodnotné informace o systému, na kterém běží SNMP démon. Ten tyto informace zjišťuje automaticky a není třeba nic konfigurovat -- stačí pouze povolit přístup k dané větvi (pokud jste tedy odkomentovali v konfiguraci druhý řádek, jak jsem radil).

    A jak tyto informace získáte? V balíku Net-SNMP je připraven řádkový klient, se kterým můžete pohodlně pracovat. Automaticky načítá všechny MIB soubory v distribuci a výsledky přehledně zobrazuje. Podívejme se, co všechno nám SNMP server poskytne:

    snmpwalk -v 1 -c public localhost \
    iso.org.dod.internet.mgmt.mib-2.host

    Jelikož je to poměrně dost informací (v závislosti na tom, kolik máte spuštěných procesů, připojených svazků a podobně), výstup vám nejspíše "uteče" z obrazovky. Můžete se dotazovat na konkrétní hodnoty, například uptime systému: iso.org.dod.internet.mgmt.mib-2.host.hrSystem.hrSystemUptime, kde by odpověď mohla být:

    HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (54741321)12:13:14.15

    Doplňující systémové informace

    Démon z balíku Net-SNMP může poskytovat dodatečné informace o systému, které nejsou součástí větve HOST-RESOURCES-MIB. Jsou nadefinovány v souboru UCD-SNMP-MIB (Net-SNMP se dříve jmenoval UCD-SNMP). Pomocí této nové větve (iso.org.dod.internet.private.enterprises.ucdavis) můžete získávat detailnější informace o procesoru, o konkrétních procesech, paměti, disku, zátěži a souborech (včetně možnosti sledování logů pomocí regulárních výrazů). Veškeré poskytované informace lze dodatečně konfigurovat, popis je v sekci SYSTEM INFORMATION manuálové stránky pro snmpd.conf.

    Tyto informace získáte příkazem snmpwalk -v 1 -c public localhost \
    iso.org.dod.internet.private.enterprises.ucdavis

    Kromě UCD-SNMP-MIB ve výpisu uvidíte také další informace z MIB souborů UCD-DISKIO-MIB nebo UCD-DLMOD-MIB. To jsou experimentální měření, která budou později patrně zařazeny do hlavní větve.

    Pokud by vám nevoněla příkazová řádka, můžete si nainstalovat grafického klienta tkmib, ale jelikož se jedná o Perl/TK, tak z tohoto programu určitě nebudou nadšeni uživatelé vyžadující eye-candy vzhled. No a nic vám nebrání v použití profesionálních SNMP nástrojů, které se dají koupit pro Windows, MacOS i Linux.

    Rozšiřování o nové funkce

    Co by to bylo za SNMP daemona, kdyby uměl poskytovat jen pár informací o systému. Pokud jste k počítači připojili hardwarový teploměr, jistě by bylo záhodno naměřené teploty zveřejňovat pomocí SNMP. Nebo máte aplikaci, kterou je třeba monitorovat či dokonce vzdáleně konfigurovat. I na to se SNMP perfektně hodí.

    Nejjednodušší variantou je konfigurační volba exec, která zajistí spuštění skriptu a jeho výstup, návratovou hodnotu a další údaje exportuje ve větvi iso.org.dod.internet.private.enterprises.ucdavis.extTable. Například konfigurace

    exec echotest /bin/echo hello world

    by způsobila exportování následujících hodnot:

    $ snmpwalk -v 1 -c public localhost .1.3.6.1.4.1.2021.8
    UCD-SNMP-MIB::extIndex.1 = INTEGER: 1
    UCD-SNMP-MIB::extNames.1 = STRING: echotest
    UCD-SNMP-MIB::extCommand.1 = STRING: /bin/echo hello world
    UCD-SNMP-MIB::extResult.1 = INTEGER: 0
    UCD-SNMP-MIB::extOutput.1 = STRING: hello world
    UCD-SNMP-MIB::extErrFix.1 = INTEGER: 0
    UCD-SNMP-MIB::extErrFixCmd.1 = STRING:

    Pro zkrácení výstupu jsem použil číselný zápis zmíněného OIDu (ucdavis.extTable). Takto si můžete nadefinovat množství skriptů, SNMP server naměřené hodnoty uchovává v paměti cache po dobu 30 sekund (toto chování lze ovlivnit SNMP set příkazem). Pomocí parametru MIBOID můžete také změnit větev, ve které budou ext* hodnoty exportovány.

    Existuje několik variant příkazu exec (sh, extend, extendfix), ale v podstatě dělají podobnou práci (jen jinak exportují výsledky). Jenže co kdybyste potřebovali si vytvořit vlastní větev se specifickou strukturou (nebo využít některý ze standardních MIB souborů)? I v takovém případě má Net-SNMP řešení.

    Tím je konfigurační hodnota pass a pass_persist. Má dva parametry: kořen substromu, který bude mít skript na starosti, a cestu k samotnému skriptu. Pomocí parametrů -g, -n a -s daemon zjišťuje resp. nastavuje hodnoty (GET, GETNEXT a SET), program musí pomocí standardního výstupu na třech řádcích vracet postupně OID, typ hodnoty a vlastní hodnotu (v případě SET se jen ukončí případně vypíše chybu).

    Volba pass_persist funguje jen trošičku odlišně -- daemon s programem komunikuje pomocí standardního vstupu a očekává, že se program po přečtení hodnot hned neukončí. Toto výrazně zvyšuje výkon, protože se nemusí pro každou hodnotu spouštět nová instance programu.

    Mezi další možnosti rozšiřování patří vkládaný interpret Perlu (ten se ale obvykle v binárních distribucích balíku nenachází), dynamicky nahrávaná knihovna (dlmod) nebo program komunikující se serverem po lokálním socketu protokolem AgentX (v balíku Net-SNMP zatím označeno jako experimentální).

    Management Information Base

    Pokud chcete rozšiřovat SNMP o vlastní objekty, musíte vytvořit takzvaný MIB soubor. Bez něj server neví, jaké hodnoty (OIDy) má pomocí skriptů zjišťovat. Psaní MIB souborů je tak trochu alchymie -- používá se zde poněkud "ukecaná" a nepřehledná notace a dokumentace ohledně tvorby vlastních MIBů je na internetu jako šafránu.

    Pro své účely si můžete zdarma zaregistrovat vlastní "jmenný prostor" ve větvi enterprises přidělované společností IANA. Poté definujete vlastní struktury, které lze pomocí MIB vytvořit: objekty (listové, sloupcové), tabulky, řádky. K tomuto účelu lze použít nějaký z profesionáloních nástrojů pro tvorbu MIB databází, ale jelikož jsou tyto programy poměrně drahé a MIB jsou obyčejné textové soubory, postačí textový editor (např. Vim zvýrazňuje syntaxi, pokud má soubor příponu .mib).

    Není účelem tohoto textu proniknout do tajů tvorby MIB, proto mohu pouze odkázat na článek Understanding SNMP MIBs, David Perkins, 1998 a knihu Understanding SNMP MIBs, David Perkins a Evan McGinnis o této problematice.

    Pokud vytvoříte vlastní MIB soubor a distribuujete jej klientským programům (v případě snmpwalk je to /usr/share/snmp/mibs), programy budou hodnoty zobrazovat přehledně, včetně popisů (a pro nastavování budou také kontrolovat správnost vstupů).

    Závěr

    Co mi v balíku Net-SNMP chybělo, byla možnost dynamické správy skupin, uživatelů a pohledů (např. přímo pomocí SNMP). Jedinou možností je prozatím zásah do konfiguračního souboru a možnost rozšiřování v této oblasti bohužel zatím žádná není.

    Vůbec jsem se nevěnoval oblasti aktivního monitoringu (tzv. trapping), kdy server sám rozesílá informace. I zde jsou u Net-SNMP poměrně široké možnosti.

    Pro sběr informací ze serveru můžete využít některou z webových aplikací, například Nessus, MRTG nebo Cacti. Tyto programy jsou schopny napsat vám například SMS, když dojde k nějaké neočekávané události (zaplnění disku, pád aplikace).

           

    Hodnocení: 92 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    17.1.2007 09:51 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Prenosove protokoly
    Rad bych doplnil, ze SNMP je uzpusobeno k prenosu nad nespolehlivym kanalem. Z toho duvodu funguje treba i nad Ethernetem. Takze neni problem komunikovat se zarizenimi, ktere nemaji ani IP adresu.
    DjAARA avatar 21.1.2007 11:56 DjAARA | skóre: 32 | Praha|Náklo|Olomouc
    Rozbalit Rozbalit vše Re: Prenosove protokoly
    Ano, UDP je opravdu vhodné na komunikaci po nespolehlivém kanále. A porty 161, 162 taky budou určitě dostupné nad čistým ethernetem a bez IP adresy.

    OMG
    22.1.2007 13:17 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Prenosove protokoly
    Samozrjme, ze UDP porty nepotrebuji, kdyz nechci UDP.

    Doporucuji k nahlednuti 5. kapitolu RFC 1270, pripadne specifikaci SNMP nad Ethernetem v podobe RFC 1089 nebo RFC 1161, kde se rozepira adresace na jinych transportnich protokolech. Dale mame SNMP nad IPX (RFC 1420) atd.
    20.1.2007 16:12 Kadži | skóre: 14
    Rozbalit Rozbalit vše Re: Monitoring pomocí nástrojů z balíku Net-SNMP
    Zvláštní, že si toho za tři dny nikdo nevšiml, ale v kapitole „Monitoring systému“ je v adrese odkazu znak navíc.
    20.1.2007 16:33 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: Monitoring pomocí nástrojů z balíku Net-SNMP
    Dík, opraveno.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.