<?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>SeedsLight</title>
	<atom:link href="http://seedslight.com/wp/feed" rel="self" type="application/rss+xml" />
	<link>http://seedslight.com/wp</link>
	<description>Server and Development Blog</description>
	<lastBuildDate>Tue, 10 Apr 2012 21:09:33 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>ZabbixでCPUやメモリなどのリソーストリガーが発生した時にpsやtopの状態を記録するスクリプト</title>
		<link>http://seedslight.com/wp/archives/218</link>
		<comments>http://seedslight.com/wp/archives/218#comments</comments>
		<pubDate>Tue, 10 Apr 2012 17:04:02 +0000</pubDate>
		<dc:creator>Ryuji Ebine</dc:creator>
				<category><![CDATA[UNIXserver]]></category>
		<category><![CDATA[zabbix]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[シェルスクリプト]]></category>

		<guid isPermaLink="false">http://seedslight.com/wp/?p=218</guid>
		<description><![CDATA[Zabbixで監視をしている時、リソーストリガーで障害メールを出すようにしていることが多いけれど、 実際午前3時に何のプロセスが動いているのかという事は、 ログを確認したり、実際に起きていないとわからないことのほうが多か [...]]]></description>
			<content:encoded><![CDATA[<p>
Zabbixで監視をしている時、リソーストリガーで障害メールを出すようにしていることが多いけれど、<br />
実際午前3時に何のプロセスが動いているのかという事は、<br />
ログを確認したり、実際に起きていないとわからないことのほうが多かった。<br />
<br />
そこで、自動的にpsやtopの出力をファイルに書き出すようなスクリプトを作って、<br />
リソーストリガーでメールと、このスクリプトを起動するようなアクションを組んでみた。という備忘録。<br />
<br />

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #007800;">TIME</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>Y<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">%</span>d-<span style="color: #000000; font-weight: bold;">%</span>H<span style="color: #000000; font-weight: bold;">%</span>M<span style="color: #000000; font-weight: bold;">%</span>S<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">TXT_DIR</span>=<span style="color: #ff0000;">'/tmp/zabbix_check_pstop'</span>
<span style="color: #007800;">UNAME_</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">which</span> <span style="color: #c20cb9; font-weight: bold;">uname</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">OS_</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #800000;">${UNAME_}</span> -a<span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># txt directory create</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-d</span> <span style="color: #800000;">${TXT_DIR}</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;<span style="color: #000000; font-weight: bold;">then</span>
  <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${TXT_DIR}</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># ps output</span>
<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">ps</span> auxww <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #800000;">${TXT_DIR}</span><span style="color: #000000; font-weight: bold;">/</span>ps_<span style="color: #800000;">${TIME}</span>.txt
&nbsp;
<span style="color: #666666; font-style: italic;"># top output and erase</span>
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #800000;">${OS_}</span> <span style="color: #000000; font-weight: bold;">in</span>
  <span style="color: #000000; font-weight: bold;">*</span>FreeBSD<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
    <span style="color: #666666; font-style: italic;">#echo 'FreeBSD'</span>
    <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>top <span style="color: #660033;">-b</span> <span style="color: #660033;">-d</span> <span style="color: #000000;">1</span> <span style="color: #000000;">60</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #800000;">${TXT_DIR}</span><span style="color: #000000; font-weight: bold;">/</span>top_<span style="color: #800000;">${TIME}</span>.txt
    <span style="color: #666666; font-style: italic;"># erase old files</span>
    <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #800000;">${TXT_DIR}</span> <span style="color: #660033;">-mtime</span> +<span style="color: #000000;">30</span> <span style="color: #660033;">-type</span> f <span style="color: #660033;">-exec</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> \;
    <span style="color: #000000; font-weight: bold;">;;</span>
  <span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
    <span style="color: #666666; font-style: italic;">#echo 'default'</span>
    <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>top <span style="color: #660033;">-b</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #800000;">${TXT_DIR}</span><span style="color: #000000; font-weight: bold;">/</span>top_<span style="color: #800000;">${TIME}</span>.txt
    <span style="color: #666666; font-style: italic;"># erase old files</span>
    <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>tmpwatch <span style="color: #000000;">720</span> <span style="color: #800000;">${TXT_DIR}</span>
    <span style="color: #000000; font-weight: bold;">;;</span>
<span style="color: #000000; font-weight: bold;">esac</span></pre></td></tr></table></div>

<br />
<br />
<br />
僕の関わっているシステムはRedhat系LinuxとFreeBSD混在環境が多いため、こんな感じで1つのスクリプトにまとめている。</p>
]]></content:encoded>
			<wfw:commentRss>http://seedslight.com/wp/archives/218/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apacheベーシック認証Satisfyとプロクシー</title>
		<link>http://seedslight.com/wp/archives/215</link>
		<comments>http://seedslight.com/wp/archives/215#comments</comments>
		<pubDate>Mon, 27 Feb 2012 08:35:45 +0000</pubDate>
		<dc:creator>Ryuji Ebine</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[UNIXserver]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://seedslight.com/wp/?p=215</guid>
		<description><![CDATA[今まで、ベーシック認証の制御というとSatisfy Any を利用して、特定のIPアドレスからはベーシック認証なし、それ以外はベーシック認証という形で運用することが多かった。 特に、開発サイトや公開前のチェックや構築中で [...]]]></description>
			<content:encoded><![CDATA[<p>
今まで、ベーシック認証の制御というとSatisfy Any を利用して、特定のIPアドレスからはベーシック認証なし、それ以外はベーシック認証という形で運用することが多かった。<br />
特に、開発サイトや公開前のチェックや構築中で自分とお客さんのIPだけを許可していたり。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">        <span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
        <span style="color: #00007f;">Satisfy</span> Any
        <span style="color: #adadad; font-style: italic;">#Allow from all</span>
        <span style="color: #adadad; font-style: italic;"># system</span>
        <span style="color: #00007f;">Allow</span> from 127.0.0.1 10.0.0.1 10.0.0.2
        <span style="color: #adadad; font-style: italic;"># client</span>
        <span style="color: #00007f;">Allow</span> from 61.111.111.111
        <span style="color: #adadad; font-style: italic;"># develop</span>
        <span style="color: #00007f;">Allow</span> from 61.100.100.100 61.100.100.101
&nbsp;
        <span style="color: #00007f;">authtype</span> basic
        .......</pre></div></div>

<br />
<br />
<br />
こんな形だったのだが、途中にロードバランサーがシングルネットワークで入ったり、融通の利かないプロクシーサーバが入ったりして接続元のIPアドレスが失われ、1つのネットワーク機器やローカルのIPアドレスでしか接続されないという事象になったので、この設定を変更することに。<br />
<span id="more-215"></span><br />
<br />

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">        <span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
        <span style="color: #00007f;">Satisfy</span> Any
        <span style="color: #adadad; font-style: italic;">#Allow from all</span>
        <span style="color: #adadad; font-style: italic;"># system</span>
        <span style="color: #00007f;">Allow</span> from 127.0.0.1 10.0.0.1 10.0.0.2
        <span style="color: #adadad; font-style: italic;"># for proxy route</span>
        <span style="color: #00007f;">SetEnvif</span> X-Forwarded-For 61.111.111.111 allow_ip
        <span style="color: #00007f;">SetEnvif</span> X-Forwarded-For 61.100.100.100 allow_ip
        <span style="color: #00007f;">SetEnvif</span> X-Forwarded-For 61.100.100.101 allow_ip
        <span style="color: #00007f;">Allow</span> from env=allow_ip
&nbsp;
        <span style="color: #00007f;">authtype</span> basic
        .......</pre></div></div>

<br />
<br />
<br />
こんな感じでローカルIP以外のグローバルは「X-Forwarded-For」の環境変数で判定することにした。もっとも、融通が利かないプロクシーの中でも、この環境変数すらつけてくれないような超融通が利かないやつもいるかもしれないので、万能ではないだろうけれど。<br />
<br />
もし、Apacheでリバースプロクシーとか組んでいるなら、<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&lt;proxy &gt; &lt;/proxy&gt;</pre></div></div>

<br />
 とかいうタグが使えるらしいので、そっちでやれればいいのにとか思ったり。<br />
<br />
もっというなら、元IP出すようにパケット再構築してほしいと思ったけれど、equalizerとかはデュアルネットワークじゃないとダメだったような気がするので、前言を翻して・・・言わない。<br />
<br />
■参考<br />
<a href="http://ja.wikipedia.org/wiki/X-Forwarded-For" title="X-Forwarded-For" target="_blank">WikipediaのX-Forwarded-For</a></p>
]]></content:encoded>
			<wfw:commentRss>http://seedslight.com/wp/archives/215/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zabbixでsnmptrapdを使い、VMwareのホストから受信(zabbixスクリプト編　その2)</title>
		<link>http://seedslight.com/wp/archives/213</link>
		<comments>http://seedslight.com/wp/archives/213#comments</comments>
		<pubDate>Sat, 18 Feb 2012 13:41:33 +0000</pubDate>
		<dc:creator>Ryuji Ebine</dc:creator>
				<category><![CDATA[UNIXserver]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[zabbix]]></category>
		<category><![CDATA[snmptrapd]]></category>

		<guid isPermaLink="false">http://seedslight.com/wp/?p=213</guid>
		<description><![CDATA[Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その1)これと Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その2)これと Za [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://seedslight.com/wp/archives/206" title="Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その1)">Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その1)</a>これと<br />
<a href="http://seedslight.com/wp/archives/208" title="Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その2)">Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その2)</a>これと<br />
<a href="http://seedslight.com/wp/archives/211" title="Zabbixでsnmptrapdを使い、VMwareのホストから受信(zabbixスクリプト編　その1)">Zabbixでsnmptrapdを使い、VMwareのホストから受信(zabbixスクリプト編　その1)</a>これの続き。<br />
<br />
前回はVMwareのホストから出てくるsnmptrapdの出力が日本語HEXだったという発見ができたというところまで。<br />
<br />
<h3>■日本語HEXの逆変換</h3>
<br />
では、日本語HEX逆変換をするには？という事で探したら、xxd というものが見つかった。<br />
<a href="http://oss.timedia.co.jp/show/MySQL%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AE%E6%97%85/Linux%E3%81%AE16%E9%80%B2%E3%83%80%E3%83%B3%E3%83%97%E3%83%84%E3%83%BC%E3%83%AB(od,xxd)" title="Linuxの16進ダンプツール(od,xxd)">Linuxの16進ダンプツール(od,xxd)</a><br />
<br />
さらに調べると、このxxdは単体のパッケージが見つからなかったので、vim を入れるとついてくるらしいという<br />
情報を信じて、下記のようにインストール。（OSはCentOS5.4)<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># yum install vim-common.x86_64</pre></div></div>

