<?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; Nagios</title>
	<atom:link href="http://guzik.net.pl/blog/tag/nagios/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>Monitoring sinusoidy czyli Nagios i dynamicznie zmieniające się progi</title>
		<link>http://guzik.net.pl/blog/2011/09/monitoring-sinusoidy-czyli-nagios-i-dynamicznie-zmieniajace-sie-progi/</link>
		<comments>http://guzik.net.pl/blog/2011/09/monitoring-sinusoidy-czyli-nagios-i-dynamicznie-zmieniajace-sie-progi/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 21:00:24 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[check_oracle_health]]></category>
		<category><![CDATA[Nagios]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=3339</guid>
		<description><![CDATA[Co zrobić gdy monitorowane wartości zmieniają się w czasie i to w dodatku o kilka rzędów wielkości? Raczej nie mamy dużego pola manewru &#8211; ja w większości używanych wtyczek do Nagios nie znalazłem niczego poza sztywnymi zakresami. Rozpatrzmy przypadek ruchu sieciowego przechodzącego przez jedną z maszyn. Wykres poniżej: Jak widać w nocy ruch jest mniejszy, [...]]]></description>
			<content:encoded><![CDATA[<p>Co zrobić gdy monitorowane wartości zmieniają się w czasie i to w dodatku o kilka rzędów wielkości? Raczej nie mamy dużego pola manewru &#8211; ja w większości używanych wtyczek do Nagios nie znalazłem niczego poza sztywnymi zakresami.</p>
<p>Rozpatrzmy przypadek ruchu sieciowego przechodzącego przez jedną z maszyn.<span id="more-3339"></span> Wykres poniżej:<br />
<a href="http://guzik.net.pl/blog/wp-content/uploads/2011/09/traffic.png"><img src="http://guzik.net.pl/blog/wp-content/uploads/2011/09/traffic-300x112.png" alt="" title="traffic" width="300" height="112" class="aligncenter size-medium wp-image-3351" /></a><br />
Jak widać w nocy ruch jest mniejszy, a godziny szczytu przypadają na 10.00 &#8211; 16.00.<br />
Standardowo mamy więc następujące możliwości:<br />
a) określić wartości minimalną (noc) i maksymalną (dzień) &#8211; np. na podstawie wcześniejszych obserwacji w Cacti i użyć ich jako progów; w tym przypadku byłoby to jakoś 0 &#8211; 16 Mbps; wadą takiego rozwiązania jest to, że wykluczymy wiele anomalii &#8211; co w przypadku gdy ruch nocny wzrośnie do 10 Mbps lub w dzień spadnie do zera? nic &#8211; nie zostaniemy o tym fakcie powiadomieni,<br />
b) dopisać usługę do konfiguracji kilka razy, za każdym razem podając inne progi dla ostrzeżenia i alarmu i inne godziny monitorowania; obejście dobre, w powyższym przykładzie można wyróżnić 3 &#8211; 4 takie okresy; wada &#8211; im bardziej zróżnicowany wykres, tym więcej konfiguracji, nie mówiąc o problemach z późniejszymi zmianami.</p>
<p>Niestety nie podam ogólnych lepszych rozwiązań, bo ich nie znam, ale za to chętnie poznam Wasze sposoby na okiełznanie tego tematu.</p>
<p>Wiem natomiast jak poradzić sobie z tym problemem jeśli monitorujemy bazę (dane w bazie) Oracle za pomocą wtyczki <a href="http://labs.consol.de/lang/en/nagios/check_oracle_health/">check_oracle_health</a> od <a href="http://labs.consol.de/">ConSol Labs</a> (lub SQL Server wtyczką <a href="http://labs.consol.de/lang/en/nagios/check_mssql_health/">check_mssql_health</a>; pozostałe dwie &#8211; <a href="http://labs.consol.de/lang/en/nagios/check_mysql_health/">check_mysql_health</a> i <a href="http://labs.consol.de/lang/en/nagios/check_db2_health/">check_db2_health</a> nie mają tej funkcjonalności).</p>
<p>W sierpniu zeszłego roku (wersja wtyczki 1.6.6) pojawił się przełącznik <code>dbthresholds</code>. Dodanie go przy wywołaniu skryptu powoduje, że robione jest dodatkowe zapytanie do tabeli <code>check_oracle_health_thresholds</code>. Struktura dość prosta (Oracle):</p>
<blockquote><p><code>pluginmode varchar2(32)<br />
  name varchar2(32) NULL<br />
    warning varchar2(8) NULL<br />
      critical varchar2(8) NULL</code></p></blockquote>
<p>No to krótki opis co w której kolumnie powinno się znaleźć:</p>
<ul>
<li><code>pluginmode</code> &#8211; to co w <code>--mode</code> podczas wywołania,
</li>
<li><code>name</code> &#8211; to co w <code>name2</code> jeśli jest lub w <code>name</code> (chyba tylko pierwszy wyraz) lub jako wartość parametru <code>dbthresholds</code>; nie pamiętam kolejności sprawdzania,</li>
<li><code>warning</code> &#8211; progi dla ostrzeżenia,</li>
<li><code>critical</code> &#8211; progi dla błędu.</li>
</ul>
<p>Oczywiście <a href="http://guzik.net.pl/blog/2011/09/niepoprawna-niepelna-obsluga-zakresow-przez-check_oracle_health/">gdyby wtyczka miała pełną obsługę zakresów</a> byłoby już całkiem fajnie. Niemniej to co jest daje spore możliwości.<br />
Po pierwsze sztywną tabelę zamieńmy na widok, a <a href="http://labs.consol.de/lang/en/forum/#/discussion/79/improvement-of-db_thresholds">wtyczkę przeróbmy</a> tak:</p>
<blockquote><p><code>--- /usr/lib/nagios/plugins/check_oracle_health 2011-09-12 08:06:23.000000000 +0200<br />
+++ /tmp/check_oracle_health 2011-09-20 12:03:04.000000000 +0200<br />
@@ -4225,6 +4225,9 @@ sub set_global_db_thresholds {<br />
     if ($self->{handle}->fetchrow_array(q{<br />
         SELECT table_name FROM user_tables<br />
         WHERE table_name = 'CHECK_ORACLE_HEALTH_THRESHOLDS'<br />
 +      UNION<br />
 +       SELECT view_name FROM user_views<br />
 +       WHERE view_name = 'CHECK_ORACLE_HEALTH_THRESHOLDS'<br />
       })) {<br />
       my @dbthresholds = $self->{handle}->fetchall_array(q{<br />
           SELECT * FROM check_oracle_health_thresholds</code></p></blockquote>
<p>W tabeli można dodać dowolne kolumny &#8211; ja dodałem dzień tygodnia i godzinę, a widok tworzę z podaniem odpowiedniego warunku:</p>
<blockquote><p><code>CREATE OR REPLACE FORCE VIEW "NAGIOS"."CHECK_ORACLE_HEALTH_THRESHOLDS" ("PLUGINMODE", "NAME", "WARNING", "CRITICAL") AS<br />
  SELECT pluginmode, name, warning, critical FROM nagios.t_check_oracle_health_threshol <strong>WHERE hour = TO_CHAR(SYSDATE, 'HH24') AND dayOfWeek = TO_CHAR(SYSDATE, 'D')</strong></code></p></blockquote>
<p>Tym samym danych w tabeli mogę mieć ile chcę, a dla Nagios będzie serwowana tylko porcja odpowiadająca aktualnej godzinie w konkretny dzień tygodnia. A to oznacza, że jeśli o trzeciej w nocy spodziewamy się ruchu do 2 Mbps, to dostaniemy alarm, gdy dojdzie do 25 Mbps.</p>
<p>Monitorując temperaturę w serwerowni raczej mamy stałe zakresy, ale sprawdzając wysycenie łącza, ilość procesów czy zalogowanych użytkowników dynamicznie zmieniające się zakresy mogą nam jeszcze bardziej pomóc.</p>
<p>Życzę sukcesów w przerabianiu swoich wtyczek.</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/09/monitoring-sinusoidy-czyli-nagios-i-dynamicznie-zmieniajace-sie-progi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Niepoprawna (niepełna) obsługa zakresów przez check_oracle_health</title>
		<link>http://guzik.net.pl/blog/2011/09/niepoprawna-niepelna-obsluga-zakresow-przez-check_oracle_health/</link>
		<comments>http://guzik.net.pl/blog/2011/09/niepoprawna-niepelna-obsluga-zakresow-przez-check_oracle_health/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 05:00:36 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[check_oracle_health]]></category>
		<category><![CDATA[Nagios]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=3343</guid>
		<description><![CDATA[Piszę szerszy artykuł o wtyczce check_oracle_health od ConSol Labs i w czasie testów zauważyłem, że obsługa zakresów jest niepoprawna, a w zasadzie nie w pełni zaimplementowana. W wersji 1.7.1 jest możliwość podania progów dolnych lub górnych, nie ma możliwości podania zakresu. Na szybko moja łata na to: --- /usr/lib/nagios/plugins/check_oracle_health 2011-09-12 08:06:23.000000000 +0200 +++ /tmp/check_oracle_health    2011-09-22 [...]]]></description>
			<content:encoded><![CDATA[<p>Piszę szerszy artykuł o wtyczce <a href="http://labs.consol.de/lang/en/nagios/check_oracle_health/">check_oracle_health</a> od <a href="http://labs.consol.de/">ConSol Labs</a> i <a href="http://labs.consol.de/lang/en/forum/#/discussion/80/ranges-are-not-properly-handled">w czasie testów zauważyłem</a>, że obsługa zakresów jest niepoprawna, a w zasadzie nie w pełni zaimplementowana. W wersji 1.7.1 jest możliwość podania progów dolnych lub górnych, nie ma możliwości podania zakresu.<span id="more-3343"></span><br />
Na szybko moja łata na to:</p>
<blockquote><p><code>--- /usr/lib/nagios/plugins/check_oracle_health 2011-09-12 08:06:23.000000000 +0200<br />
+++ /tmp/check_oracle_health    2011-09-22 10:13:32.000000000 +0200<br />
@@ -4094,6 +4094,13 @@ sub check_thresholds {<br />
# warning = 10, critical = 20, warn if &gt; 10, crit if &gt; 20<br />
$level = $ERRORS{WARNING} if $value &gt; $self-&gt;{warningrange};<br />
$level = $ERRORS{CRITICAL} if $value &gt; $self-&gt;{criticalrange};<br />
+  } elsif ($self-&gt;{warningrange} =~ /(\d+):(\d+)/ &amp;&amp;<br />
+      $self-&gt;{criticalrange} =~ /(\d+):(\d+)/) {<br />
+    # warning = 78:84, critical = 70:90, warn if &lt; 78 or &gt; 84, crit if &lt; 70 or &gt; 90<br />
+    $self-&gt;{warningrange} =~ /(\d+):(\d+)/;<br />
+    $level = $ERRORS{WARNING} if $value &lt; $1 || $value &gt; $2;<br />
+    $self-&gt;{criticalrange} =~ /(\d+):(\d+)/;<br />
+    $level = $ERRORS{CRITICAL} if $value &lt; $1 || $value &gt; $2;<br />
} elsif ($self-&gt;{warningrange} =~ /(\d+):/ &amp;&amp;<br />
$self-&gt;{criticalrange} =~ /(\d+):/) {<br />
# warning = 98:, critical = 95:, warn if &lt; 98, crit if &lt; 95</code></p></blockquote>
<p>Nie jestem programistą Perl, jeśli da się to &#8216;upiększyć&#8217;, proszę o komentarz.<br />
Oczywiście można pójść dalej (i zrobię to w wolnym czasie):</p>
<ul>
<li><a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#THRESHOLDFORMAT">Nagios plug-in development guidelines -> Plugin Output for Nagios -> Threshold and ranges</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/09/niepoprawna-niepelna-obsluga-zakresow-przez-check_oracle_health/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>Icinga i Lighttpd (lub inny !Apache) pod Gentoo/Linux</title>
		<link>http://guzik.net.pl/blog/2011/05/icinga-i-lighttpd-lub-inny-apache-pod-gentoolinux/</link>
		<comments>http://guzik.net.pl/blog/2011/05/icinga-i-lighttpd-lub-inny-apache-pod-gentoolinux/#comments</comments>
		<pubDate>Wed, 11 May 2011 16:00:17 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Icinga]]></category>
		<category><![CDATA[Nagios]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=2934</guid>
		<description><![CDATA[We wpisie Nagios tips &#038; tricks wspomniałem o projekcie Icinga (fork Nagios). Próbowałem uruchomić to na Gentoo Linux (ze źródeł), ale z Lighttpd zamiast Apache. Udało się jako tako, ale nie doszedłem do etapu zrobienia własnego ebuild. Nawet nie mam dobrej instrukcji, a jedynie poniższe notatki spisane na kolanie. Może jadnak komuś się przydadzą. Ja [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://icinga.org/"><img alt="" src="http://docs.icinga.org/latest/images/logofullsize.png" class="alignleft" width="330" height="120" /></a><br />
We wpisie <a href="http://guzik.net.pl/blog/2011/01/nagios-tips-tricks-2/">Nagios tips &#038; tricks</a> wspomniałem o projekcie <a href="http://www.icinga.org/">Icinga</a> (fork <a href="http://nagios.org/">Nagios</a>). Próbowałem uruchomić to na Gentoo Linux (ze źródeł), ale z <a href="http://www.lighttpd.net/">Lighttpd</a> zamiast <a href="http://httpd.apache.org/">Apache</a>. Udało się jako tako, ale nie doszedłem do etapu zrobienia własnego <em>ebuild</em>. Nawet nie mam dobrej instrukcji, a jedynie poniższe notatki spisane na kolanie. Może jadnak komuś się przydadzą. Ja i tak zostałem jednak przy Nagios.</p>
<p>Na początek dokumentacja do przejrzenia:</p>
<ul>
<li><a href="http://docs.icinga.org/latest/en/quickstart-icinga.html">Icinga Quickstart</a></li>
<li>docs/en/quickstart-icinga.html</li>
</ul>
<p>Dodanie użytkownika <code>icinga-cmd</code> do właściwej grupy:</p>
<blockquote><p><code>/usr/sbin/usermod -a -G icinga-cmd lighttpd</code></p></blockquote>
<p>Kompilacja i instalacja:</p>
<blockquote><p><code>make cgis<br />
make install-cgis<br />
make install-html<br />
mkdir -p /etc/httpd/conf.d<br />
make install-webconf (/etc/httpd/conf.d)</code></p></blockquote>
<p>Hasło do zasobu:</p>
<blockquote><p><code>htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin (<a href="http://packages.gentoo.org/package/app-admin/apache-tools">app-admin/apache-tools</a>)</code></p></blockquote>
<p>I tu skończyłem notowanie. Nie wiem czy dalej coś specjalnego robiłem, żeby uruchomić ten system (być może dostosowanie konfiguracji Lighttpd).</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/05/icinga-i-lighttpd-lub-inny-apache-pod-gentoolinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios: check_oracle_health i tablespace-(usage&#124;free)</title>
		<link>http://guzik.net.pl/blog/2011/05/nagios-check_oracle_health-i-tablespace-usagefree/</link>
		<comments>http://guzik.net.pl/blog/2011/05/nagios-check_oracle_health-i-tablespace-usagefree/#comments</comments>
		<pubDate>Thu, 05 May 2011 20:59:44 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[check_oracle_health]]></category>
		<category><![CDATA[Nagios]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=2883</guid>
		<description><![CDATA[Być może używając dodatku check_oracle_health do Nagios zastanawiałeś się nad poprawnością wyniku testu tablespace-usage (czy tablespace-free). Wg dokumentacji zwraca ona Verbrauchter Speicherplatz im Tablespace czyli ilość zajętego miejsca w przestrzeni tabel, ale jak w takim razie traktować taką odpowiedź: OK - tbs SOMETBL usage is 2.24% &#124; 'tbs_sometbl_usage_pct'=2.24%;90;98 'tbs_sometbl_usage'=752590MB;30198988;32883343;0;33554431 'tbs_sometbl_alloc'=778240MB;;;0;33554431 Zaalokować możemy 778&#8217;240 MB, zajęte [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://nagios.com/"><img class="alignright" title="Nagios" src="http://assets.nagios.com/images/header/Nagios.png" alt="" width="212" height="50" /></a>Być może używając dodatku <a href="http://labs.consol.de/lang/de/nagios/check_oracle_health/">check_oracle_health</a> do <a href="http://nagios.org/">Nagios</a> zastanawiałeś się nad poprawnością wyniku testu <code>tablespace-usage</code> (czy <code>tablespace-free</code>). Wg dokumentacji zwraca ona <em>Verbrauchter Speicherplatz im Tablespace</em> czyli ilość zajętego miejsca w przestrzeni tabel, ale jak w takim razie traktować taką odpowiedź:</p>
<blockquote><p><code>OK - tbs SOMETBL usage is 2.24% | 'tbs_sometbl_usage_pct'=2.24%;90;98 'tbs_sometbl_usage'=752590MB;30198988;32883343;0;33554431 'tbs_sometbl_alloc'=778240MB;;;0;33554431</code></p></blockquote>
<p><code> </code><br />
Zaalokować możemy 778&#8217;240 MB, zajęte mamy już 752&#8217;590 MB, ale procentowa zajętość to 2,24 %? Otóż zapytanie formatując wynik bierze pod uwagę również kolumnę <code>autoextensible</code> i <code>maxbytes</code> z <code>dba_data_files</code>. Jeśli przestrzeń może się rozszerzać, to do 32 GB dla każdego pliku danych (lub 32 TB w przypadku <code>bigfile tablespace</code>) i to właśnie jest 100% &#8211; nawet niezależnie od tego czy mamy miejsce na dysku czy nie.<br />
Pytanie podobne często pojawia się na forum (i w komentarzach przy dodatku), więc wymaga wyjaśnienia. Ja sam też się nad nim jakiś czas zastanawiałem &#8211; stąd w ogóle ten wpis.<span id="more-2883"></span></p>
<p>Co zrobić, jeśli jednak chcemy zignorować <code>autoextensible</code>? Powodem może być problem z wydajnością bazy podczas rozszerzania, bo zazwyczaj trafi to w najmniej oczekiwanym momencie (w godzinach największego obciążenia). Najprościej zmodyfikować zapytanie. Zaczyna się od linii 2693, a właściwy wiersz to 2710:</p>
<blockquote><p><code>SUM(DECODE(a.autoextensible, 'YES', a.maxbytes, 'NO', a.bytes)) maxbytes</code></p></blockquote>
<p>Zmieniona postać może wyglądać po prostu tak:</p>
<blockquote><p><code>SUM(a.bytes) maxbytes</code></p></blockquote>
<p>Fajnie, jakby był do tego mimo wszystko jakiś przełącznik. A może jest&#8230; Powyższe dotyczy wersji 9.x i nowszych. Dla Oracle 8.x (<code>DBD::Oracle::Server::return_first_server()-&gt;version_is_minimum("8.x")</code>), odpowiednia linia to 2793. Wcześniejsze wersje nie są testowane w ten sposób.</p>
<p>Sprawdzając zajętość w oparciu o możliwość rozszerzania wymaga, by kontrolowane było również miejsce na dyskach. Czasami jednak gdy zasoby są przeznaczone tylko dla bazy, dyski są wypełnione blisko 100%, więc automatyczne rozszerzanie nie zadziała, a tym samym nie dostaniemy żadnego ostrzeżenia <span style="text-decoration: underline;">przed</span> wystąpieniem problemu.</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/05/nagios-check_oracle_health-i-tablespace-usagefree/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios tips &amp; tricks [2]</title>
		<link>http://guzik.net.pl/blog/2011/01/nagios-tips-tricks-2/</link>
		<comments>http://guzik.net.pl/blog/2011/01/nagios-tips-tricks-2/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 22:52:52 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Nagios]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=2638</guid>
		<description><![CDATA[To druga część spostrzeżeń podczas pracy z Nagios. Przejrzyj też pierwszą. Bezpieczeństwo: katalog z wynikami Katalog z wynikami testów nie powinien być dostępny dla nikogo poza użytkownikiem, z którego prawami uruchomiony jest Nagios. To są wrażliwe informacje tak jak konfiguracja całego systemu. Zadbaj o nie. Bezpieczeństwo: uwierzytelnianie CGI Dostęp do konfiguracji, wyników testów i struktury [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.nagios.org/"><img class="alignright" src="http://assets.nagios.com/images/header/Nagios.png" alt="" width="212" height="50" /></a>To druga część spostrzeżeń podczas pracy z Nagios. Przejrzyj też <a title="http://guzik.net.pl/blog/2011/01/nagios-tips-tricks-1/" href="http://guzik.net.pl/blog/2011/01/nagios-tips-tricks-1/">pierwszą</a>.</p>
<ol>
<li>Bezpieczeństwo: katalog z wynikami</li>
<p>Katalog z wynikami testów nie powinien być dostępny dla nikogo poza użytkownikiem, z którego prawami uruchomiony jest Nagios. To są wrażliwe informacje tak jak konfiguracja całego systemu. Zadbaj o nie.</p>
<li>Bezpieczeństwo: uwierzytelnianie CGI</li>
<p>Dostęp do konfiguracji, wyników testów i struktury sieci dla napastnika, to spore ułatwienie w przygotowaniu ataku. Dostęp przez przeglądarkę to coś więcej niż ładne tabelki i wykresy.<span id="more-2638"></span></p>
<li>Bezpieczeństwo: pełne ścieżki w nazwach komend</li>
<p>Jeśli chcemy mieć pewność, że uruchamiamy właściwy skrypt / program przy wykonywaniu testów, podajmy w konfiguracji (<code>commands.cfg</code>) pełne ścieżki.</p>
<li>Bezpieczeństwo: zabezpieczony dostęp do agentów</li>
<p>Jeśli na monitorowanych serwerach używamy agentów (NRPE, NSClient, SNMP), ograniczmy do nich dostęp. Komunikacja odbywa się z wykorzystaniem SSL (wyłączając SNMP), ale bez uwierzytelniania przy pomocy użytkownika i hasła.</p>
<li>Testy aktywne (<code>active checks</code>) vs. pasywne (<code>passive</code>)</li>
<p>Aktywny test wykonywany jest przez system Nagios + odpowiedni plugin. Test pasywny wykonuje zewnętrzny program, a swój wynik dostarcza do Nagios. W dużych środowiskach może to mieć wpływ na wydajność i zalecane jest sprawdzanie pasywne.</p>
<li>Jeśli uda się naprawić problem, zawsze zostaniemy o tym powiadomieni</li>
<p>Jeśli dostaliśmy komunikat <code>[d]own</code>, niezależnie od schematu czasowego po naprawie usterki dostaniemy <code>[r]ecovery</code>.</p>
<li>Częste zmiany stanu</li>
<p>Zmieniające się stany (<code>state flapping</code>) spowodowane są rzeczywistymi problemami monitorowanego środowiska lub błędną konfiguracją. <a title="http://nagios.sourceforge.net/docs/3_0/flapping.html" href="http://nagios.sourceforge.net/docs/3_0/flapping.html">Twórcy Nagios&#8217;a opracowali algorytm</a> pomagający to wykrywać.</p>
<li>Jak informować</li>
<p>Dane wpisane w dyrektywach kontaktów, jak: <code>email, pager, address[1-6]</code>, wykorzystywane są przez <code>notification_command</code>, więc to od nas zależy jak zostaną wykorzystane, ale podawajmy logiczne wartości, byśmy sami nie mieli problemów ze zorientowaniem się o co chodzi.</p>
<li>Poprawianie czytelności raz jeszcze</li>
<p>* (wszystko) i ! (negacja) skraca zapisy. Jeśli chcesz, możesz również użyć wyrażeń regularnych (<code>use_regexp_matching</code>).</p>
<li>Planowane wyłączenie usług</li>
<p>Jeśli planujesz wyłączenie serwera np. na czas czyszczenia czy aktualizacji oprogramowania, zaplanuj to. System nie będzie rozsyłał zbędnych raportów. Jeśli np. Twój ISP informuje Cię o czasowym odłączeniu od sieci, które jest niezbędne do przeprowadzenia konserwacji i zapewnia Cię, że nie potrwa to dłużej jak godzinę, sprawdź go.</p>
<li>Monitorowanie klastrów</li>
<p>Nagios wspiera monitorowanie klastrów (poprzez wtyczkę <code>check_cluster</code>). Klastrów w rozumieniu wielu serwerów świadczących tą samą usługę, na które jest rozkładany ruch (np. DNS czy bramy pocztowe). Test ten to nic innego jak sprawdzenie wyników testów usług na poszczególnych serwerach składowych. Jako progi dla ostrzeżeń i alarmów ustawiamy ilość składowych, które nie działają.</p>
<li>Połączenie z innym oprogramowaniem</li>
<p>Dzięki NDOUtils konfigurację Nagios możemy przechowywać w bazie MySQL. NDOUtils jest niezbędne przy wielu dodatkach.</p>
<li>Właściwe powiadamianie</li>
<p>Powiadamianie za pomocą poczty elektronicznej jest mało skuteczne. Zwłaszcza gdy awarii ulegnie serwer pocztowy lub ma zapchaną kolejkę. Nie zawsze jesteśmy też przy kliencie poczty, więc nie mamy możliwości odczytania wiadomości. Jeśli to możliwe, skorzystajmy z alternatywnego kanału komunikacji &#8211; np. SMS (pager chyba u nas jest mało popularny).<br />
Wykorzystać też możemy dodatek do przeglądarki (np. <a title="https://addons.mozilla.org/firefox/3607/" href="https://addons.mozilla.org/firefox/3607/">Nagios checker</a>), samodzielną mini-aplikację czy komunikator (np. gadu-gadu czy jabber).</p>
<li>Nagios to nie wszystko</li>
<p>Są ludzie, którzy narzekają na brak rozwoju Nagios lub prowadzenie prac w złym kierunku. Tacy ludzie robią odgałęzienia projektu (fork). Jednym z nich jest <a title="http://www.icinga.org/about/" href="http://www.icinga.org/about/">ICINGA</a>. Ładniej wygląda, zapewnia kompatybilność konfiguracji i ma czytelniejszą mapę!</ol>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/01/nagios-tips-tricks-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nagios tips &amp; tricks [1]</title>
		<link>http://guzik.net.pl/blog/2011/01/nagios-tips-tricks-1/</link>
		<comments>http://guzik.net.pl/blog/2011/01/nagios-tips-tricks-1/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 06:00:24 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Nagios]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=2634</guid>
		<description><![CDATA[Od paru lat Nagios pomaga mi administrować środowiskiem, które się mi powierza. I robi to całkiem nieźle! Poniżej kilka moich spostrzeżeń i wskazówek dla wszystkich, którzy chcą użyć Nagios lub już go używają. Słowem wyjaśnienia &#8211; wdrażałem go raczej w małych i średnich środowiskach, więc tylko z takowymi mam doświadczenie. Tak jak w przypadku opisu [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.nagios.org/"><img class="alignleft" src="http://assets.nagios.com/images/header/Nagios.png" alt="" width="212" height="50" /></a>Od paru lat <a title="http://www.nagios.org/" href="http://www.nagios.org/">Nagios</a> pomaga mi administrować środowiskiem, które się mi powierza. I robi to całkiem nieźle! Poniżej kilka moich spostrzeżeń i wskazówek dla wszystkich, którzy chcą użyć Nagios lub już go używają.<br />
Słowem wyjaśnienia &#8211; wdrażałem go raczej w małych i średnich środowiskach, więc tylko z takowymi mam doświadczenie.<br />
Tak jak w przypadku <a title="http://guzik.net.pl/blog/2011/01/zestaw-ciekawych-narzedzi-z-sysinternals/" href="http://guzik.net.pl/blog/2011/01/zestaw-ciekawych-narzedzi-z-sysinternals/">opisu narzędzi Sysinternals</a>, miała to być prelekcja podczas spotkania <a title="http://mlug.eu/" href="http://mlug.eu/">MLUG</a>. Jeśli do takowego dojdzie, będzie można zobaczyć to w praktyce.</p>
<ol>
<li>Nagios na osobnym serwerze tak, by nie zależał od środowiska, które monitoruje</li>
<p>To dość oczywiste, ale w czasach popularności wirtualizacji instalujemy system monitoringu gdzieś, gdzie da się go jeszcze upchnąć przydzielając minimum zasobów. System radzi sobie świetnie, bo wiele nie wymaga, ale czasami na wyniki jego testów mają wpływ inne maszyny wirtualne pracujące równolegle na tym samym <em>hypervisor</em>&#8216;ze (I/O, sieć). Warto to wziąć pod uwagę instalując system.<span id="more-2634"></span></p>
<li>Nie monitoruj tylko z wewnątrz, wykorzystaj &#8216;satelity&#8217;</li>
<p>Fakt, że serwer HTTP działa nie wystarcza, by spać spokojnie. Ważne jest też, by był dostępny dla klientów. Monitorowanie wewnątrz LAN / DMZ ma sens, ale jego uzupełnieniem powinno być monitorowanie z poza własnej sieci (tanie dodatkowe łącze od innego ISP, instalacja w oddziale firmy, VPS lub wzajemne sprawdzanie z zaprzyjaźnionym Sysadminem).</p>
<li>Ogólne ustawienia w szablonach (<code>template</code>), szczególne w host / service</li>
<p>Dla czytelności starajmy się części wspólne konfiguracji zawierać w szablonach. Natomiast szczególne dyrektywy umieszczajmy w blokach odpowiedzialnych za usługi i hosty. Jeśli to możliwe, stosuj wykluczenia (np. <code>exclude</code> w schematach czasowych).</p>
<li>Twórz konfigurację jeszcze bardziej czytelną</li>
<p>Przyporządkowanie np. hosta do grupy można zrobić na dwa sposoby &#8211; w definicji hosta (<code>hostgroups</code>) lub w definicji grupy (<code>hosts</code>). Pierwszy sposób zwiększy ilość linii w konfiguracji, ale pozwala jednoznacznie określić który host należy do której grupy. Dziś monitorujesz kilka składników, pomyśl co będzie jak będziesz monitorował kilkaset.</p>
<li>Grupuj podobne hosty / usługi</li>
<p>Jeśli na wielu maszynach sprawdzana jest ta sama usługa (chociażby najprostsze <code>check_ping</code>) wygodniej do definicji service dodać całą grupę (<code>hostgroup_name</code>), niż n hostów (<code>host_name</code>).</p>
<li>Nie używaj znaków specjalnych w nazwach</li>
<p>To działa, ale mogą być problemy. Nagios dokonuje powiązań właśnie po nazwach. Jeśli chcesz opisać usługę jako &#8222;Serwer WWW (dla klientów)&#8221; &#8211; użyj aliasów.</p>
<li>Sprawdź konfigurację wszystkich składników zanim zaczniesz pracę z Nagios</li>
<p><a title="http://www.varlog.pl/2010/11/dostales-serwer-w-spadku/" href="http://www.varlog.pl/2010/11/dostales-serwer-w-spadku/">Sprawdź konfigurację po poprzednim administratorze</a>, ale zajrzyj też do domyślnych ustawień. Widziałeś zapis &#8222;<em>Linux admins hate to be woken up, so we only notify during the day</em>&#8221; w szablonie <code>linux-server</code>?</p>
<li>Nie dręcz się zbytnio</li>
<p>Jeśli znasz swoją sieć, wyłącz komunikaty <code>[u]nreachable</code>. Każdy serwer za wyłączonym przełącznikiem jest nieosiągalny. Pamiętaj jednak, że naprawa takiego przełącznika ma wyższy priorytet.</p>
<li>Relacje vs. zależności</li>
<p>Nagios umożliwia definiowanie relacji (<code>parent/child relationship</code>) i zależności (<code>dependencies</code>). Te pierwsze mają jedynie wpływ na powiadomienia <code>[d]own</code> i <code>[u]nreachable</code> (ale w dużym środowisku i tak nie poprawiają czytelności mapy). Drugie to zaawansowane podejście do monitoringu umożliwiające określanie warunków dla których ma wystąpić powiadomienie w przypadku gdy host / usługa zależy od innych czynników.</p>
<li>Usługi mogą zależeć od usług na innych hostach</li>
<p>To daje nam możliwość dokładnego odwzorowania środowiska. Np. serwer POP3  na serwerze A uwierzytelnia użytkowników korzystając z danych w bazie SQL zainstalowanej na serwerze B.</p>
<li>Zależności usług mogą być czasowe (<code>dependency_period</code>)</li>
<p>Ta opcja najbardziej przydatna jest w okienkach backupowych. np. poprawne wykonanie kopii zależy od dostępności macierzy A, napędu taśmowego N i przełączników X oraz Y. Ale tylko w weekend.</p>
<li>Własne dyrektywy dla <code>host / service</code></li>
<p>Jeśli chcemy użyć dyrektyw specyficznych dla konkretnej usługi lub hosta, a nie są one zdefiniowane (jak adres IP), możemy je dodawać samodzielnie ustawiając jako <code>_zmienna</code>, a używając dalej po podaniu <code>$_HOSTZMIENNA$</code>.</p>
<li>Bezpieczeństwo: hasła przekazywane w komendach są widoczne</li>
<p>Jeśli podamy jako własną dyrektywę nazwę użytkownika i hasło do sprawdzania usługi, pamiętajmy, że jest to wyświetlane w interfejsie web, a co za tym idzie, może być dostępne dla osób niepowołanych. Zamiast tego skorzystajmy z możliwości zdefiniowania makra (<code>macro</code>) w pliku <code>resource.cfg</code>. Do dyspozycji mamy 32 zapisy <code>$USERn$</code>.</p>
<li>Bezpieczeństwo: nie uruchamiaj z prawami root</li>
<p>Jeśli jakiś plugin wymaga zwiększonych uprawnień, użyj <code>sudo</code> zamiast uruchamiać Nagios z prawami administratora.</ol>
<p>To pierwsza część. Następna wkrótce.</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/01/nagios-tips-tricks-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oszczędzamy czas (w kryzysie)</title>
		<link>http://guzik.net.pl/blog/2009/10/oszczedzamy-czas-w-kryzysie/</link>
		<comments>http://guzik.net.pl/blog/2009/10/oszczedzamy-czas-w-kryzysie/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 06:53:20 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[Nagios checker]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=1166</guid>
		<description><![CDATA[Jak już wszystkie blogi subskrybujemy przez RSS celem zaoszczędzenia czasu, możemy pochylić się nad takimi projektami jak nagioschecker. Jest to dodatek do przeglądarki Mozilla Firefox, który w pasku stanu (jeśli ktoś jeszcze ma tam miejsce) wyświetla ostrzeżenia i błędy z Nagios. Ilość opcji konfiguracyjnych jest imponująca, co oznacza, że projekt jest dobry ;-) Zauważyłem, że [...]]]></description>
			<content:encoded><![CDATA[<p>Jak już wszystkie blogi subskrybujemy przez <a title="http://pl.wikipedia.org/wiki/RSS" href="http://pl.wikipedia.org/wiki/RSS">RSS</a> celem zaoszczędzenia czasu, możemy pochylić się nad takimi projektami jak <a title="http://code.google.com/p/nagioschecker/" href="http://code.google.com/p/nagioschecker/">nagioschecker</a>. Jest to dodatek do przeglądarki <a title="http://www.mozilla-europe.org/pl/firefox/" href="http://www.mozilla-europe.org/pl/firefox/">Mozilla Firefox</a>, który w pasku stanu (jeśli ktoś jeszcze ma tam miejsce) wyświetla ostrzeżenia i błędy z Nagios. Ilość opcji konfiguracyjnych jest imponująca, co oznacza, że projekt jest dobry ;-)<br />
<span id="more-1166"></span><br />
<a href="http://guzik.net.pl/blog/wp-content/uploads/2009/10/nagioschecker.jpg"><img class="aligncenter size-medium wp-image-1167" title="nagioschecker" src="http://guzik.net.pl/blog/wp-content/uploads/2009/10/nagioschecker-300x225.jpg" alt="nagioschecker" width="300" height="225" /></a>Zauważyłem, że oprócz przejrzenia wiadomości e-mail i <a title="http://guzik.net.pl/blog/2009/10/usb-pci-w-domu/" href="http://guzik.net.pl/blog/2009/10/usb-pci-w-domu/">SMS</a> wysyłanych z Nagios (z tymi drugimi są jeszcze problemy, ale może to wynikać z zajętości bramki, która jest wpięta do centrali telefonicznej i na ogół cały czas obsługuje rozmowy), zazwyczaj w jednej z kart mam wyświetloną stronę Nagios, sekcja Problems. Przeglądarka uruchomiona jest przez większą część dnia, wobec czego informacje w tym miejscu są jak najbardziej widoczne i trafiające do mnie.</p>
<p>No to teraz zmykam na <a title="http://demotywatory.pl/" href="http://demotywatory.pl/">demotywatory.pl</a> i <a title="http://bash.org.pl/" href="http://bash.org.pl/">bash.org.pl</a> :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2009/10/oszczedzamy-czas-w-kryzysie/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Infratec AG: RMS 310 &#8211; nowe czujniki</title>
		<link>http://guzik.net.pl/blog/2009/10/infratec-ag-rms-310-nowe-czujniki/</link>
		<comments>http://guzik.net.pl/blog/2009/10/infratec-ag-rms-310-nowe-czujniki/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 11:47:56 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Infratec AG]]></category>
		<category><![CDATA[Nagios]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=1160</guid>
		<description><![CDATA[Zebrałem się w końcu do podłączenia kolejnych czujników do Infratec AG RMS 310 (zobacz wcześniejsze wpisy). Najprostsze było podłączenie obwodów zasilania &#8211; urządzenie może testować maksymalnie trzy. MIB&#8217;y z grupy: .1.3.6.1.4.1.1909.10.6.1.1.3, zwracają INTEGER. Skrypt do Nagios, którego używam &#8211; check_infratec_rms.pl, jako domyślne zakresy definiuje 215 &#8211; 250 [V] dla ostrzeżenia i 210 &#8211; 255 [V] [...]]]></description>
			<content:encoded><![CDATA[<p>Zebrałem się w końcu do podłączenia kolejnych czujników do Infratec AG RMS 310 (zobacz <a title="http://guzik.net.pl/blog/tag/infratec-ag/" href="http://guzik.net.pl/blog/tag/infratec-ag/">wcześniejsze wpisy</a>).</p>
<p>Najprostsze było podłączenie obwodów zasilania &#8211; urządzenie może testować maksymalnie trzy. MIB&#8217;y z grupy: <code>.1.3.6.1.4.1.1909.10.6.1.1.3</code>, zwracają <code>INTEGER</code>. Skrypt do Nagios, którego używam &#8211; <a title="http://exchange.nagios.org/directory/Plugins/Hardware/Environmental/check_infratec_rms/details" href="http://exchange.nagios.org/directory/Plugins/Hardware/Environmental/check_infratec_rms/details">check_infratec_rms.pl</a>, jako domyślne zakresy definiuje 215 &#8211; 250 [V] dla ostrzeżenia i 210 &#8211; 255 [V] dla błędu. Działa dobrze i nie było problemów.<br />
<span id="more-1160"></span><br />
<img class="alignleft" title="ESSER 761362" src="http://en.esser-systems.de/_media/005/078/00057844_0.jpg" alt="" width="149" height="136" />Kolejny etap to podłączenie czujnika dymu RMS-SS (<a title="http://en.esser-systems.de/Fire.603+M5f7a93a0ca4.0.html" href="http://en.esser-systems.de/Fire.603+M5f7a93a0ca4.0.html">ESSER 761362</a>), który korzysta z portu alert-in. Trzeba pamiętać, że zdarzenie powoduje zmianę stanu portu, ale powrót do stanu pierwotnego należy wykonać ręcznie.<br />
W tym przypadku MIB&#8217;y z grupy <code>.1.3.6.1.4.1.1909.10.2.2.1</code>. Oprócz nazw (<code>.2</code>) mamy stan (<code>.3</code>), czas od ostatniej zmiany (<code>.4</code>) i ilość zmian stanu (<code>.5</code>). Wspomniany skrypt po 60 sekundach zgłasza błąd (ostrzeżenie, jak mniemam celowo, ustawione jest na 900 sekund, czyli powyżej błędu). Dla tego czujnika trzeba zmienić rozpoznawanie stanu za pomocą parametru <code>-i on</code>.<br />
Testy przy użyciu palącego kolegi i jednego papierosa potwierdziły poprawne działanie urządzenia.</p>
<p><img class="alignright" title="Pyronix" src="http://www.pyronix.com/images/products/kx1.gif" alt="" width="60" height="70" />Na jutro zostawiam czujnik otwarcia drzwi (<a title="http://www.meder.com/reed-sensor-mk02-uk.html" href="http://www.meder.com/reed-sensor-mk02-uk.html">MEDER electronic MK02/0-1A66-4000W</a>; symbolu Infratec AG nie znam) i detektor ruchu (<a title="http://www.pyronix.com/php/web/subCat1.php?conf3=P%20I%20R" href="http://www.pyronix.com/php/web/subCat1.php?conf3=P%20I%20R">Pyronix seria KX</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2009/10/infratec-ag-rms-310-nowe-czujniki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nagios: check_mysql-replication.pl</title>
		<link>http://guzik.net.pl/blog/2009/10/nagios-check_mysql-replication-pl/</link>
		<comments>http://guzik.net.pl/blog/2009/10/nagios-check_mysql-replication-pl/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 11:27:49 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[check_mysql-replication]]></category>
		<category><![CDATA[Nagios]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=1139</guid>
		<description><![CDATA[Do monitorowania replikacji MySQL pod Nagios postanowiłem użyć wtyczki mysql_check-replication.pl, ktrej autorem jest Erwan Labynocle Ben Souiden. Instrukcja mówi o nadaniu prawa REPLICATION CLIENT użytkownikowi, który łączył się będzie z bazą. Sam skrypt napisany jest w Perl, gdzie w DSN podana jest baza, do której użytkownik będzie się podłączał. Wspomniane prawa dają tylko możliwość wywołania [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://nagios.org/"><img class="alignright" title="Nagios logo" src="http://assets.nagios.com/images/header/Nagios.png" alt="" width="212" height="50" /></a>Do monitorowania <a title="http://dev.mysql.com/doc/refman/5.0/en/replication.html" href="http://dev.mysql.com/doc/refman/5.0/en/replication.html">replikacji MySQL</a> pod <a title="http://nagios.org/" href="http://nagios.org/">Nagios</a> postanowiłem użyć <a title="http://exchange.nagios.org/directory/Plugins/Databases/MySQL/check_mysql%252Dreplication-2Epl/details" href="http://exchange.nagios.org/directory/Plugins/Databases/MySQL/check_mysql%252Dreplication-2Epl/details">wtyczki mysql_check-replication.pl</a>, ktrej autorem jest <a title="http://www.aleikoum.net/" href="http://www.aleikoum.net/">Erwan Labynocle Ben Souiden</a>. Instrukcja mówi o nadaniu prawa <a title="http://dev.mysql.com/doc/refman/5.0/en/privileges-provided.html#priv_replication-client" href="http://dev.mysql.com/doc/refman/5.0/en/privileges-provided.html#priv_replication-client">REPLICATION CLIENT</a> użytkownikowi, który łączył się będzie z bazą. Sam skrypt napisany jest w <a title="http://www.perl.org/" href="http://www.perl.org/">Perl</a>, gdzie w DSN podana jest baza, do której użytkownik będzie się podłączał. Wspomniane prawa dają tylko możliwość wywołania <a title="http://dev.mysql.com/doc/refman/5.0/en/show-master-status.html" href="http://dev.mysql.com/doc/refman/5.0/en/show-master-status.html">SHOW MASTER STATUS</a> oraz <a title="http://dev.mysql.com/doc/refman/5.0/en/show-slave-status.html" href="http://dev.mysql.com/doc/refman/5.0/en/show-slave-status.html">SHOW SLAVE STATUS</a> i nie dają praw do <span style="text-decoration: underline;">żadnej</span> bazy. Tym samym skrypt się nie wykona.</p>
<p>Proponuję (wersja 0.1) przerobić DSN (linia 298) i wyrzucić nazwę bazy zupełnie (pozostawić `:&#8217; &#8211; dwukropek) lub zmienić nazwę na <a title="http://dev.mysql.com/doc/refman/5.0/en/information-schema.html" href="http://dev.mysql.com/doc/refman/5.0/en/information-schema.html"><code>information_schema</code></a>, bo do tego prawo ma każdy użytkownik (dla wersji &gt; 5.0).</p>
<blockquote><p><code>--- /usr/lib64/nagios/plugins/check_mysql-replication.pl        2009-10-22 13:17:26.000000000 +0200<br />
+++ check_mysql-replication.pl  2009-10-22 13:17:33.000000000 +0200<br />
@@ -295,7 +295,7 @@ EOT<br />
# ------------------------------<br />
sub request_executor() {<br />
my ($host,$port,$user,$pwd,$request) = @_;<br />
-    my $dsn = "DBI:mysql:mysql;host=$host:$port";<br />
+    my $dsn = "DBI:mysql:;host=$host:$port";<br />
my $dbh = DBI-&gt;connect($dsn, $user, $pwd) or die "connexion failed $DBI::errstr\n";<br />
my $sth = $dbh-&gt;prepare($request);<br />
$sth-&gt;execute();</code></p></blockquote>
<p>Autor obiecał, że wprowadzi stosowną poprawkę &#8211; tymczasem można łatać.</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2009/10/nagios-check_mysql-replication-pl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

