<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>guzik &#187; SNMP</title>
	<atom:link href="http://guzik.net.pl/blog/tag/snmp/feed/" rel="self" type="application/rss+xml" />
	<link>http://guzik.net.pl/blog</link>
	<description>Mój blog</description>
	<lastBuildDate>Fri, 27 Jan 2012 22:13:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>O (Net-)SNMP jeszcze trochę</title>
		<link>http://guzik.net.pl/blog/2011/12/o-net-snmp-jeszcze-troche/</link>
		<comments>http://guzik.net.pl/blog/2011/12/o-net-snmp-jeszcze-troche/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 13:36:38 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[SNMP]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=3560</guid>
		<description><![CDATA[O SNMP pisałem już kilka razy. Tym razem notka o rozszerzeniu możliwości serwera (Net-SNMP) i prezentacji danych we własnych OID&#8217;ach. Najprościej wykonać to można dodając do konfiguracji dyrektywę extend (kiedyś exec lub sh). Składnia wygląda tak: extend [MIBOID] NAME PROG ARGS A na przykładzie: extend .1.3.6.1.4.1.31337 Test /root/scripts/test.sh testarg1 Przy okazji pozdrawiam firmę Union &#038; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://guzik.net.pl/blog/tag/snmp/">O SNMP pisałem już kilka razy</a>. Tym razem notka o rozszerzeniu możliwości serwera (Net-SNMP) i prezentacji danych we własnych OID&#8217;ach.</p>
<p>Najprościej wykonać to można dodając do konfiguracji dyrektywę <code>extend</code> (kiedyś <code>exec</code> lub <code>sh</code>). Składnia wygląda tak:</p>
<blockquote><p><code>extend [MIBOID] NAME PROG ARGS</code></p></blockquote>
<p>A na przykładzie:</p>
<blockquote><p><code>extend .1.3.6.1.4.1.31337 Test /root/scripts/test.sh testarg1</code></p></blockquote>
<p>Przy okazji pozdrawiam firmę Union &#038; Comstar, której PEN (<em>Private Enterprise Number</em>) pożyczyłem :-) <span id="more-3560"></span><br />
Wadą tego rozwiązania jest fakt, że każdy wynik zwracany przez zewnętrzny program (<code>printf</code> czy <code>echo</code>) traktowany jest jak <code>STRING</code>. Gdy chcemy uzyskać <code>INTEGER</code> możemy wprawdzie posłużyć się kodem wyjścia, ale mamy do dyspozycji zakres 0-255. Do pomiaru temperatury w serwerowni czy na procesorze się może przyda, ale do sprawdzenia pamięci wykorzystywanej przez dany proces już niekoniecznie.</p>
<p>Net-SNMP umożliwia nam wykorzystanie Perl&#8217;a &#8211; a konkretnie modułu NetSNMP::agent, do tworzenia własnych wtyczek (chyba dla Python też jest wsparcie).<br />
Jako że kiepski ze mnie programista, a w szczególności programista Perl, postaram się wspierać swój przekaz kodem. I tak stworzenie agenta możemy wykonać następująco:</p>
<blockquote><p><code>use NetSNMP::agent;</p>
<p>my $agent = new NetSNMP::agent();</code></p></blockquote>
<p>Następnie tworzymy funkcję i rejestrujemy ją, by użyć przy wywołaniu konkretnego OID&#8217;a:</p>
<blockquote><p><code>sub callback_function {<br />
&nbsp;&nbsp;my ($handler, $registration_info, $request_info, $requests) = @_;<br />
&nbsp;&nbsp;my $request;<br />
&nbsp;&nbsp;for($request = $requests; $request; $request = $request->next()) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;my $oid = $request->getOID();<br />
&nbsp;&nbsp;&nbsp;&nbsp;if ($oid == new NetSNMP::OID(".1.3.6.1.4.1.31337.1.1.0")) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request->setValue(ASN_INTEGER, hex(substr $valstring, 4, 2)-40);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}</p>
<p>$agent->register("callback function", ".1.3.6.1.4.1.31337.1", \&#038;callback_function);</code></p></blockquote>
<p>Funkcja jest wywoływana z czteroma parametrami: <code>HANDLER</code>, <code>REGISTRATION_INFO</code>, <code>REQUEST_INFO</code>, i <code>REQUESTS</code>. <code>REQUEST_INFO</code> może zawierać dwa tryby &#8211; <code>MODE_GET</code> i <code>MODE_GETNEXT</code>. Oczywiście przy jednokrotnym sprawdzaniu OID&#8217;a (np. przez Cacti) nie ma to znaczenia, ale gdybyśmy chcieli sprawdzić całe drzewo używając np. <code>snmpwalk</code>, to przy <code>MODE_GETNEXT</code> musimy podać adres kolejnego OID&#8217;a, który ma być sprawdzony po bieżącym. W przeciwnym razie <code>snmpwalk</code> skończy odczyt.</p>
<blockquote><p><code>$request->setOID(".1.3.6.1.4.1.31337.1.1.1");</code></p></blockquote>
<p>W odpowiedzi agent może zwrócić jeden spośród dwudziestu typów danych. Ja używam jedynie <code>ASN_INTEGER</code> i <code>ASN_OCTET_STR</code>. Resztę można znaleźć w dokumentacji.</p>
<p>Po stworzeniu modułu dodajemy jego wywołanie do Net-SNMP w pliku <code>snmpd.conf</code>:</p>
<blockquote><p><code>perl do "/root/scripts/test.pl"</code></p></blockquote>
<p>Następnie restartujemy demona i możemy odczytywać nasze dane. Należy pamiętać, że po każdej zmianie wtyczki niezbędne jest ponowne przeładowanie.</p>
<p>Czytaj też:</p>
<ul>
<li><a href="http://www.net-snmp.org/wiki/index.php/Tut:Extending_snmpd_using_perl">Extending snmpd using perl</a></li>
<li><a href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sect-System_Monitoring_Tools-Net-SNMP-Extending.html">RedHat Documentation: Extending Net-SNMP</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/12/o-net-snmp-jeszcze-troche/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SNMP &#8211; co potrafi moje urządzenie?</title>
		<link>http://guzik.net.pl/blog/2011/12/snmp-co-potrafi-moje-urzadzenie/</link>
		<comments>http://guzik.net.pl/blog/2011/12/snmp-co-potrafi-moje-urzadzenie/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 04:00:09 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[SNMP]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=3520</guid>
		<description><![CDATA[SNMP (Simple Network Management Protocol) to protokół służący do zarządzania urządzeniami sieciowymi. Za pomocą SNMP możemy pobierać informacje z urządzenia (Get, GetNext) lub wysyłać do niego konfigurację (Set). Urządzenia same również mogą się komunikować z nami wysyłając sygnał (Trap) do serwera SNMP. Każdy komunikat to osobna zmienna &#8211; tzw. OID (Object IDentifier). Zmienne tworzą bazę [...]]]></description>
			<content:encoded><![CDATA[<p>SNMP (<em>Simple Network Management Protocol</em>) to protokół służący do zarządzania urządzeniami sieciowymi. Za pomocą SNMP możemy pobierać informacje z urządzenia (<code>Get</code>, <code>GetNext</code>) lub wysyłać do niego konfigurację (<code>Set</code>). Urządzenia same również mogą się komunikować z nami wysyłając sygnał (<code>Trap</code>) do serwera SNMP.<br />
Każdy komunikat to osobna zmienna &#8211; tzw. OID (<em>Object IDentifier</em>). Zmienne tworzą bazę zwaną MIB (<em>Management Information Base</em>), w której rozmieszczone są w strukturze drzewiastej. Nazwa zmiennej ma odwzorowanie na adres w postaci numerycznej, gdzie każdy poziom oddzielony jest kropką. Np.:</p>
<ul>
<li><code>sysDescr.0</code> (<code>1.3.6.1.2.1.1.1.0</code>) &#8211; nazwa urządzenia,</li>
<li><code>sysUpTimeInstance</code> (<code>1.3.6.1.2.1.1.3.0</code>) &#8211; czas od uruchomienia,</li>
<li><code>sysLocation.0</code> (<code>1.3.6.1.2.1.1.6.0</code>) &#8211; lokalizacja.</li>
</ul>
<p>Zmienne przechowują konkretny rodzaj danych. Dla powyższych będzie to odpowiednio <code>STRING</code>, <code>Timeticks</code> i ponownie <code>STRING</code>. <span id="more-3520"></span>Mogą występować również inne typy, np. <code>INTEGER</code>, <code>Gauge32</code> czy <code>Counter32</code>. W szczególnym przypadku możemy dostać zmienną typu <code>OID</code> czyli wskazanie na adres w drzewie.<br />
Więcej na temat SNMP można znaleźć w <a href="http://www.faqs.org/rfcs/rfc1157.html">RFC 1157</a>. Ja chciałbym się skupić na tym ostatnim typie, bo to jest odpowiedź na tytułowe pytanie.</p>
<p>Istnieje specjalny OID, który jest wskazaniem na gałąź zawierającą zmienne dotyczące konkretnego modelu sprzętu danego producenta. W <code>sysObjectID.0</code> (<code>1.3.6.1.2.1.1.2.0</code>) znajduje się OID, pod którym należy szukać szczególnych danych dotyczących konkretnego urządzenia. To co dostajemy w standardzie (np. za pomocą zwykłego odczytu <code>snmpwalk</code>) to ogólnie zdefiniowane wartości, tak jak wspomniane wcześniej nazwa urządzenia, lokalizacja czy ruch na interfejsach sieciowych. Dopiero to, na co wskazuje <code>sysObjectID.0</code> może wyciągnąć z naszego urządzenia dane, których szukamy.</p>
<p>W <code>sysObjectID.0</code> może znajdować się np. taka wartość: <code>enterprises.211.1.21.1.60</code> (<code>1.3.6.1.4.1.211.1.21.1.60</code>). Jak widać część jest rozwiązywana na tekst, a część pozostaje w postaci numerycznej (używam <code>snmpwalk</code>). Dzieje się tak dlatego, że pierwszy człon po nazwie to identyfikator producenta (a później jego gałęzie), o których <code>snmpwalk</code> nic nie wie. Identyfikatory nadawane są producentom sprzętu (takim jak Royal Bank of Canada czy Samodzielny Publiczny Centralny Szpital Kliniczny :&gt;) przez IANA, a ich lista jest <a href="http://www.iana.org/assignments/enterprise-numbers">publicznie dostępna</a>.</p>
<p><strong>Dwa piwa</strong> dla pierwszej osoby, która w komentarzu opisze w jaki sposób zdobyć swój numer, <span style="text-decoration: underline;"><strong>cztery</strong></span> dla tego kto znajdzie się w bazie do końca roku (chyba, że czas na umieszczenie jest dłuższy; na dzień dzisiejszy jest tam niespełna 1% firm, czyli ~300, których adres kontaktowy kończy się na &#8222;.pl&#8221;).</p>
<p>Kiedyś w artykule <a href="http://guzik.net.pl/blog/2009/05/xerox-phaser-6180dn-jako-czujnik-temperatury-i-wilgotnosci/">Xerox Phaser 6180DN jako czujnik temperatury i wilgotności</a> opisałem moją walkę o wyciągnięcie wskazań temperatury i wilgotności z czujników wewnętrznych drukarki. Nie pamiętam czy posłużyłem się SNMP i gałęzią odpowiednią dla tego modelu. Teraz nie mam już pod ręką tego modelu. <strong>Piwo</strong> dla osoby, która sprawdzi czy może to tam jest.</p>
<p>Jeśli nie potrafimy się odnaleźć w specyficznych wartościach zwracanych przez urządzenie, można posiłkować się bazą opisową dostarczaną przez producentów sprzętu. Plik taki kopiujemy do <code>/usr/share/snmp/mibs</code>, a następnie przy wywołaniu <code>snmpwalk</code> czy <code>snmpget</code> podajemy nazwę bazy (jedna z pierwszych linii, tuż przed <code>DEFINITIONS ::= BEGIN</code>; często też nazwa samego pliku), np. tak:</p>
<blockquote><p><code>snmpget -On -c public -v 1 <strong>-m FJDARY-E60</strong> host fjdaryPfcmCount.0</code></p></blockquote>
<p>Przy okazji &#8211; przełącznik <code>-On</code> nie rozwiązuje nazw i pokazuje je w postaci numerycznej.<br />
Jeśli producent bazy nie dostarcza (niestety zdarzają się tacy) pozostaje nam samodzielne zgadywanie.</p>
<p>Zobacz także:</p>
<ul>
<li><a href="http://www.karlkatzke.com/using-snmpwalk-and-a-vendor-mib-file/">Using SNMPwalk and a vendor MIB file</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/12/snmp-co-potrafi-moje-urzadzenie/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Chcecie kaktusów? To macie &#8211; czyli Cacti i dane pobierane przez SNMP</title>
		<link>http://guzik.net.pl/blog/2011/09/chcecie-kaktusow-to-macie-czyli-cacti-i-dane-pobierane-przez-snmp/</link>
		<comments>http://guzik.net.pl/blog/2011/09/chcecie-kaktusow-to-macie-czyli-cacti-i-dane-pobierane-przez-snmp/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 19:56:14 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Cacti]]></category>
		<category><![CDATA[SNMP]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=3326</guid>
		<description><![CDATA[Jak narysować wykres dowolnego OID? Nic prostszego &#8211; w ustawieniach Cacti (console) wybieramy z menu New Graphs. Następnie na formularzu po prawej stronie wybieramy żądaną maszynę, a z szablonów &#8211; SNMP &#8211; Generic OID Template i zatwierzamy przyciskiem Create. Na koniec uzupełniamy formularz dotyczący konkretnego wykresu, w którym podajemy OID, z którego pobierane będą dane [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cacti.net/"><img alt="" src="http://cacti.net/images/cacti.png" class="alignright" width="100" height="149" /></a>Jak narysować wykres dowolnego OID? Nic prostszego &#8211; w ustawieniach Cacti (<em>console</em>) wybieramy z menu <em>New Graphs</em>. Następnie na formularzu po prawej stronie wybieramy żądaną maszynę, a z szablonów &#8211; <em>SNMP &#8211; Generic OID Template</em> i zatwierzamy przyciskiem <em>Create</em>. Na koniec uzupełniamy formularz dotyczący konkretnego wykresu, w którym podajemy OID, z którego pobierane będą dane numeryczne.<br />
Po więcej szczegółów odsyłam do <a href="http://www.cacti.net/downloads/docs/html/graph_snmp_oid.html">Graph a Single SNMP OID</a>.<br />
<span id="more-3326"></span><br />
Co w przypadku, gdy wartość, którą chcemy zwizualizować trzeba poddać pierw jakiejś operacji matematycznej (np. podzielić przez 10 jak w przypadku napięcia baterii w <a href="http://guzik.net.pl/blog/2011/09/ups-aros-snmp/">UPS Sentry z modułem NetMan</a>)? Otóż w takim przypadku najlepiej stworzyć swój własny szablon.<br />
Ja wybieram jako źródło wspomniany <em>SNMP &#8211; Generic OID Template</em>, kopiuję go (<em>Graph Templates</em> -> <em>Choose an action</em> -> <em>Duplicate</em>) i zmieniam wg uznania. Funkcję matematyczną podajemy już w edycji szablonu, a stosuje się ją do konkretnego elementu wykresu (<em>Graph Item</em> -> <em>CDEF Function</em>).<br />
Domyślnie jest kilka funkcji &#8211; np. mnożenie przez 1024 (<em>Multiply by 1024</em>) lub zamiana bajtów w bity (mnożenie przez 8; <em>Turn Bytes into Bits</em>), ale nic nie stoi na przeszkodzie, by stworzyć własną (lub najszybciej &#8211; skopiować istniejącą). Robi się to w <em>Management</em> -> <em>Graph Management</em> -> <em>CDEFs</em>. Konstrukcja jest prosta, polecam naukę z dostarczonych przykładów.</p>
<p><a href="http://guzik.net.pl/blog/wp-content/uploads/2011/09/uol.png"><img src="http://guzik.net.pl/blog/wp-content/uploads/2011/09/uol-150x150.png" alt="" title="uol" width="150" height="150" class="alignleft size-thumbnail wp-image-3329" /></a>OK, przytoczony w przykładzie UPS podaje obciążenie każdej (spośród trzech) faz osobno. Jak zobaczyć je wszystkie na jednym wykresie, by można było między sobą łatwo porównać? Jest wiele dróg, którymi można dojść do tego celu. Proponuję stworzyć <em>Data Template</em> dla każdego OID, którego wartość chcemy umieścić na wykresie i podłączyć to w szablonie wykresu jako kolejny element.<br />
Można też przypisać wiele szablonów <em>SNMP &#8211; Generic OID Template</em> i przy tworzeniu konkretnego wykresu podawać żądany OID (szablon ma zaznaczoną opcję <em>Use Per-Data Source Value</em>). Pierwszy sposób, to wg mnie mniej klikania przy dodawaniu nowego urządzenia w przyszłości, no i zawsze możemy taki gotowy szablon wyeksportować, by pochwalić się nim społeczności.</p>
<p>I na koniec polecam przejrzenie gotowych szablonów dostarczonych wraz z Cacti. Na ich podstawie dobrze się uczyć tworzenia własnych.</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/09/chcecie-kaktusow-to-macie-czyli-cacti-i-dane-pobierane-przez-snmp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UPS Aros &amp; SNMP</title>
		<link>http://guzik.net.pl/blog/2011/09/ups-aros-snmp/</link>
		<comments>http://guzik.net.pl/blog/2011/09/ups-aros-snmp/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 22:08:58 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Aros]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[Sentry]]></category>
		<category><![CDATA[SNMP]]></category>
		<category><![CDATA[ST60]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=3290</guid>
		<description><![CDATA[W temacie monitoringu pisałem już wielokrotnie, tym razem informacja jak czuwać nad parametrami pracy zasilaczy awaryjnych firmy Aros. Mam pod opieką modele Sentry ST60 z modułem NetMan 101/102 plus. Moduł umożliwia odczyt niezbednych wartości przez prostą stronę WWW lub za pomocą protokołu SNMP. Oczywiscie dla Nagios lub Cacti przyda się ten drugi sposób. Poniżej odpowiednie [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.aros-solar.com/"><img alt="" src="http://www.aros-solar.com/images/AROS.png" class="alignleft" width="200" height="60" /></a>W temacie monitoringu pisałem już wielokrotnie, tym razem informacja jak czuwać nad parametrami pracy zasilaczy awaryjnych firmy Aros.</p>
<p>Mam pod opieką modele Sentry ST60 z modułem <a href="http://www.aros-solar.com/en/accessories-and-communication-devices/netman-plus-pv">NetMan 101/102 plus</a>.<span id="more-3290"></span> Moduł umożliwia odczyt niezbednych wartości przez prostą stronę WWW lub za pomocą protokołu SNMP. Oczywiscie dla Nagios lub Cacti przyda się ten drugi sposób.<br />
Poniżej odpowiednie identyfikatory (OID) wraz z opisem i sposobem wykorzystania.</p>
<ul>
<li><code>.1.3.6.1.2.1.33.1.2.3.0</code> szacowany czas podtrzymania (w minutach)</li>
<li><code>.1.3.6.1.2.1.33.1.2.4.0</code> naładowanie baterii w procentach</li>
<li><code>.1.3.6.1.2.1.33.1.2.5.0</code> napięcie baterii (dziesięciokrotność)</li>
<li><code>.1.3.6.1.2.1.33.1.2.7.0</code> temperatura pracy urządzenia</li>
<li><code>.1.3.6.1.2.1.33.1.3.3.1.2.1</code> częstotliwość napięcia wejściowego, pierwsza faza (dziesięciokrotność)</li>
<li><code>.1.3.6.1.2.1.33.1.3.3.1.2.2</code> częstotliwość napięcia wejściowego, druga faza (dziesięciokrotność)</li>
<li><code>.1.3.6.1.2.1.33.1.3.3.1.2.3</code> częstotliwość napięcia wejściowego, trzecia faza (dziesięciokrotność)</li>
<li><code>.1.3.6.1.2.1.33.1.3.3.1.3.1</code> napięcie wejściowe, pierwsza faza</li>
<li><code>.1.3.6.1.2.1.33.1.3.3.1.3.2</code> napięcie wejściowe, druga faza</li>
<li><code>.1.3.6.1.2.1.33.1.3.3.1.3.3</code> napięcie wejściowe, trzecia faza</li>
<li><code>.1.3.6.1.2.1.33.1.4.2.0</code> częstotliwość napięcia wyjściowego (dziesięciokrotność)</li>
<li><code>.1.3.6.1.2.1.33.1.4.4.1.2.1</code> napięcie wyjściowe, pierwsza faza</li>
<li><code>.1.3.6.1.2.1.33.1.4.4.1.2.2</code> napięcie wyjściowe, druga faza</li>
<li><code>.1.3.6.1.2.1.33.1.4.4.1.2.3</code> napięcie wyjściowe, trzecia faza</li>
<li><code>.1.3.6.1.2.1.33.1.4.4.1.5.1</code> procentowe obciążenie wyjścia, pierwsza faza</li>
<li><code>.1.3.6.1.2.1.33.1.4.4.1.5.2</code> procentowe obciążenie wyjścia, druga faza</li>
<li><code>.1.3.6.1.2.1.33.1.4.4.1.5.3</code> procentowe obciążenie wyjścia, trzecia faza</li>
<li><code>.1.3.6.1.2.1.33.1.5.1.0</code> częstotliwość bajpasu (dziesięciokrotność)</li>
<li><code>.1.3.6.1.2.1.33.1.5.3.1.2.1</code> napięcie bajpasu, faza pierwsza</li>
<li><code>.1.3.6.1.2.1.33.1.5.3.1.2.2</code> napięcie bajpasu, faza pierwsza</li>
<li><code>.1.3.6.1.2.1.33.1.5.3.1.2.3</code> napięcie bajpasu, faza pierwsza</li>
</ul>
<p>Dołączenie szacowanego czasu podtrzymania i temperatury pracy urządzenia do konfiguracji Nagios:</p>
<blockquote><p><code>define command{<br />
        command_name    check_snmp<br />
        command_line    $USER1$/check_snmp -H $HOSTADDRESS$ -o $ARG1$ -C $ARG2$ -P $ARG3$ $ARG4$<br />
        }</p>
<p>define service {<br />
        use     generic-service<br />
        host_name       UPS<br />
        service_description     UPS Autonomy Time<br />
        check_command   check_snmp!mib-2.33.1.2.3.0!public!2c!-w 15:9999 -c 2:9999<br />
        }</p>
<p>define service {<br />
        use     generic-service<br />
        host_name       UPS<br />
        service_description     UPS Temperature<br />
        check_command   check_snmp!mib-2.33.1.2.7.0!public!2c!-w 20:25 -c 15:32<br />
        }</code></p></blockquote>
<p>Monitorowanie czasu podtrzymania jest zrozumiałe, progi jakie ustawiłem, to 15 min dla ostrzeżenia i 2 minuty dla błędu krytycznego. Poniżej tego czasu generator, z którym współpracują może nie być w stanie się uruchomić. Oczywiście te parametry trzeba dopasować do swojej struktury. Należy pamiętać, że ta wartość to <strong>szacowany</strong> czas na podstawie obciążenia w momencie pomiaru.</p>
<p>Jeśli chodzi o temperaturę, to odczyt z tego OID da nam przybliżoną wartość dla okolic urządzenia, gdzie zazwyczaj stoją baterie, których to producenci zalecają 20 &#8211; 22 stopni Celsjusza. Naturalnie można to sprawdzać innym urządzeniem, ale skoro producent zamontował czujnik w UPS, to czemu by z niego nie skorzystać.<br />
Temperatura ma duży wpływ na żywotność ogniw, więc warto utrzymywać ją w odpowiednim zakresie i zapewnić wentylację pomieszczenia, w którym się znajdują.<br />
Organizacja <a href="http://www.ashrae.org/">ASHARE</a> (<em>American Society of Heating, Refrigerating and Air-Conditioning Engineers</em>) wydała dokument pt. <em><a href="http://www.techstreet.com/cgi-bin/detail?product_id=1703623">Thermal Guidelines for Data Processing Environments</a></em>, w którym opisane są warunki, jakie powinny panować m. in. w serwerowni. Esencja z niego została zawarta w <a href="http://monitoring-serwerowni.pl/content/view/185/134/">polskojęzycznym artykule</a>, który na swojej stronie prezentuje firma EP&#038;M.</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/09/ups-aros-snmp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Monitorowanie systemów Windows w Cacti</title>
		<link>http://guzik.net.pl/blog/2009/12/cacti-i-windows-2003/</link>
		<comments>http://guzik.net.pl/blog/2009/12/cacti-i-windows-2003/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 13:27:11 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Cacti]]></category>
		<category><![CDATA[SNMP]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=1374</guid>
		<description><![CDATA[Oprócz monitorowania wartości progowych różnych systemów za pomocą Nagios, pojawiła się potrzeba sprawdzania ich dobowego obciążenia. Cacti, z którym miałem już wcześniej styczność, okazał się wystarczający. Ładnie wygląda i ma dużo fajnych wodotrysków :-) Konfiguracja jest intuicyjna, przez co banalna. Wszystkie wartości, które mnie interesują można odczytać ze zdalnych systemów przez SNMP, a to daje [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cacti.net/"><img class="alignright" title="Cacti logo" src="http://www.cacti.net/images/cacti.png" alt="" width="100" height="149" /></a>Oprócz monitorowania wartości progowych różnych systemów za pomocą <a title="http://guzik.net.pl/blog/tag/nagios" href="http://guzik.net.pl/blog/tag/nagios">Nagios</a>, pojawiła się potrzeba sprawdzania ich dobowego obciążenia. <a title="http://www.cacti.net/" href="http://www.cacti.net/">Cacti</a>, z którym miałem już wcześniej styczność, okazał się wystarczający. Ładnie wygląda i ma dużo fajnych wodotrysków :-)</p>
<p>Konfiguracja jest intuicyjna, przez co banalna. Wszystkie wartości, które mnie interesują można odczytać ze zdalnych systemów przez <a title="http://pl.wikipedia.org/wiki/Simple_Network_Management_Protocol" href="http://pl.wikipedia.org/wiki/Simple_Network_Management_Protocol">SNMP</a>, a to daje duże możliwości &#8211; od przełączników sieciowych, poprzez serwery *nix i Windows do drukarek i innych urządzeń. Poniżej krótki przepis jak podłączyć system Windows do Cacti.<br />
<span id="more-1374"></span><br />
Niezbędne będzie doinstalowanie usługi SNMP (jest w składnikach Windows &#8211; Monitorowanie i zarządzanie). Można to zrobić zarówno na stacji roboczej (próbowałem na Windows XP), jak i na serwerze. Po pełny opis odsyłam do stron Microsoft: <a title="http://support.microsoft.com/default.aspx?scid=kb;en-us;324263" href="http://support.microsoft.com/default.aspx?scid=kb;en-us;324263">HOW TO: Configure the Simple Network Management Protocol (SNMP) Service in Windows Server 2003</a>.<br />
Lista plików, które są niezbędne do zainstalowania tej usługi (nie zawsze napęd jest dostępny, więc można skopiować tylko te):</p>
<ul>
<li>Microsoft Windows Server 2003 wersja 32 bit</li>
<blockquote><p><code>i386\accserv.mi_<br />
i386\authserv.mi_<br />
i386\dhcp.mi_<br />
i386\evntagnt.dl_<br />
i386\evntcmd.ex_<br />
i386\evntwin.ex_<br />
i386\ftp.mi_<br />
i386\hostmib.dl_<br />
i386\hostmib.mi_<br />
i386\http.mi_<br />
i386\inetsrv.mi_<br />
i386\ipforwd.mi_<br />
i386\lmmib2.dl_<br />
i386\lmmib2.mi_<br />
i386\mcastmib.mi_<br />
i386\mib_ii.mi_<br />
i386\mipx.mi_<br />
i386\mripsap.mi_<br />
i386\msft.mi_<br />
i386\msipbtp.mi_<br />
i386\msiprip2.mi_<br />
i386\nipx.mi_<br />
i386\rfc2571.mi_<br />
i386\smi.mi_<br />
i386\snmp.ex_<br />
i386\snmpmib.dl_<br />
i386\snmptrap.ex_<br />
i386\wfospf.mi_<br />
i386\wins.mi_<br />
</code></p></blockquote>
<li>Microsoft Windows Server 2003 wersja 64 bit</li>
<blockquote><p><code>amd64\accserv.mi_<br />
amd64\authserv.mi_<br />
amd64\dhcp.mi_<br />
amd64\evntagnt.dl_<br />
amd64\evntcmd.ex_<br />
amd64\evntwin.ex_<br />
amd64\ftp.mi_<br />
amd64\hostmib.dl_<br />
amd64\hostmib.mi_<br />
amd64\http.mi_<br />
amd64\inetsrv.mi_<br />
amd64\ipforwd.mi_<br />
amd64\lmmib2.dl_<br />
amd64\lmmib2.mi_<br />
amd64\mcastmib.mi_<br />
amd64\mib_ii.mi_<br />
amd64\mipx.mi_<br />
amd64\mripsap.mi_<br />
amd64\msft.mi_<br />
amd64\msipbtp.mi_<br />
amd64\msiprip2.mi_<br />
amd64\nipx.mi_<br />
amd64\rfc2571.mi_<br />
amd64\smi.mi_<br />
amd64\snmp.ex_<br />
amd64\snmpmib.dl_<br />
amd64\snmptrap.ex_<br />
amd64\wfospf.mi_<br />
amd64\wins.mi_<br />
i386\wsnmp.ex_<br />
</code></p></blockquote>
<li>Microsoft Windows XP Professional wersja 32 bit</li>
<blockquote><p><code>i386\accserv.mi_<br />
i386\authserv.mi_<br />
i386\dhcp.mi_<br />
i386\ftp.mi_<br />
i386\hostmib.mi_<br />
i386\http.mi_<br />
i386\inetsrv.mi_<br />
i386\ipforwd.mi_<br />
i386\lmmib2.mi_<br />
i386\mcastmib.mi_<br />
i386\mib_ii.mi_<br />
i386\mipx.mi_<br />
i386\mripsap.mi_<br />
i386\msft.mi_<br />
i386\msipbtp.mi_<br />
i386\msiprip2.mi_<br />
i386\nipx.mi_<br />
i386\smi.mi_<br />
i386\wfospf.mi_<br />
i386\wins.mi_<br />
</code></p></blockquote>
</ul>
<p>Tak jak podano we wspomnianej dokumentacji &#8211; do odczytów niezbędne będzie podanie nazwy wspólnoty (<em>community</em>) oraz hostów, z których akceptujemy żądania (w oknie właściwości usługi SNMP). I już!</p>
<p style="text-align: center;"><a href="http://guzik.net.pl/blog/wp-content/uploads/2009/12/Clipboard01.jpg"><img class="aligncenter size-medium wp-image-1382" title="Cacti" src="http://guzik.net.pl/blog/wp-content/uploads/2009/12/Clipboard01-300x121.jpg" alt="Clipboard01" width="300" height="121" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2009/12/cacti-i-windows-2003/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