<br />
<br />
<br />
<span id="more-213"></span><br />
日本語HEX部分を/var/log/messages から取得してテキストファイルに落とし、コマンドで変換してみる。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># xxd -r -p /root/a.txt
snmptrapd-111 - メトリック 使用量 = 5% または メトリック 使用量 = 89% または メトリック 使用量 = 3% または メトリック 使用量 = 4% または メトリック スワップ アウト速度 = 0% または または</pre></div></div>

<br />
<br />
<br />
変換OKしかし、これをどのように使用すべきなのだろうか。<br />
<br />
<h3>■日本語HEX変換をzabbix_snmptrap.shに適用</h3>
<br />
/usr/local/bin/zabbix_snmptrap.shを変更<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">vmware1</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$vmware1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span> <span style="color: #000000; font-weight: bold;">|</span>xxd <span style="color: #660033;">-r</span> -p<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">vmware2</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$vmware2</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span> <span style="color: #000000; font-weight: bold;">|</span>xxd <span style="color: #660033;">-r</span> -p<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">vmware3</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$vmware3</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span> <span style="color: #000000; font-weight: bold;">|</span>xxd <span style="color: #660033;">-r</span> -p<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">str</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$address</span> <span style="color: #007800;">$community</span> <span style="color: #007800;">$vmware1</span> <span style="color: #007800;">$vmware2</span> <span style="color: #007800;">$vmware3</span>&quot;</span></pre></div></div>

<br />
<br />
※テストのため大胆に他の部分をカットしてある。<br />
<br />
<br />
とりあえず、zabbixに取り込まれたもの<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #ff0000;">&quot;host&quot;</span> 192.168.11.111 緑 赤 snmptrapd-<span style="color: #000000;">111</span> -</pre></div></div>

<br />
<br />
改行が入っちゃっているのかもしれない。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">'&quot;'</span> vmware3
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">'&quot;'</span> vmware4
&nbsp;
<span style="color: #007800;">vmware3</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$vmware3</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span> <span style="color: #000000; font-weight: bold;">|</span>xxd <span style="color: #660033;">-r</span> -p<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">vmware4</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$vmware4</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span> <span style="color: #000000; font-weight: bold;">|</span>xxd <span style="color: #660033;">-r</span> -p<span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #007800;">str</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$address</span> <span style="color: #007800;">$community</span> <span style="color: #007800;">$vmware1</span> <span style="color: #007800;">$vmware2</span> <span style="color: #007800;">$vmware4</span>&quot;</span></pre></div></div>

<br />
<br />
<br />
このような形に変更。read -d で区切り文字が変更できるとは知らなかった。初めて使った。<br />
<br />
/root/b.txtに得られた値(/tmp/zabbix_vmware.output)<br />
/root/a.shに抜粋したスクリプトと標準出力への出力を作成。<br />
<br />
# cat b.txt|sh a.sh<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #ff0000;">&quot;host&quot;</span> 192.168.11.111 緑 赤 snmptrapd-<span style="color: #000000;">111</span> - メトリック 使用量 = <span style="color: #000000;">5</span><span style="color: #000000; font-weight: bold;">%</span> または または または メトリック ス ワップ アウト速度 = <span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">%</span> または メトリック 使用量 = <span style="color: #000000;">90</span><span style="color: #000000; font-weight: bold;">%</span> または メトリック 使用量 = <span style="color: #000000;">7</span><span style="color: #000000; font-weight: bold;">%</span></pre></div></div>

<br />
<br />
<br />
このような出力が得られたので、一定の情報は取得可能と思われる。（不必要な情報も多いけれど)<br />
<br />
<h3>■最終的なスクリプト</h3>
<br />
#vi /etc/snmp/snmptrapd.conf<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">authCommunity log,execute,net snmptest
traphandle default <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">bash</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>bin<span style="color: #000000; font-weight: bold;">/</span>zabbix_vmware_snmptrap.sh <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>zabbix_snmptrap.log <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">1</span></pre></div></div>

<br />
<br />
<br />
<br />
<br />
# vi /usr/local/bin/zabbix_vmware_snmptrap.sh<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Zabbix</span>
<span style="color: #666666; font-style: italic;"># Copyright (C) 2000,2001,2002,2003 Alexei Vladishev</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># This program is free software; you can redistribute it and/or modify</span>
<span style="color: #666666; font-style: italic;"># it under the terms of the GNU General Public License as published by</span>
<span style="color: #666666; font-style: italic;"># the Free Software Foundation; either version 2 of the License, or</span>
<span style="color: #666666; font-style: italic;"># (at your option) any later version.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># This program is distributed in the hope that it will be useful,</span>
<span style="color: #666666; font-style: italic;"># but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<span style="color: #666666; font-style: italic;"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
<span style="color: #666666; font-style: italic;"># GNU General Public License for more details.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># You should have received a copy of the GNU General Public License</span>
<span style="color: #666666; font-style: italic;"># along with this program; if not, write to the Free Software</span>
<span style="color: #666666; font-style: italic;"># Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># FOR trouble shoot (rebine)</span>
<span style="color: #666666; font-style: italic;">#echo '---------------' &gt;&gt; /tmp/zabbix_vmware.snmpoutput</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># CONFIGURATION</span>
&nbsp;
<span style="color: #007800;">ZABBIX_SERVER</span>=<span style="color: #ff0000;">&quot;127.0.0.1&quot;</span>;
<span style="color: #007800;">ZABBIX_PORT</span>=<span style="color: #ff0000;">&quot;10051&quot;</span>;
&nbsp;
<span style="color: #007800;">ZABBIX_SENDER</span>=<span style="color: #ff0000;">&quot;/usr/bin/zabbix_sender&quot;</span>;
&nbsp;
<span style="color: #007800;">KEY</span>=<span style="color: #ff0000;">&quot;snmptraps&quot;</span>;
<span style="color: #007800;">HOST</span>=<span style="color: #ff0000;">&quot;snmptraps&quot;</span>;
&nbsp;
<span style="color: #666666; font-style: italic;"># END OF CONFIGURATION</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #c20cb9; font-weight: bold;">hostname</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> ip
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #c20cb9; font-weight: bold;">uptime</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> oid
<span style="color: #c20cb9; font-weight: bold;">read</span> address
<span style="color: #c20cb9; font-weight: bold;">read</span> community
<span style="color: #c20cb9; font-weight: bold;">read</span> enterprise
<span style="color: #c20cb9; font-weight: bold;">read</span> vmware1
<span style="color: #c20cb9; font-weight: bold;">read</span> vmware2
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">'&quot;'</span> vmware3
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">'&quot;'</span> vmware4
&nbsp;
<span style="color: #007800;">oid</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$oid</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">address</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$address</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">community</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$community</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">enterprise</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$enterprise</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #007800;">oid</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$oid</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f11</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'.'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">community</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$community</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">vmware1</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$vmware1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span> <span style="color: #000000; font-weight: bold;">|</span>xxd <span style="color: #660033;">-r</span> -p<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">vmware2</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$vmware2</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span> <span style="color: #000000; font-weight: bold;">|</span>xxd <span style="color: #660033;">-r</span> -p<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">vmware3</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$vmware3</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span> <span style="color: #000000; font-weight: bold;">|</span>xxd <span style="color: #660033;">-r</span> -p<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">vmware4</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$vmware4</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span> <span style="color: #000000; font-weight: bold;">|</span>xxd <span style="color: #660033;">-r</span> -p<span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#str=&quot;$hostname $address $community $enterprise $oid&quot;</span>
<span style="color: #007800;">str</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$address</span> <span style="color: #007800;">$community</span> <span style="color: #007800;">$vmware1</span> <span style="color: #007800;">$vmware2</span> <span style="color: #007800;">$vmware4</span>&quot;</span>
&nbsp;
<span style="color: #007800;">$ZABBIX_SENDER</span> <span style="color: #660033;">-z</span> <span style="color: #007800;">$ZABBIX_SERVER</span> <span style="color: #660033;">-p</span> <span style="color: #007800;">$ZABBIX_PORT</span> <span style="color: #660033;">-s</span> <span style="color: #007800;">$HOST</span> <span style="color: #660033;">-k</span> <span style="color: #007800;">$KEY</span> <span style="color: #660033;">-o</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$str</span>&quot;</span></pre></div></div>

