<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>おいぬま日報 &#187; Nagios</title>
	<atom:link href="http://tech.lampetty.net/tech/index.php/archives/category/nagios/feed" rel="self" type="application/rss+xml" />
	<link>http://tech.lampetty.net/tech</link>
	<description>Apache, MySQL, Perl, Python あたり</description>
	<lastBuildDate>Sun, 05 Feb 2012 12:36:09 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://tech.lampetty.net/tech/index.php/archives/category/nagios/feed" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Nagiosのメモ</title>
		<link>http://tech.lampetty.net/tech/index.php/archives/284?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nagios%25e3%2581%25ae%25e3%2583%25a1%25e3%2583%25a2</link>
		<comments>http://tech.lampetty.net/tech/index.php/archives/284#comments</comments>
		<pubDate>Wed, 18 Mar 2009 16:39:00 +0000</pubDate>
		<dc:creator>oinume</dc:creator>
				<category><![CDATA[Nagios]]></category>

		<guid isPermaLink="false">http://tech.lampetty.net/tech/?p=284</guid>
		<description><![CDATA[
		<script type="text/javascript"><!--
			show_rakuten('#book14440026', '<!-- cache --><div class="rakuten_image"><a href="http://hb.afl.rakuten.co.jp/hgc/0e871b08.72e65fa8.0e871b0a.296b5a1b/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F11126196%2F"><img src="http://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/5822/9784774145822.jpg?_ex=128x128"><br /><p class="rakuten_logo"><!-- Rakuten Web Services Attribution Snippet FROM HERE --><a href="http://webservice.rakuten.co.jp/" target="_blank"><img src="http://webservice.rakuten.co.jp/img/credit/200709/credit_4936.gif" border="0" alt="楽天ウェブサービスセンター" title="楽天ウェブサービスセンター" width="49" height="36"/></a><!-- Rakuten Web Services Attribution Snippet TO HERE --></p><font class="rakuten_warn"><a href="#" class="tooltip">[ご利用にあたって]<span>このサイトで掲載されている情報は、「おいぬま日報」の作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格が、その商品の販売に適用されます。</span></a></font></div><div class="rakuten_info"><p class="rakuten_itemname"><a href="http://hb.afl.rakuten.co.jp/hgc/0e871b08.72e65fa8.0e871b0a.296b5a1b/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F11126196%2F">【送料無料】Nagios統合監視「実践」リファレンス</a></p><p class="rakuten_caption">Software　Design　plusシリーズ 佐藤省吾 TeamーNagios 技術評論社発行年月：2011年04月 ページ数：343p サイズ：単行本 I……</p><p><em>販売価格：</em> 3360 円 <font class="rakuten_time">(12/02/9 14:16 更新)</font></p><p><em>販売店舗：</em> <a href="http://www.rakuten.co.jp/book/">楽天ブックス</a></p></div><!-- cache -->');
		// -->
		</script>
		ここ最近Nagiosを設定する機会があったのですが、なかなか設定を覚えるのに時間がかかったので備忘録的な自分へのメモ。 そもそもNagiosって？ サーバや特定のポートの死活監視を行うソフトウェア。死んでいる場合は設定し [...]]]></description>
			<content:encoded><![CDATA[
		<script type="text/javascript"><!--
			show_rakuten('#book14440026', '<!-- cache --><div class="rakuten_image"><a href="http://hb.afl.rakuten.co.jp/hgc/0e871b08.72e65fa8.0e871b0a.296b5a1b/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F11126196%2F"><img src="http://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/5822/9784774145822.jpg?_ex=128x128"><br /><p class="rakuten_logo"><!-- Rakuten Web Services Attribution Snippet FROM HERE --><a href="http://webservice.rakuten.co.jp/" target="_blank"><img src="http://webservice.rakuten.co.jp/img/credit/200709/credit_4936.gif" border="0" alt="楽天ウェブサービスセンター" title="楽天ウェブサービスセンター" width="49" height="36"/></a><!-- Rakuten Web Services Attribution Snippet TO HERE --></p><font class="rakuten_warn"><a href="#" class="tooltip">[ご利用にあたって]<span>このサイトで掲載されている情報は、「おいぬま日報」の作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格が、その商品の販売に適用されます。</span></a></font></div><div class="rakuten_info"><p class="rakuten_itemname"><a href="http://hb.afl.rakuten.co.jp/hgc/0e871b08.72e65fa8.0e871b0a.296b5a1b/?pc=http%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F11126196%2F">【送料無料】Nagios統合監視「実践」リファレンス</a></p><p class="rakuten_caption">Software　Design　plusシリーズ 佐藤省吾 TeamーNagios 技術評論社発行年月：2011年04月 ページ数：343p サイズ：単行本 I……</p><p><em>販売価格：</em> 3360 円 <font class="rakuten_time">(12/02/9 14:16 更新)</font></p><p><em>販売店舗：</em> <a href="http://www.rakuten.co.jp/book/">楽天ブックス</a></p></div><!-- cache -->');
		// -->
		</script>
		<p>ここ最近Nagiosを設定する機会があったのですが、なかなか設定を覚えるのに時間がかかったので備忘録的な自分へのメモ。</p>
<h3>そもそもNagiosって？</h3>
<p>サーバや特定のポートの死活監視を行うソフトウェア。死んでいる場合は設定した連絡先にメールを送ったりすることができます。昔はNetSaintという名前でした。</p>
<h3>インストール</h3>
<p>ソースからインストールする場合は<a href="http://umiushi.dip.jp/wordpress/linuxconfig/nagios30_02/">Nagios3.0xで監視サーバを作る &#8211; 02 Nagiosインストールの前準備</a>を参考にすると良いでしょう。</p>
<h3>用語</h3>
<ul>
<li>host: 監視対象となるサーバ、ルータなど</li>
<li>hostgroup: Webインターフェースでhostをグループ化して表示するためのもの</li>
<li>service: hostで動いているサービス。HTTP, SMTP, FTPなどのポートでLISTENしているサービスであったり、pingの応答性やディスクの空き容量などが該当する。ようは監視する対象となるもの。</li>
<li>servicegroup: Webインターフェースでserviceをグループ化して表示するためのもの</li>
<li>contact: serviceに問題がある際の通知先の定義。</li>
<li>contactgroup: 複数のcontactをグループ化したもの。serviceに問題がある場合、このcontactgroupで定義した連絡先に通知を送る。</li>
<li>timeperiod: serviceの監視を行う時間帯や問題があった時に通知を送る時間帯の定義</li>
<li>command: サービスをチェックする時のコマンドの定義</li>
</ul>
<p>servicedependencyとかserviceescalationは必要性が良くわかってないので使ってません。</p>
<h3>定義の継承</h3>
<p>監視対象のホストやサービスを定義するために</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">define host <span style="color: #7a0874; font-weight: bold;">&#123;</span>
    name hoge
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>のように定義を書きますが、このhostやserviceの定義に必要な項目がけっこう多いです。そのためか、Nagiosでは「定義の継承」という仕組みがあって、テンプレート的に不完全な定義を作っておいてそれを継承する、ということができます。</p>
<p>と書いてもわかりにくいので実際の例を書くと</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">define host <span style="color: #7a0874; font-weight: bold;">&#123;</span>
    name                      myserver
    notifications_enabled     <span style="color: #000000;">1</span>
    event_handler_enabled     <span style="color: #000000;">1</span>
    flap_detection_enabled    <span style="color: #000000;">1</span>
    process_perf_data         <span style="color: #000000;">1</span>
    retain_status_information <span style="color: #000000;">1</span>
    retain_nonstatus_information <span style="color: #000000;">1</span>
    check_command             check-host-alive
    max_check_attempts        <span style="color: #000000;">3</span>
    notification_interval     <span style="color: #000000;">20</span>
    notification_period       24x7
    notification_options      d,u,r
    contact_groups            mycontact-group
    register <span style="color: #000000;">0</span>           ; これが重要
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>な感じで host の定義のテンプレートを作っておくと、実際の host の定義は以下のように簡潔なものになります。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">define host <span style="color: #7a0874; font-weight: bold;">&#123;</span>
    use myserver   ; use で使用するテンプレートを指定
    host_name localhost
    <span style="color: #7a0874; font-weight: bold;">alias</span> localhost
    address 127.0.0.1
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>Nagiosの設定項目は多岐にわたるので、このような定義の継承の仕組みは、設定の記述を簡略化する目的では非常に便利です。</p>
<h3>設定ファイルの構造</h3>
<p>Nagiosが例えば /usr/local/nagios にインストールされている場合、設定ファイルはetc/nagios.cfg になります。下記のように cfg_dir=hogehoge.cfg という感じで、このファイルからさらに色々なファイルをインクルードしています。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">cfg_file</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>nagios<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>objects<span style="color: #000000; font-weight: bold;">/</span>commands.cfg
<span style="color: #007800;">cfg_file</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>nagios<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>objects<span style="color: #000000; font-weight: bold;">/</span>contacts.cfg
<span style="color: #007800;">cfg_file</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>nagios<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>objects<span style="color: #000000; font-weight: bold;">/</span>timeperiods.cfg
<span style="color: #007800;">cfg_file</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>nagios<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>objects<span style="color: #000000; font-weight: bold;">/</span>templates.cfg</pre></div></div>

<p>自分はデフォルトの設定ファイルを汚したくないので</p>
<ul>
<li>objects/mycommands.cfg: 独自のcommandを定義しているファイル</li>
<li>myconfig.cfg: hostやserviceの定義のテンプレート+contactgroupの定義</li>
<li>hosts/localhost.cfg: localhostのhost, serviceの設定</li>
</ul>
<p>という風にファイルを作ってこれらを nagios.cfg からインクルードしています。</p>
<h3>追加で定義しているコマンド</h3>
<p>httpsとmemcached(ポート11211)を監視するコマンドを自分用に追加しています。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># 'check_https' command definition</span>
define <span style="color: #7a0874; font-weight: bold;">command</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
    command_name    check_https
    command_line    <span style="color: #007800;">$USER1</span>$<span style="color: #000000; font-weight: bold;">/</span>check_http <span style="color: #660033;">-I</span> <span style="color: #007800;">$HOSTADDRESS</span>$ <span style="color: #007800;">$ARG1</span>$ <span style="color: #660033;">-S</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># 'check_memcached' command definition</span>
define <span style="color: #7a0874; font-weight: bold;">command</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
    command_name    check_memcached
    command_line    <span style="color: #007800;">$USER1</span>$<span style="color: #000000; font-weight: bold;">/</span>check_tcp <span style="color: #660033;">-H</span> <span style="color: #007800;">$HOSTADDRESS</span>$ <span style="color: #660033;">-p</span> <span style="color: #000000;">11211</span> <span style="color: #660033;">-t</span> <span style="color: #000000;">5</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<h3>まとめ</h3>
<p>Nagiosは設定項目が複雑な分色々とカスタマイズできるので、あらゆる類のサービスの監視ができるでしょう。また、バージョンも3になって機能的にも非常に枯れたソフトウェアになっているので、割と安心して使えるものだなと感じました。</p>
<p><div id="book14440026" class="rakuten_details">Now Loading...</div></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.lampetty.net/tech/index.php/archives/284/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://tech.lampetty.net/tech/index.php/archives/284" />
	</item>
	</channel>
</rss>