<br />
<br />
<br />
<br />
<h3>■snmptrapdのワイルドカード</h3>
<br />
<br />
<a href="http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=582&#038;forum=6" target="_blank">http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=582&#038;forum=6</a><br />
<br />
このような情報があり、snmp5.4以降からワイルドカードが使えるようになったらしいが、残念ながらこのサーバのバージョンが古い。古いままで個別の登録をするのは効率が悪いので、snmptrapd = VMware専用とするように設定をクローズ。<br />
<br />
この回で終了。<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://seedslight.com/wp/archives/213/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zabbixでsnmptrapdを使い、VMwareのホストから受信(zabbixスクリプト編　その1)</title>
		<link>http://seedslight.com/wp/archives/211</link>
		<comments>http://seedslight.com/wp/archives/211#comments</comments>
		<pubDate>Tue, 14 Feb 2012 20:22:43 +0000</pubDate>
		<dc:creator>Ryuji Ebine</dc:creator>
				<category><![CDATA[UNIXserver]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[zabbix]]></category>
		<category><![CDATA[snmptrapd]]></category>

		<guid isPermaLink="false">http://seedslight.com/wp/?p=211</guid>
		<description><![CDATA[Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その1)これと Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その2)これの続き。 [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://seedslight.com/wp/archives/206" title="Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その1)">Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その1)</a>これと<br />
<a href="http://seedslight.com/wp/archives/208" title="Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その2)">Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その2)</a>これの続き。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">[root@mngsv ~]# cat /tmp/zabbix_snmptrap.log
/usr/local/bin/zabbix_snmptrap.sh: line 41: read: `disman-event-mib': not a valid identifier
/usr/local/bin/zabbix_snmptrap.sh: line 51: unexpected EOF while looking for matching ``'
/usr/local/bin/zabbix_snmptrap.sh: line 57: syntax error: unexpected end of file
エラー</pre></div></div>

<br />
<br />
前回はこんなエラーが出ていたというところで終わっていた。既存スクリプトが間違っているかと思ったところ。<br />
<br />
<h3>■zabbix_snmptrap.shの解析</h3>
ログをチェックするとエラーが出ていた。<br />
<br />
zabbixに登録された値を見ると<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">SNMPv2-SMI::enterprises.6876.4.3.301 = STRING: &quot;host&quot;
SNMPv2-SMI::enterprises.6876.4.3.302 = STRING: &quot;192.168.11.111&quot;</pre></div></div>

<br />
<br />
<br />
この2つだけ取得できているといえる・・・<br />
つまり、read文で標準入力から取得したうちの一部ということ。<br />
<span id="more-211"></span><br />
/usr/local/bin/zabbix_snmptrap.sh これをブロック単位で動作検証してみる。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">----
     33 read hostname
     34 read ip
     35 read uptime
     36 read oid
     37 read address
     38 read community
     39 read enterprise
     40 #read DISMAN-EVENT-MIB
     41 read disman-event-mib
----</pre></div></div>

<br />
<br />
<br />
スクリプトの上記の部分を目視で確認できるように書き加える。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$hostname</span>,<span style="color: #007800;">$ip</span>,<span style="color: #007800;">$uptime</span>,<span style="color: #007800;">$oid</span>,<span style="color: #007800;">$address</span>,<span style="color: #007800;">$community</span>,<span style="color: #007800;">$enterprise</span>,<span style="color: #007800;">$disman</span></pre></div></div>

<br />
<br />
<br />
上記のような部分を書いて、どんな入力があるのかlogに出してみることにした。<br />
snmptrapd.confはこのようにしていたので。(再掲）<br />
</p>
<blockquote><p>traphandle default /bin/bash /usr/local/bin/zabbix_snmptrap.sh >> /tmp/zabbix_snmptrap.log 2>&#038;1<br />
</p></blockquote>
<p>
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">zabbix.redalarm.jp,
UDP: [192.168.11.11]:37864,
DISMAN-EVENT-MIB::sysUpTimeInstance 0:0:00:00.00,
SNMPv2-MIB::snmpTrapOID.0 SNMPv2-MIB::coldStart,
SNMP-COMMUNITY-MIB::snmpTrapAddress.0 127.0.0.1,
SNMP-COMMUNITY-MIB::snmpTrapCommunity.0 &quot;snmptest&quot;,
SNMPv2-MIB::snmpTrapEnterprise.0 NET-SNMP-MIB::netSnmp.99999,</pre></div></div>

<br />
<br />
<br />
入力が上記のような書き方だから、`echo $oid|cut -f2 -d&#8217; &#8216;`こんな感じで全ての入力に施して抽出するらしい。<br />
となると、VMwareから来るsnmptrapdパケットが問題と思われる。<br />
<br />
/var/log/messagesに残っているVMwareからのパケットをもう一度見てみる。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">SNMPv2-SMI::enterprises.6876.4.3 Enterprise Specific Trap (201) Uptime: 37 days, 22:20:57.99 
SNMPv2-SMI::enterprises.6876.4.3.301 = STRING: &quot;host&quot; 
SNMPv2-SMI::enterprises.6876.4.3.302 = STRING: &quot;192.168.11.111&quot; 
SNMPv2-SMI::enterprises.6876.4.3.303 = &quot;&quot;</pre></div></div>

<br />
<br />
<br />
この部分はずれているけれど、取れているようだ。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">SNMPv2-SMI::enterprises.6876.4.3.304 = Hex-STRING: E7 B7 92 
SNMPv2-SMI::enterprises.6876.4.3.305 = Hex-STRING: E9 BB 84 ff ff B2 
SNMPv2-SMI::enterprises.6876.4.3.306 = Hex-STRING: 73 6E 6D 70 74 72  20 2D 20 E3 83 A1 E3 83 88 E3 83 AA E3 83 83 E3 82 AF 20 E4 BD BF E7 94 A8 E9 87 8F 20 3D 20 35 25 20 E3 E3 81 AF 20 E3 83 A1 E3 83 88 E3 83 AA E3 E4 BD BF E7 94 A8 E9 87 8F 20 3D 20 38 38 25 20 E3 81 BE E3 81 9F E3 81 AF 20 E3 83 A1 E3 83 88 E3 83 AA E3 83 83 E3 82 AF 20 E4 BD BF E7  20 31 25 20 E3 81 BE E3 81 9F E3 A1 E3 83 88 E3</pre></div></div>

<br />
<br />
<br />
でも、特にこの3点がHex-STRINGとなっていて、読めない＝値として取得できない。<br />
<br />
<h3>■日本語Hexをzabbixで取得している話はないだろうかと探した。</h3>
Hexはどうやら日本語ではないだろうかという指摘。<br />
<a href="http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=603&#038;forum=6"  target="_blank">http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=603&#038;forum=6</a><br />
<br />
<a href="http://www.casupport.jp/resources/bab9l/tec/021011514.htm" target="_blank">http://www.casupport.jp/resources/bab9l/tec/021011514.htm</a><br />
出力元で英語出力にしたら良いというものが。<br />
<br />
<br />
<h3>■VMwareのSNMPを内部でどのように処理しているかをteeで取得することにした。</h3>
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">traphandle default <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">tee</span> <span style="color: #660033;">-a</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>zabbix_vmware.snmpoutput <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">bash</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>bin<span style="color: #000000; font-weight: bold;">/</span>zabbix_snmptrap.sh <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>zabbix_snmptrap.log <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">1</span></pre></div></div>

<br />
<br />
<br />
<h3>■テストコマンド</h3>
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># snmptrap -v 1 -c snmptest 192.168.11.11 .1.3.6.1.4.1.8072.99999 localhost .1.3.6.1.4.1.8072.99999.1 s &quot;Test Message&quot;</span></pre></div></div>

<br />
<br />
<br />
<h3>■結果</h3>
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&nbsp;
# cat /tmp/zabbix_vmware.snmpoutput
----
zabbix.redalarm.jp
UDP: [192.168.11.11]:51530
DISMAN-EVENT-MIB::sysUpTimeInstance 0:0:00:00.00
SNMPv2-MIB::snmpTrapOID.0 SNMPv2-MIB::coldStart
SNMP-COMMUNITY-MIB::snmpTrapAddress.0 127.0.0.1
SNMP-COMMUNITY-MIB::snmpTrapCommunity.0 &quot;snmptest&quot;
SNMPv2-MIB::snmpTrapEnterprise.0 NET-SNMP-MIB::netSnmp.99999
&nbsp;
2回目
----
zabbix.redalarm.jp
UDP: [192.168.11.11]:36036
DISMAN-EVENT-MIB::sysUpTimeInstance 0:0:00:00.00
SNMPv2-MIB::snmpTrapOID.0 SNMPv2-MIB::coldStart
SNMP-COMMUNITY-MIB::snmpTrapAddress.0 127.0.0.1
SNMP-COMMUNITY-MIB::snmpTrapCommunity.0 &quot;snmptest&quot;
SNMPv2-MIB::snmpTrapEnterprise.0 NET-SNMP-MIB::netSnmp.99999</pre></div></div>

<br />
<br />
<br />
次は前置きが長くなったけれど、日本語HEX変換について</p>
]]></content:encoded>
			<wfw:commentRss>http://seedslight.com/wp/archives/211/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その2)</title>
		<link>http://seedslight.com/wp/archives/208</link>
		<comments>http://seedslight.com/wp/archives/208#comments</comments>
		<pubDate>Fri, 10 Feb 2012 14:40:37 +0000</pubDate>
		<dc:creator>Ryuji Ebine</dc:creator>
				<category><![CDATA[UNIXserver]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[zabbix]]></category>
		<category><![CDATA[snmptrapd]]></category>

		<guid isPermaLink="false">http://seedslight.com/wp/?p=208</guid>
		<description><![CDATA[これの続きです。Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その1) ■ホストを無効状態にしてのテスト出力 zabbix_sender [28695]: DEBUG: an [...]]]></description>
			<content:encoded><![CDATA[<p>
これの続きです。<a title="Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その1)" href="http://seedslight.com/wp/archives/206">Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その1)</a><br />
<h3>■ホストを無効状態にしてのテスト出力</h3>
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">zabbix_sender [28695]: DEBUG: answer [{
        &quot;response&quot;:&quot;success&quot;,
        &quot;info&quot;:&quot;Processed 0 Failed 1 Total 1 Seconds spent 0.000037&quot;}]
Info from server: &quot;Processed 0 Failed 1 Total 1 Seconds spent 0.000037&quot;
sent: 1; skipped: 0; total: 1</pre></div></div>

<br />
<br />
<h3>■成功例</h3>
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">zabbix_sender [28770]: DEBUG: answer [{
        &quot;response&quot;:&quot;success&quot;,
        &quot;info&quot;:&quot;Processed 1 Failed 0 Total 1 Seconds spent 0.000162&quot;}]
Info from server: &quot;Processed 1 Failed 0 Total 1 Seconds spent 0.000162&quot;
sent: 1; skipped: 0; total: 1</pre></div></div>

<br />
<br />
<br />
<span id="more-208"></span><br />
<br />
<h3>■snmptrap を投げてみてのテスト</h3>
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># snmptrap -v 1 -c snmptest 192.168.11.11 .1.3.6.1.4.1.8072.99999 localhost .1.3.6.1.4.1.8072.99999.1 s &quot;Test Message&quot;</pre></div></div>

<br />
<br />
<br />
<h3>■ポートが開いているかどうか</h3>
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">udp 0 0 0.0.0.0:162 0.0.0.0:*</pre></div></div>

<br />
<br />
全て問題なし。<br />
<br />
<br />
<h3>■vCenterの「SNMP」の設定</h3>
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">受信者URL: 192.168.11.11 162
コミュニティストリング snmptest</pre></div></div>

<br />
<br />
<br />
<h3>■iptablesも忘れずに</h3>
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">/etc/sysconfig/iptables変更
----
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 162 -j ACCEPT
----</pre></div></div>

<br />
<br />
<br />
<h3>■VMwareから受信してみる。</h3>
それで、ようやく本題のVMwareサーバ(vSphire4)からアラームの編集をして受信してみた。<br />
<br />
このページを参考にしました。<br />
<a href="http://makoto.forzamilan.jp/archives/1532" target="_blank">VMware ESXi 4で機器障害を通知する方法</a><br />
<br />
これを参考に、snmptrapd.confを見直してみる。<br />
<br />
</p>
<blockquote><p>
Host: <UNKNOWN> (UDP: [ESXi-IP]:61457)<br />
DISMAN-EVENT-MIB::sysUpTimeInstance 0:0:59:21.56<br />
SNMPv2-MIB::snmpTrapOID.0 SNMPv2-MIB::warmStart<br />
SNMP-COMMUNITY-MIB::snmpTrapAddress.0 [ESXi-IP]<br />
SNMP-COMMUNITY-MIB::snmpTrapCommunity.0 &#8220;public&#8221;<br />
SNMPv2-MIB::snmpTrapEnterprise.0 SNMPv2-SMI::enterprises.6876.4.1<br />
</p></blockquote>
<p>
※引用もとは上記のサイト<br />
これがsnmptrapdあてに投げられるのだとすると、<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><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>bin<span style="color: #000000; font-weight: bold;">/</span>zabbix_snmptrap.sh
<span style="color: #660033;">----</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #c20cb9; font-weight: bold;">hostname</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> ip
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #c20cb9; font-weight: bold;">uptime</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> oid
<span style="color: #c20cb9; font-weight: bold;">read</span> address
<span style="color: #c20cb9; font-weight: bold;">read</span> community
<span style="color: #c20cb9; font-weight: bold;">read</span> enterprise
&nbsp;
<span style="color: #007800;">oid</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$oid</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">address</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$address</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">community</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$community</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">enterprise</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$enterprise</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #007800;">oid</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$oid</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f11</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'.'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">community</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$community</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #660033;">----</span></pre></div></div>

<br />
<br />
<br />
このあたりを変更しないといけないだろう。<br />
<br />
/var/logmessagesに出ていた<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Nov 2 17:22:01 sv snmptrapd[28585]: 2011-11-02 17:22:01 192.168.11.110(via UDP: [192.168.11.110]:3323) TRAP, SNMP v1, community snmptest SNMPv2-SMI::enterprises.6876.4.3 Enterprise Specific Trap (201) Uptime: 37 days, 22:07:05.57 SNMPv2-SMI::enterprises.6876.4.3.301 = STRING: &quot;host&quot; SNMPv2-SMI::enterprises.6876.4.3.302 = STRING: &quot;192.168.11.112&quot; SNMPv2-SMI::enterprises.6876.4.3.303 = &quot;&quot; SNMPv2-SMI::enterprises.6876.4.3.304 = Hex-STRING: E7 81 B0 E8 89 B2 SNMPv2-SMI::enterprises.6876.4.3.305 = Hex-STRING: E8 89 B2 SNMPv2-SMI::enterprises.6876.4.3.306 = Hex-STRING: 73 6E 61 70 64 E3 83 86 E3 82 B9 E3 AE E3 82 A2 E3 83 A9 E3 83 BC E3 83 A0 20B6 E6 85 8B 20 3D 20 E3 83 91 E3 83 AF E3 83 BC E3 82 AA E3 83 B3 20 E3 81 BE E3 81 9F E3 81 AF 20 E7 8A B6 E6 85 8B 20 3D 20 E6 8E A5 E7 B6 9A E4 B8 AD
Nov 2 17:26:33 sv snmptrapd[28585]: 2011-11-02 17:26:33 192.168.11.110(via UDP: [192.168.11.110]:3400) TRAP, SNMP v1, community snmptest SNMPv2-SMI::enterprises.6876.4.3 Enterprise Specific Trap (201) Uptime: 37 days, 22:11:37.68 SNMPv2-SMI::enterprises.6876.4.3.301 = STRING: &quot;host&quot; SNMPv2-SMI::enterprises.6876.4.3.302 = STRING: &quot;192.168.11.111&quot; SNMPv2-SMI::enterprises.6876.4.3.303 = &quot;&quot; SNMPv2-SMI::enterprises.6876.4.3.304 = Hex-STRING: E7 B7 91 SNMPv2-SMI::enterprises.6876.4.3.305 = Hex-STRING: E9 BB B2 SNMPv2-SMI::enterprises.6876.4.3.306 = Hex-STRING: 73  70 64 E3 81 AE E3 83 86 E3 82 B9 E3 83 88 E7 94 A8 E3 82 A2 E3 83 A9 E3 83 BC E3 83 83 A1 E3 83 88 E3 83 AA E3 83 83 E3 82 AF 20 E4 BD BF E7 94 A8 E9 87 8F 20 3D 20 36 25 20 E3 81 BE E3 81 9F E3 E3 83 88 E3 83 AA E3 83 83 E3 E7 94 A8 E9 87 8F 20 3D 20 38 39 25 20 E3 81 BE E3 81 9F E3 81 E3 83 88 E3 83 AA E3 83 83 E3 82 AF 20 E4 BD BF E7 94 A8 E9 87 8F
Nov 2 17:30:21 sv snmptrapd[28585]: 2011-11-02 17:30:21 192.168.11.110(via UDP: [192.168.11.110]:3466) TRAP, SNMP v1, community snmptest SNMPv2-SMI::enterprises.6876.4.3 Enterprise Specific Trap (201) Uptime: 37 days, 22:15:25.73 SNMPv2-SMI::enterprises.6876.4.3.301 = STRING: &quot;host&quot; SNMPv2-SMI::enterprises.6876.4.3.302 = STRING: &quot;192.168.11.112&quot; SNMPv2-SMI::enterprises.6876.4.3.303 = &quot;&quot; SNMPv2-SMI::enterprises.6876.4.3.304 = Hex-STRING: E7 81 B0 E8 89 B2 SNMPv2-SMI::enterprises.6876.4.3.305 = Hex-STRING: E9 BB B2 SNMPv2-SMI::enterprises.6876.4.3.306 = Hex-STRING: 73 61 70 64 20 2D 20 E7 8A B6 E6 85 8B 20 3D 20 E3 83 91 E3 83 AF E3 83 BC 83 B3 20 E3 81 BE E3 81 9F E3 81 AF 20 E7 8A B6 E6 85 8B 20 3D 20 E6 8E A5 E7 B6 9A E4 B8 AD
Nov 2 17:31:08 sv snmptrapd[28585]: 2011-11-02 17:31:08 192.168.11.110(via UDP: [192.168.11.110]:3487) TRAP, SNMP v1, community snmptest SNMPv2-SMI::enterprises.6876.4.3 Enterprise Specific Trap (201) Uptime: 37 days, 22:16:11.82 SNMPv2-SMI::enterprises.6876.4.3.301 = STRING: &quot;host&quot; SNMPv2-SMI::enterprises.6876.4.3.302 = STRING: &quot;192.168.11.112&quot; SNMPv2-SMI::enterprises.6876.4.3.303 = &quot;&quot; SNMPv2-SMI::enterprises.6876.4.3.304 = Hex-STRING: E7 81 B0 E8 89 B2 SNMPv2-SMI::enterprises.6876.4.3.305 = Hex-STRING: E9 BB 84 E8 89 B2 SNMPv2-SMI::enterprises.6876.4.3.306 = Hex-STRING: 73 6E 6D 70 74 72 61 70 64 2D 31 31 32 20 2D 20 E7 8A B6 E6 85 8B 20 3D 20 E3 83 91 E3 83 AF E3 83 BC E3 82 AA E3 83 B3 20 E3 81 BE E3 81 9F E3 81 AF 20 E7 8A B6 E6 85 8B 20 3D 20 E6 8E A5 E7 B6 9A E4 B8 AD
Nov 2 17:35:54 sv snmptrapd[28585]: 2011-11-02 17:35:54 192.168.11.110(via UDP: [192.168.11.110]:3570) TRAP, SNMP v1, community snmptest SNMPv2-SMI::enterprises.6876.4.3 Enterprise Specific Trap (201) Uptime: 37 days, 22:20:57.99 SNMPv2-SMI::enterprises.6876.4.3.301 = STRING: &quot;host&quot; SNMPv2-SMI::enterprises.6876.4.3.302 = STRING: &quot;192.168.11.111&quot; SNMPv2-SMI::enterprises.6876.4.3.303 = &quot;&quot; SNMPv2-SMI::enterprises.6876.4.3.304 = Hex-STRING: E7 B7 91 SNMPv2-SMI::enterprises.6876.4.3.305 = Hex-STRING: E9 BB  B2 SNMPv2-SMI::enterprises.6876.4.3.306 = Hex-STRING: 73 6E  70 64 2D 31 31 31 20 2D 20 E3 83 A1  83 AA E3 83 83 E3 82 AF 20 E4 BD 87 8F 20 3D 20 35 25 20 E3 81 BE E3 81 9F E3 81 AF 20 E3 83 A1 E3 83 88 E3 83 AA E3 83 83 E3 82 AF 20 E4 BD BF E7 94 A8 E9 87 38 38 25 20 E3 81 BE E3 81 83 A1 E3 83 88 E3 83 AA AF 20 E4 BD BF E7 94 A8 31 25 20 E3 81 BE E3 81 9F  A1 E3 83 88 E3</pre></div></div>

<br />
<br />
<br />
パケットは届いていたんだけれど、参考にしたサイトとはかなり違うというか、量が違う。<br />
「Hex-STRING:」という見慣れない文字と、16進数だろうなという文字の羅列が軽く絶望させてくれたような。<br />
ともあれ、通常のスクリプトでは取得できなかった。その経緯は下記の通り。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># cat /etc/snmp/snmptrapd.conf
----
authCommunity log,execute,net snmptest
traphandle default /bin/bash /usr/local/bin/zabbix_snmptrap.sh
#traphandle .1 /bin/bash /usr/local/bin/zabbix_snmptrap.sh
----</pre></div></div>

<br />
<br />
<br />
恐らく、OIDが取れないというものも関係していると思われる。<br />
.1 はやめてみる。default にもどした。<br />
<br />
追加したスクリプトの変更がうまく動いていないことが判明。<br />
<br />
snmpdtrapd.conf の起動にエラーログ記録を追加。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># cat /etc/snmp/snmptrapd.conf
----
traphandle default /bin/bash /usr/local/bin/zabbix_snmptrap.sh &gt;&gt; /tmp/zabbix_snmptrap.log 2&gt;&amp;1
----</pre></div></div>

<br />
<br />
<br />
<br />
テスト用コマンド<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># snmptrap -v 1 -c snmptest 192.168.11.11 .1.3.6.1.4.1.8072.99999 localhost .1.3.6.1.4.1.8072.99999.1 s &quot;Test Message&quot;</pre></div></div>

<br />
<br />
<br />
結果<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">[root@mngsv ~]# cat /tmp/zabbix_snmptrap.log
/usr/local/bin/zabbix_snmptrap.sh: line 41: read: `disman-event-mib': not a valid identifier
/usr/local/bin/zabbix_snmptrap.sh: line 51: unexpected EOF while looking for matching ``'
/usr/local/bin/zabbix_snmptrap.sh: line 57: syntax error: unexpected end of file
エラー</pre></div></div>

<br />
<br />
<br />
原因は次回。</p>
]]></content:encoded>
			<wfw:commentRss>http://seedslight.com/wp/archives/208/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zabbixでsnmptrapdを使い、VMwareのホストから受信(snmptrapd編　その1)</title>
		<link>http://seedslight.com/wp/archives/206</link>
		<comments>http://seedslight.com/wp/archives/206#comments</comments>
		<pubDate>Thu, 26 Jan 2012 17:25:28 +0000</pubDate>
		<dc:creator>Ryuji Ebine</dc:creator>
				<category><![CDATA[UNIXserver]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[zabbix]]></category>
		<category><![CDATA[snmptrapd]]></category>

		<guid isPermaLink="false">http://seedslight.com/wp/?p=206</guid>
		<description><![CDATA[VMwareでの仮想サーバでサイトを運営しているプロジェクトに入っているけど、最近メモリが圧迫されてきたとかで パフォーマンス低下によるエラーが上がることから、VMwareが何をしているのか。スワップやバルーニング（メモ [...]]]></description>
			<content:encoded><![CDATA[<p>
VMwareでの仮想サーバでサイトを運営しているプロジェクトに入っているけど、最近メモリが圧迫されてきたとかで<br />
パフォーマンス低下によるエラーが上がることから、VMwareが何をしているのか。スワップやバルーニング（メモリの貸し出しとかでHDDに読書）が発生していないかをzabbixで監視できないかという要望だった。<br />
<br />
snmptrapdの部分も相当面倒くさいと思ったけれど、日本語HEXで文書が出てくるところとかも肝だった。<br />
下記、備忘録。ネットにはそれほど出回っていないのと、同じ環境ではそれほど物理サーバ増えないし、<br />
増えたところで、この文書を使用する機会なんて数度あるぐらいだから、風化しちゃうよりも他で使ってもらえたら嬉しいとか思ったり。<br />
<br />
<a title="ZABBIX SNMPTrap設定" href="http://extstrg.asabiya.net/pukiwiki/index.php?ZABBIX%20SNMPTrap%C0%DF%C4%EA" target="_blank">ZABBIX SNMPTrap設定</a><br />
<br />
こちらを参考にさせていただきました。<br />
<br />
<span id="more-206"></span><br />
<br />
まずは、sourceのtarボールを取得し、下記のスクリプトを抽出。※1.8.8当時です。<br />
<br />
/zabbix-1.8.8/misc/snmptrap/snmptrap.sh<br />
<h2>■初期状態</h2>
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Zabbix</span>
<span style="color: #666666; font-style: italic;"># Copyright (C) 2000,2001,2002,2003 Alexei Vladishev</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># This program is free software; you can redistribute it and/or modify</span>
<span style="color: #666666; font-style: italic;"># it under the terms of the GNU General Public License as published by</span>
<span style="color: #666666; font-style: italic;"># the Free Software Foundation; either version 2 of the License, or</span>
<span style="color: #666666; font-style: italic;"># (at your option) any later version.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># This program is distributed in the hope that it will be useful,</span>
<span style="color: #666666; font-style: italic;"># but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<span style="color: #666666; font-style: italic;"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
<span style="color: #666666; font-style: italic;"># GNU General Public License for more details.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># You should have received a copy of the GNU General Public License</span>
<span style="color: #666666; font-style: italic;"># along with this program; if not, write to the Free Software</span>
<span style="color: #666666; font-style: italic;"># Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</span>
<span style="color: #666666; font-style: italic;">#</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># CONFIGURATION</span>
&nbsp;
<span style="color: #007800;">ZABBIX_SERVER</span>=<span style="color: #ff0000;">&quot;localhost&quot;</span>;
<span style="color: #007800;">ZABBIX_PORT</span>=<span style="color: #ff0000;">&quot;10051&quot;</span>;
&nbsp;
<span style="color: #007800;">ZABBIX_SENDER</span>=<span style="color: #ff0000;">&quot;~zabbix/bin/zabbix_sender&quot;</span>;
&nbsp;
<span style="color: #007800;">KEY</span>=<span style="color: #ff0000;">&quot;snmptraps&quot;</span>;
<span style="color: #007800;">HOST</span>=<span style="color: #ff0000;">&quot;snmptraps&quot;</span>;
&nbsp;
<span style="color: #666666; font-style: italic;"># END OF CONFIGURATION</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #c20cb9; font-weight: bold;">hostname</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> ip
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #c20cb9; font-weight: bold;">uptime</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> oid
<span style="color: #c20cb9; font-weight: bold;">read</span> address
<span style="color: #c20cb9; font-weight: bold;">read</span> community
<span style="color: #c20cb9; font-weight: bold;">read</span> enterprise
&nbsp;
<span style="color: #007800;">oid</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$oid</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">address</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$address</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">community</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$community</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">enterprise</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$enterprise</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">' '</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #007800;">oid</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$oid</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f11</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'.'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">community</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$community</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f2</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'&quot;'</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #007800;">str</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$hostname</span> <span style="color: #007800;">$address</span> <span style="color: #007800;">$community</span> <span style="color: #007800;">$enterprise</span> <span style="color: #007800;">$oid</span>&quot;</span>
&nbsp;
<span style="color: #007800;">$ZABBIX_SENDER</span> <span style="color: #660033;">-z</span> <span style="color: #007800;">$ZABBIX_SERVER</span> <span style="color: #660033;">-p</span> <span style="color: #007800;">$ZABBIX_PORT</span> <span style="color: #660033;">-s</span> <span style="color: #007800;">$HOST</span> <span style="color: #660033;">-k</span> <span style="color: #007800;">$KEY</span> <span style="color: #660033;">-o</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$str</span>&quot;</span></pre></div></div>

<br />
<br />
<br />
トラップを受けるスクリプトの追加<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vi /usr/local/bin/zabbix_snmptrap.sh</span>
<span style="color: #666666; font-style: italic;"># chmod +x /usr/local/bin/zabbix_snmptrap.sh</span></pre></div></div>

<br />
<br />
<br />
<h2>■設定ファイル</h2>
<br />
/etc/snmp/snmptrapd.conf<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">authCommunity log,execute,net snmptraptest
&nbsp;
traphandle default /bin/bash /usr/local/bin/zabbix_snmptrap.sh</pre></div></div>

<br />
<br />
<br />
設定して、snmptrapd を再起動。<br />
# /etc/init.d/snmptrapd restart<br />
<br />
<br />
<br />
<h2>■zabbix側の設定とスクリプトの変更</h2>
<br />
<a href="http://amecoro.seesaa.net/article/213247645.html" title="zabbixのsnmptrap受信設定とzabbix_senderの利用" target="_blank">zabbixのsnmptrap受信設定とzabbix_senderの利用</a><br />
※参考にさせていただきました。zabbixの管理画面が載っていてわかりやすかったです。<br />
<br />
snmptrap.sh のsnmptrapsの部分はzabbixでいう、ホスト設定のサーバ名だったことが判明。<br />
僕の場合もホストの追加でsnmptrapsというものを作ったけれど、もしかして、細かく設定したら<br />
既存サーバ毎に作れるんじゃないかと思ったり…大変か。<br />
HOST=$hostname とかしたらいいんだろうか？とりあえずは試していないので、不明。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">KEY=&quot;snmptraps&quot;;
HOST=&quot;snmptraps&quot;;</pre></div></div>

<br />
<br />
<br />
ホストやアイテムを作る。<br />
上記のスクリプト内設定とホスト名、アイテムのキーを合わせることが必要。<br />
タイプはsnmptrap 等はなく、Zabbixトラッパーになっていることが注意点。<br />
<br />
<br />
自分自身に投げてみるコマンド<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># /usr/bin/zabbix_sender -vv -z 127.0.0.1 -s snmptraps -k snmptraps -o &quot;Test&quot;</pre></div></div>

<br />
<br />
<br />
スクリプトの変更点<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">ZABBIX_SERVER=&quot;localhost&quot;;
ZABBIX_SENDER=&quot;~zabbix/bin/zabbix_sender&quot;;</pre></div></div>

<br />
<br />
<br />
この部分は変更が必要だったので下記の通り。localhostじゃダメな理由・・・忘れてしまった。<br />
zabbix_senderはRPMインストールだったので、このパス。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">ZABBIX_SERVER=&quot;127.0.0.1&quot;;
ZABBIX_SENDER=&quot;/usr/bin/zabbix_sender&quot;;</pre></div></div>

<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://seedslight.com/wp/archives/206/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trac0.12にblockdiagをインストール（Centos5系)</title>
		<link>http://seedslight.com/wp/archives/203</link>
		<comments>http://seedslight.com/wp/archives/203#comments</comments>
		<pubDate>Tue, 27 Dec 2011 20:27:45 +0000</pubDate>
		<dc:creator>Ryuji Ebine</dc:creator>
				<category><![CDATA[blockdiag]]></category>
		<category><![CDATA[Trac]]></category>
		<category><![CDATA[WEBアプリ]]></category>
		<category><![CDATA[ツール]]></category>
		<category><![CDATA[odstudy]]></category>

		<guid isPermaLink="false">http://seedslight.com/wp/?p=203</guid>
		<description><![CDATA[#odstudyに参加してからずっと気になっていたblockdiagをインストールしました。 やっぱり、ドキュメントを蓄積するシステムと組み合わせたほうが真価が発揮されると思ったので、Tracです。 mediawikiも [...]]]></description>
			<content:encoded><![CDATA[<p>
#odstudyに参加してからずっと気になっていたblockdiagをインストールしました。<br />
やっぱり、ドキュメントを蓄積するシステムと組み合わせたほうが真価が発揮されると思ったので、Tracです。<br />
mediawikiもあるんですが、今は比較的スタティックな構築情報をwikiにして、作業途中のメモなどはTracという位置づけです。<br />
Rapidな図はやはり、Rapidな情報記録を主目的に設置したシステムへと思いまして。<br />
<h1>Tracとの連携</h1>
参考にしたのはこのサイト。<br />
<h3><a name="1305880542" href="http://d.hatena.ne.jp/rabbit2go/20110520/1305880542"></a><a href="http://d.hatena.ne.jp/rabbit2go/20110520/1305880542" target="_blank">Tracのwikiに図面を入れる（BlockDiag編）</a></h3>
インストールが簡単に紹介されていて、サンプルもあるのでさくっと試せます。<br />
Tracのpluginは下記のようにして入れました。<br />
<br />
■ダウンロード、解凍<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># cd /usr/local/src
# wget -O tracblockdiagplugin.zip '&lt;a href=&quot;http://trac-hacks.org/changeset/latest/tracblockdiagplugin?old_path=/&amp;amp;filename=tracblockdiagplugin&amp;amp;format=zip&quot;&gt; http://trac-hacks.org/changeset/latest/tracblockdiagplugin?old_path=/&amp;amp;filename=tracblockdiagplugin&amp;amp;format=zip&lt;/a&gt;'
# unzip tracblockdiagplugin.zip</pre></div></div>

<br />
<br />
■移動<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># cd /usr/local/src/tracblockdiagplugin/tracblockdiagplugin/0.12
# python ./setup.py install</pre></div></div>

<br />
<br />
0.11と0.12とcurrentとかでディレクトリが分かれているので、現在使用しているTracのバージョンである0.12のディレクトリに移動して、インストール。<br />
<br />
■Apache再起動<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># /etc/init.d/httpd restart</pre></div></div>

<br />
<br />
■管理画面で有効に。<br />
<a href="http://seedslight.com/wp/wp-content/uploads/2011/12/screenshot.3211.png"><img class="alignnone  wp-image-209" title="screenshot.321" src="http://seedslight.com/wp/wp-content/uploads/2011/12/screenshot.3211.png" alt="Trac management plugin" width="648" height="190" /></a><br />
<br />
追記(2011/12/28)<br />
<br />
blockdiag作者の@tk0miyaさんがインストール方法書いてるじゃないすか。<br />
<h3><a name="p1" href="http://d.hatena.ne.jp/tk0miya/20111218#p1"></a><a href="http://d.hatena.ne.jp/tk0miya/20111218#p1">(18日目) blockdiag を Trac wiki で使ってみよう<img title="Add Star" src="http://s.hatena.ne.jp/images/add.gif" alt="Add Star" /></a></h3>
</p>
<blockquote><p><a href="http://d.hatena.ne.jp/keyword/Trac">Trac</a> は <a href="http://d.hatena.ne.jp/keyword/Debian">Debian</a> パッケージになっていますが、最新版の 0.12 が強くおすすめとのことなので、<br />
easy_install で<a href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB">インストール</a>することにします。<br />
TracBlockDiagPlugin も <a href="http://d.hatena.ne.jp/keyword/URL">URL</a> を指定することで easy_install 経由で<a href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB">インストール</a>できます。<br />
<pre>$ sudo easy_install trac
$ sudo easy_install http://trac-hacks.org/svn/tracblockdiagplugin/0.12</pre>
</p></blockquote>
<p>
Pluginはこっちのほうがインストールがスマートですね！勉強になるなぁ<br />
<h1>日本語の問題</h1>
でも、日本語のLabelを張れないかな？と試したら、途端に画像が生成されなくなったので、他のサイトを探しました。<br />
<br />
<span id="more-203"></span><br />
<h1><a href="http://99blues.dyndns.org/blog/2010/12/blockdiag-%E3%81%A7%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%BF%E3%82%8B/" target="_blank">blockdiag でいろいろ書いてみる</a></h1>
デフォルトのフォントの位置が書いてあるので助かりました。<br />
<br />
でも、CentOSのデフォルトってこんな感じなんですよねー。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">[root@redalarm blockdiag]# ls -lha /usr/share/fonts/ja/TrueType/kochi-
kochi-gothic-subst.ttf  kochi-mincho-subst.ttf  
&nbsp;
[root@redalarm blockdiag]# ls -lha /usr/share/fonts/japanese/TrueType/
fonts.alias          fonts.scale          sazanami-mincho.ttf
fonts.dir            sazanami-gothic.ttf</pre></div></div>

<br />
<br />
念のために、インストールされているプログラムがどんな定義か確認。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">[root@redalarm blockdiag]# cd /usr/lib/python2.4/site-packages/blockdiag-1.1.0-py2.4.egg/blockdiag
[root@redalarm blockdiag]# fgrep -R fonts ./*
./command.py:    fonts = ['c:/windows/fonts/VL-Gothic-Regular.ttf',  # for Windows</pre></div></div>

<br />
<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    fonts = ['c:/windows/fonts/VL-Gothic-Regular.ttf',  # for Windows
             'c:/windows/fonts/msmincho.ttf',  # for Windows
             '/usr/share/fonts/truetype/ipafont/ipagp.ttf',  # for Debian
             '/usr/local/share/font-ipa/ipagp.otf',  # for FreeBSD
             '/Library/Fonts/Hiragino Sans GB W3.otf',  # for MacOS
             '/System/Library/Fonts/AppleGothic.ttf']  # for MacOS</pre></div></div>

<br />
<br />
なるほど。本当はTracの設定ファイルでfontを指定出来るらしいんだけれど、同じサーバにいくつもプロジェクトが走っていて、<br />
それをすべて変更するのは面倒だったので、シンボリックリンクを張っちゃうことにしたり。（IPAフォントのインストールは割愛） 参考はここです。<br />
<h3><a href="http://tmcosmos.org/linux/centos/co5.html#japanesefonts" target="_blank">日本語フォントのインストール</a></h3>
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># mkdir -p /usr/share/fonts/truetype/ipafont/
# ln -s /usr/share/fonts/japanese/TrueType/ipagp.ttf /usr/share/fonts/truetype/ipafont/ipagp.ttf</pre></div></div>

<br />
<br />
でも、シンボリックリンクを張ると、日本語を使っていない単純な図でもエラーになってしまいました。<br />
こんな時にはコマンドラインからエラーを見てみようと思って実行したら下記の通り。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">[root@redalarm src]# blockdiag -f /usr/share/fonts/truetype/ipafont/ipagp.ttf /home/rebine/sample.diag
ERROR: The _imagingft C module is not installed</pre></div></div>

<br />
<br />
このエラーでググるとPILというPython-Imagingというライブラリがうまくいっていないときに出るものらしい。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">[root@redalarm src]# easy_install pil
Searching for pil
Best match: PIL 1.1.7
Processing PIL-1.1.7-py2.4-linux-i686.egg
PIL 1.1.7 is already the active version in easy-install.pth
Installing pilconvert.py script to /usr/bin
Installing pilfile.py script to /usr/bin
Installing pilfont.py script to /usr/bin
Installing pildriver.py script to /usr/bin
Installing pilprint.py script to /usr/bin
&nbsp;
Using /usr/lib/python2.4/site-packages/PIL-1.1.7-py2.4-linux-i686.egg
Processing dependencies for pil</pre></div></div>

<br />
<br />
でも、すでにインストール済みっていう形で返ってくるのでおかしいなと…<br />
<h3><a href="http://blockdiag.com/ja/blockdiag/introduction.html#centos-5-5-5-6" target="_blank">CentOS 5.5/5.6 の場合</a></h3>
公式に情報が載っていました。（自分、見るのが遅いなぁ…）Centosの付属PILは問題あるってことですね。<br />
とはいえ、touchの意味を知らなかったので、PILをダウンロードしてインストールする方法を調べちゃいました。<br />
<br />
<a href="http://www.jroller.com/RickHigh/entry/installing_pil_python_image_library" target="_blank"><strong>Installing PIL (Python Image Library) on CentOS 4.7</strong> </a><br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"># cd /usr/local/src
# wget -O PIL-1.1.7.tar.gz 'http://effbot.org/media/downloads/PIL-1.1.7.tar.gz'
# tar xvzf PIL-1.1.7.tar.gz
# cd PIL-1.1.7</pre></div></div>

<br />
<br />
# python setup.py build_ext -i<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">--------------------------------------------------------------------
*** TKINTER support not available
*** JPEG support not available
--- ZLIB (PNG/ZIP) support available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------</pre></div></div>

<br />
<br />
インストール前に調べてみたら、FREETYPE2のところがnot available でした。日本語はTruetype fontだったので、これではまずいと<br />
調べると、単純にRPM不足していたようで。<br />
<br />
# yum install freetype freetype-devel<br />
<br />
# python ./setup.py install<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.4.3 (#1, Nov 11 2010, 13:34:43)
              [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)]
--------------------------------------------------------------------
*** TKINTER support not available
*** JPEG support not available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------
To check the build, run the selftest.py script.
running build_scripts
running install_lib
copying build/lib.linux-i686-2.4/_imagingft.so -&amp;gt; /usr/lib/python2.4/site-packages/PIL
running install_scripts
changing mode of /usr/bin/pilconvert.py to 755
changing mode of /usr/bin/pilfile.py to 755
changing mode of /usr/bin/pilfont.py to 755
changing mode of /usr/bin/pildriver.py to 755
changing mode of /usr/bin/pilprint.py to 755
creating /usr/lib/python2.4/site-packages/PIL.pth</pre></div></div>

<br />
<br />
こんな感じでインストールしてうまく日本語のラベルを張ることに成功しました。</p>
]]></content:encoded>
			<wfw:commentRss>http://seedslight.com/wp/archives/203/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>odstudyの感想2</title>
		<link>http://seedslight.com/wp/archives/202</link>
		<comments>http://seedslight.com/wp/archives/202#comments</comments>
		<pubDate>Mon, 28 Nov 2011 16:29:50 +0000</pubDate>
		<dc:creator>Ryuji Ebine</dc:creator>
				<category><![CDATA[勉強会]]></category>
		<category><![CDATA[odstudy]]></category>

		<guid isPermaLink="false">http://seedslight.com/wp/?p=202</guid>
		<description><![CDATA[https://sites.google.com/site/odstudy/home/note/201111huidi2huinozhenrifanri 2011.11回(第2回)の振り返り というまとめがアップされてた [...]]]></description>
			<content:encoded><![CDATA[<p>
<a title="2011.11回(第2回)の振り返り" href="https://sites.google.com/site/odstudy/home/note/201111huidi2huinozhenrifanri" target="_blank">https://sites.google.com/site/odstudy/home/note/201111huidi2huinozhenrifanri</a><br />
<h3 id="sites-page-title-header" align="left">2011.11回(第2回)の振り返り</h3>
というまとめがアップされてたので内容はそちらのほうが詳しいのですがー<br />
blockdiag、LT3本の感想をまとめとこうかなと思います。<br />
※すでに5日経過して、思い出の中で書いているので文書鮮度は低いです。<a title="odstudy第二回に参加してきて、次の日にOPENスクエアのフリーセミナー" href="http://seedslight.com/wp/archives/197" target="_blank">これの続き</a>　（）は僕独自のつぶやきです。<br />
<br />
&nbsp;<br />
<h3>■blockdiag の最新状況</h3>
<pre>class,plugin,attributesという点が基本機能に追加されたとのこと。attributes(属性)は
sphinxとの連携で表にすることができるらしいので、後で使ってみたいと思う。 
特に、rackdiag でラック図がテキストにて書けるようになったなら、電力消費はattributesで
計算をさせたらいいんじゃないかって思うし。</pre>
<pre>あと、シェイプの追加やアイコンを乗っけられるのってExcelより便利じゃないかと思うんだが
とにかく使用例や導入例なんかを増やして、利用者が増えるようになるといいんじゃないかと
思ったり。まずはインストール頑張ろうかな。</pre>
<pre>もちろん、解決していない問題点もあるらしく、図が大きくなりすぎることらしい。
確かに、一つにまとめたらいくらでも広大なネットワーク図ができるかもしれない。
処理能力の限り。
グループでネストできればという話も出てたけど、 拡大、縮小はExcelの特殊能力になるのかな。</pre>
<pre>（妄想：
うーん。どんな形がいいんだろう。スワイプしたら改行マークまでずれて表示する形とかかなー。
<a title="アニメーションgifならぬアニメーションjpg/png" href="http://blog.rettuce.com/animation/animation-jpg/" target="_blank">http://blog.rettuce.com/animation/animation-jpg/</a> 
というページを見つけたので、 表示範囲を適切にしたjavascriptなのかなぁ。
ブラウザ限定ってのもどうかと思うし。画像だけで拡大、縮小はないだろうしね。。。
ラベルを付けて階層化して、表示を第一階層まで（大まかに）第二階層（詳細）とか
出力時に選ぶとか?）</pre>
<pre>（とにかく、入れよう!使おうという事で、パートナーのK君にTracプラグイン入れておいて
と頼んで2営業日経過。自分でもやろう。うん。）</pre>
<h3>■画面写真つき手順書について@penguin-jrさん</h3>
Excelに画面写真を貼り付けてエビデンス。（いつからあったのかという問いには、2001の新入社員時代から<br />
僕は先輩に作り方を教わったりしてましたので、かなり昔からと思いました。）<br />
利点は多いけれど、 使い方を間違っているとイマイチらしいです。画像のため、サイズが大きくなりがちだし、<br />
バージョン管理しにくいファイル名　「詳細機能_yyyymmdd.xls」みたいなものはどれが最新だか難しいとか。<br />
<br />
羽生 結弦くんのロシア杯はみました。ジョニーウィアー系だと思っていたのですが<br />
衣装が似ているなと思いつつ…彼は飛翔感が素晴らしいなと感じましたね。<br />
特にジャンプ以外の部分で翔んでいる時の滞空時間とかふわりとした自然さとかは。<br />
（※スライドで一番大事なことだった関係です）<br />
<h3>■logstudy@qryuuさん</h3>
何をLogに出すのか。どうやってLogに出すのかを考えるという勉強会。<br />
後で読み取る人のことを考えて作るべき。ログが途中でフラッシュされてしまうような作りだと、Zabbixで監視できないとか。<br />
（Logについて。これすごく大事。JavaのCatalina.out  を目grepしてると疲れちゃうから。<br />
ApacheやPHPのログも役に立つけど、予期せぬエラーはあとの調査をやりやすくするために<br />
考える必要があるだろうし。）<br />
<h3>■家族マイレージの話@やまぐちぱぱさん（うろおぼえ）</h3>
勉強会、懇親会と参加していると、休日がつぶれたりするんで家族に借りを作ってしまう（＝マイレージ？逆かな？）<br />
で、子供連れて参加できると奥さんを解放できたりで嬉しい。子供もいろんな人に会えて嬉しい。<br />
（きっと、フューチャーアーキテクトの会社に入れる だけでも楽しいと思います。僕も連れて行きたくなりました。）<br />
<br />
疲れたので、今日はここまで。<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://seedslight.com/wp/archives/202/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>odstudy第二回に参加してきて、次の日にOPENスクエアのフリーセミナー</title>
		<link>http://seedslight.com/wp/archives/197</link>
		<comments>http://seedslight.com/wp/archives/197#comments</comments>
		<pubDate>Thu, 24 Nov 2011 17:20:41 +0000</pubDate>
		<dc:creator>Ryuji Ebine</dc:creator>
				<category><![CDATA[勉強会]]></category>
		<category><![CDATA[odstudy]]></category>
		<category><![CDATA[opensquare]]></category>

		<guid isPermaLink="false">http://seedslight.com/wp/?p=197</guid>
		<description><![CDATA[2011/11/23参加 https://sites.google.com/site/odstudy/ 2011/11/24参加 OPENスクエアのフリーセミナー と。なぜか連続した日に勉強会、セミナー（講習会だから同じ [...]]]></description>
			<content:encoded><![CDATA[<p>
<p>2011/11/23参加<br /><br />
	<a href="https://sites.google.com/site/odstudy/" target="_blank" title="odstudy公式？">https://sites.google.com/site/odstudy/</a></p>
<p>2011/11/24参加<br /><br />
	<a href="http://www.opensquare.co.jp/seminar/free-seminar-13.html" target="_blank" title="第十三回 スクエア free セミナー">OPENスクエアのフリーセミナー</a></p>
<p>と。なぜか連続した日に勉強会、セミナー（講習会だから同じか）に参加してきたので記録。<br /><br />
	同じ部分もあったり真逆の部分もあったのでこの際だから比較してみようかなと思ったり。</p>
<table border="1" cellpadding="1" cellspacing="1" style="width: 500px; ">
	<thead>
		<tr>
			<th scope="col" style="background-color: rgb(204, 204, 204); ">比較項目</th>
			<th scope="col" style="background-color: rgb(204, 204, 204); ">odstudy</th>
			<th scope="col" style="background-color: rgb(204, 204, 204); ">opensquare</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>テーマ</td>
			<td>運用とドキュメント</td>
			<td>オープンソースDBMS</td>
		</tr>
		<tr>
			<td>参加人数（スタッフ含む)</td>
			<td>50人ほど</td>
			<td>20人ほど</td>
		</tr>
		<tr>
			<td>会場</td>
			<td>
				<p>託児所付休憩ルーム？和室広々、</p>
				<p>ソファ広々、とにかく広い</p>
			</td>
			<td>会議室2部屋ぶち抜き</td>
		</tr>
		<tr>
			<td>スーツ率</td>
			<td>なし（休日だったからかも）</td>
			<td>１００％</td>
		</tr>
		<tr>
			<td>年齢層</td>
			<td>僕は上から数えたほうが早い。</td>
			<td>僕は下から数えたほうが早い。</td>
		</tr>
		<tr>
			<td>使用スライド</td>
			<td>画像多い。ネタ豊富。</td>
			<td>画像1割。文字数は多いがまとまってる。販売促進材料がベースだから？</td>
		</tr>
		<tr>
			<td>スライド内会社名</td>
			<td>伏せる。可能な限り。おいしいネタならなおさら。</td>
			<td>可能な限りロゴも出力。</td>
		</tr>
		<tr>
			<td>発表を聞く態度</td>
			<td>ネタに合わせて拍手か笑う。そして隙あればツイートする。メモを取ったりエディタでまとめたり。</td>
			<td>メモを取る。静かに聞く。何かをYahooで検索をしている。「ご清聴ありがとうございました」と締めくくられる。</td>
		</tr>
		<tr>
			<td>エクセル</td>
			<td>
				<p>エクセルのここが嫌だをネタにする。</p>
				<p>置き換えられる方法やうまく付き合う方法を模索する姿勢。</p>
			</td>
			<td>デフォルト。PDFに並ぶ出力方法。鉄板。</td>
		</tr>
		<tr>
			<td>使用PC</td>
			<td>Mac40%（他の勉強会に比べて少ないほうかも）</td>
			<td>ノートはWindows。タブレットはipad</td>
		</tr>
		<tr>
			<td>懇親会</td>
			<td>
				<p>19:30～23:00</p>
				<p>有料制。イタリアン食べ放題。お店へのストレステスト実施。</p>
			</td>
			<td>
				<p>19:00～20:00</p>
				<p>ビアバッシュ。ピザじゃなくて乾き物。</p>
				<p>二次会あり。</p>
			</td>
		</tr>
		<tr>
			<td>お金のにおい</td>
			<td>無いところから始まるのが前提。予算つかないのが当たり前。</td>
			<td>使えるお金はあるんだけれど、可能な限りお得に使いたいが基本姿勢。</td>
		</tr>
		<tr>
			<td>名刺</td>
			<td>個人名刺もあり。しなくてもいいんじゃないという雰囲気も。</td>
			<td>全員と交換する必要あり。</td>
		</tr>
		<tr>
			<td>ソース読んでる?</td>
			<td>読んでる人もいる。（趣味で）</td>
			<td>読んでる人もいる。（仕事で）</td>
		</tr>
	</tbody>
</table>
<p>&nbsp;</p>
<p>こうしてみると、こんなに差があるコミュニティに両方参加するのが不思議かも。<br /><br />
	そして、どちらか片方の陣営に取り込まれた時、もう片方から集中砲火をくらうかもしれない。<br /><br />
	というか、コウモリのようにすべてを敵に回すなこりゃ。。。。360度戦闘は慣れてるからいいけどね（涙</p>
<h2>■odstudyのグループセッション（チームものぐさの視点）</h2>
<p>で。話は急ですがodstudyのグループセッションについてまとめようと思いまして。</p>
<p>広々とした会場を7～8人で1グループ作って、1時間ブレスト、30分まとめ、5分発表ｘ6グループ<br /><br />
	っていうのをやりました。初めてのグループセッションだったので緊張しましたけど、<br /><br />
	ガイドラインを主催側が用意してくれていたので何とか発表までこぎつけられたというか。</p>
<p>題目は「属人化」でして、それぞれのチームで独自に解釈して発表していました。<br /><br />
	たぶん、後でスライドはいろんなところに乗ると思いますが、早く見たい!って人は<br /><br />
	<a href="http://togetter.com/li/218088">http://togetter.com/li/218088</a>　　&larr;</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 20px; line-height: 1.1; color: rgb(0, 0, 0); font-family: Verdana, arial, helvetica, clean, sans-serif; "><a class="info_title" href="http://togetter.com/li/218088" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(255, 136, 56); cursor: pointer; text-decoration: none; " title="odstudy 第2回 本編まとめ  #odstudy">odstudy 第2回 本編まとめ #odstudy</a></h3>
<p>これを見るのがよろしいかと。</p>
<p>僕らのチームは「チームものぐさ」発表は1番でしたが、資料作成は一番遅く、ロスタイムを使っていたような。<br /><br />
	チーム名決めと役割分担まではスムーズでしたけれど、話の広がり方とテーマの間を埋めるのが<br /><br />
	大変だったというか、時間かかりましたねーって反省です。@usaturnさんがモデレーター、@sheeploghさんが<br /><br />
	書記で頑張ってくれたおかげでまとまっていました。</p>
<p>議論を煮詰める段では、@asama_mさん、@ken_merryさんが大まかなシナリオを出してくれていたのが印象的。<br /><br />
	間に合わなさそうな状況を見るに見かねての事だったんじゃないかな。@ixixiさんの意見は別分類とされる<br /><br />
	事が多かったけれど、1つのゴールの形として運用、インフラ以外の視点として貴重だったんじゃないかって<br /><br />
	思いました。</p>
<br />
<h4>■遅れた理由</h4>
<p>個人的な反省として、「しゃべらない人が多かったから大変だっただろう」って終わった直後は思っていましたが<br /><br />
	それは僕の見当違いだったんだなと痛感しています。後半はみんな2，3人で固まって意見出していました。<br /><br />
	全てを記録するわけにはいかなかったぐらい出てました。</p>
<br />
<p>じゃあなぜ、資料作成遅かったんだろうって考えたんですが、目的をテーブルの真ん中に書かずして<br /><br />
	話し始めたことと、この勉強会に来た動機も含めて、そこから普遍的なものを抽出して<br /><br />
	まとめようと思ったことでしょうか。（これはこれで面白かったんで後で追記しようかと。）</p>
<h4>■真ん中にいても吹き溜まり？いや、小惑星帯かも</h4>
<p>後の理由は、個人的な妄想に近くなるんですが&hellip;<br /><br />
	僕らの座っていた関は会場の真ん中でした。チーム分けした後も、ちょうど真ん中でした。<br /><br />
	メンバーは奇妙な共通点があったんじゃないかって思うのです。</p>
<p>コウモリの話じゃないですが、中間に位置する人々のパターンなのかと。どちらの特徴もあるため<br /><br />
	どちらにも属していない状態が多い人々が真ん中に集まっていたのかなって思ったんです。<br /><br />
	中庸をとるのがうまい人々で、聞き手に回ることが多い人がいたのかなって今にして思えばですが。</p>
<p>そして、一人でいることが苦にならない人々だったかなって思いました。<br /><br />
	それぞれが背負ってきた動機は個性的で、全員共通って最後まで出てないんじゃない&hellip;?<br /><br />
	ってぐらい、広範囲だったような。<br /><br />
	そして、最初に座っていた形式はそれぞれ個人用テーブルだったこととかが象徴的だなと。</p>
<h4>■属人化から脱している人々、戻りたくない人々</h4>
<p>でもなんか違うなぁと思ったのは、みんな、属人化を避けるための仕組みやツールを使っていた人ばかりで<br /><br />
	仕組みやツールに問題があるから、属人化状態まで戻ってしまうことを恐れるという背景を背負って<br /><br />
	話している感じでした。チームの中で浮いているというか、引っ張っていく立場の人とか。<br /><br />
	「属人化は避けられているので、まとめない！！維持するのはいろいろあって大変」<br /><br />
	っていう結論でも「運用フェイズ」っぽくて面白かったかなと思ったりです。</p>
<p>さて、深夜になったんで文書も変だし、１つの記事にするにはまとまりないし。<br /><br />
	各発表についてもまとめたいので一度クローズします。</p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://seedslight.com/wp/archives/197/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JenkinsでPHPUnitのテストファイルを複数指定する。</title>
		<link>http://seedslight.com/wp/archives/193</link>
		<comments>http://seedslight.com/wp/archives/193#comments</comments>
		<pubDate>Thu, 27 Oct 2011 12:42:45 +0000</pubDate>
		<dc:creator>Ryuji Ebine</dc:creator>
				<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[UNIXserver]]></category>
		<category><![CDATA[PHPUnit]]></category>

		<guid isPermaLink="false">http://seedslight.com/wp/?p=193</guid>
		<description><![CDATA[この続きです。 だいぶ間が空いてしまいました。 phpunit --log-junit reports/unitreport.xml \ --coverage-html reports/coverage \ --cove [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://seedslight.com/wp/archives/191" title="JenkinsでPHPUnitを実行してコードカバレッジを試した。">この続きです。</a><br />
だいぶ間が空いてしまいました。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">phpunit <span style="color: #660033;">--log-junit</span> reports<span style="color: #000000; font-weight: bold;">/</span>unitreport.xml \
<span style="color: #660033;">--coverage-html</span> reports<span style="color: #000000; font-weight: bold;">/</span>coverage \
<span style="color: #660033;">--coverage-clover</span> reports<span style="color: #000000; font-weight: bold;">/</span>coverage<span style="color: #000000; font-weight: bold;">/</span>coverage.xml \
.<span style="color: #000000; font-weight: bold;">/</span>test<span style="color: #000000; font-weight: bold;">/</span>test_lib_<span style="color: #000000; font-weight: bold;">*</span>.php</pre></div></div>

<br />
<br />
<br />
</p>
<blockquote><p>僕のコマンドラインでのテストファイル指定は致命的なものがあるんだけれど、別の投稿にします。</p></blockquote>
<p>
って書いたまま放置して申し訳ないです。<br />
<br />
どうもワイルドカードで指定したつもりだったんですが、結果を見ると最初のテストファイルの結果しか出てきません。<br />
<span id="more-193"></span><br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># phpunit --log-junit reports/unitreport.xml \</span>
<span style="color: #660033;">--coverage-html</span> reports<span style="color: #000000; font-weight: bold;">/</span>coverage \
<span style="color: #660033;">--coverage-clover</span> reports<span style="color: #000000; font-weight: bold;">/</span>coverage<span style="color: #000000; font-weight: bold;">/</span>coverage.xml \
.<span style="color: #000000; font-weight: bold;">/</span>test<span style="color: #000000; font-weight: bold;">/</span>test_lib_create.class.php \
.<span style="color: #000000; font-weight: bold;">/</span>test<span style="color: #000000; font-weight: bold;">/</span>test_lib_db_get.class.php</pre></div></div>

<br />
<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># phpunit --log-junit reports/unitreport.xml \</span>
<span style="color: #660033;">--coverage-html</span> reports<span style="color: #000000; font-weight: bold;">/</span>coverage \
<span style="color: #660033;">--coverage-clover</span> reports<span style="color: #000000; font-weight: bold;">/</span>coverage<span style="color: #000000; font-weight: bold;">/</span>coverage.xml \
.<span style="color: #000000; font-weight: bold;">/</span>test<span style="color: #000000; font-weight: bold;">/</span>test_lib_create.class.php</pre></div></div>

<br />
<br />
<br />
両方とも同じ結果が出るのです。ワイルドカードが悪いとかそういう問題じゃなかったのです。<br />
<br />
<br />
<br />
</p>
<blockquote><p>どうやら、複数のファイルを指定したい場合はディレクトリ指定＋filterで行うか、xmlの設定ファイルを作って、-cで読み込ませるらしい。</p></blockquote>
<p>
<br />
という事が分かりました。<br />
<br />
<a href="http://www.phpunit.de/manual/3.5/ja/organizing-tests.html#organizing-tests.xml-configuration" title="XML 設定ファイルを用いたテストスイートの構成">http://www.phpunit.de/manual/3.5/ja/organizing-tests.html#organizing-tests.xml-configuration</a><br />
<br />

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">例 7.2: XML 設定ファイルを用いたテストスイートの構成
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;phpunit<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;testsuites<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;testsuite</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Object_Freezer&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Tests/Freezer/HashGenerator/NonRecursiveSHA1Test.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Tests/Freezer/IdGenerator/UUIDTest.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Tests/Freezer/UtilTest.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Tests/FreezerTest.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Tests/Freezer/StorageTest.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Tests/Freezer/Storage/CouchDB/WithLazyLoadTest.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Tests/Freezer/Storage/CouchDB/WithoutLazyLoadTest.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/testsuite<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/testsuites<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/phpunit<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<br />
<br />
<br />
こんな感じで、PHPUnitのマニュアルには書いてあります。<br />
で、これは相対パスなので、Jenkinsとかがバージョン管理システムから最新を持ってきてディレクトリ作って<br />
実行するならこれでもOKです。ちょっと試したいとかだったら絶対パスで書いちゃっても・・・<br />
<br />
<a name="correctshell" id="correctshell"><br />
複数指定をしたときのシェルコマンド</a><br />
<br />

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"> phpunit <span style="color: #660033;">-c</span> .<span style="color: #000000; font-weight: bold;">/</span>test<span style="color: #000000; font-weight: bold;">/</span>test_lib.xml \
<span style="color: #660033;">--log-junit</span> reports<span style="color: #000000; font-weight: bold;">/</span>unitreport.xml \
<span style="color: #660033;">--coverage-html</span> reports<span style="color: #000000; font-weight: bold;">/</span>coverage \
<span style="color: #660033;">--coverage-clover</span> reports<span style="color: #000000; font-weight: bold;">/</span>coverage<span style="color: #000000; font-weight: bold;">/</span>coverage.xml</pre></div></div>

<br />
<br />
最終的にはこんな感じですね。<br />
<br />

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">test_lib.xml
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;phpunit<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;testsuites<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;testsuite</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Test_Lib_class&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>test_lib_create.class.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>test_lib_db_get.class.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>test_lib_dbsave.class.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>test_lib_save_file.class.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>test_lib_xmlput.class.php<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/file<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/testsuite<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/testsuites<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/phpunit<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<br />
<br />
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://seedslight.com/wp/archives/193/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

