<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>BLOG</title>
    <link>http://www.tom-gs.com/blog/</link>
    <description></description>
    <!-- optional tags -->
    <language>ja</language>           <!-- valid langugae goes here -->
    <generator>Nucleus CMS v3.64</generator>
    <copyright>ｩ</copyright>             <!-- Copyright notice -->
    <category>Weblog</category>
    <docs>http://backend.userland.com/rss</docs>
    <image>
      <url>http://www.tom-gs.com/blog//nucleus/nucleus2.gif</url>
      <title>BLOG</title>
      <link>http://www.tom-gs.com/blog/</link>
    </image>
    <item>
 <title><![CDATA[Sony VAIO VGN-TZ90NSにUbuntu 11.10 64bit版を入れてみた]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=275</link>
<description><![CDATA[<p>
	可能性を広げるためとか、Vistaが嫌だったからとか、環境改善とかいろいろ理由はあるのだけれど、世界的にも名高いデスクトップLinux OS、Ubuntuをインストールしてみた。</p>
<p>
	インストール自体は、何回かVMwareなどでインストールした経験があったのだが、やはりインストールが簡単。<br />
	この<a href="http://www.vaio.sony.co.jp/Products/TZ1/" target="_blank">TZ90</a>はオーナーメイドで作ってもらったもので、Windows Vista Business Editionが入っており、Google日本語入力もまともに動かない（起動中に落ちる）というカオスなマシン。<br />
	常にHDDアクセスランプが付いているので、いい加減乗り換えたかった。</p>
<p>
	HDDは60GHz、メモリは2GBに増設済み。</p>
<p>
	オフィシャルサイトの指示通り、インストールディスクを作成。CD-Rで作れるのが魅力的。<br />
	光学ドライブにCDをセットして、起動させると見事Ubuntuのインストーラーが立ち上がる。</p>
<p>
	インストール自体は1時間ぐらいだっただろうか？　2時間はかからなかったと思う。普通に待てる時間だった。</p>
<p>
	会社でPCのインストールとかやってるけど、Windows XPに比べてWindows 7は速い。しかしUbuntuはOSのインストール自体もそうだが、ハードウェアのドライバの依存関係もデフォルトで解決してくれるので、OSインストール後の手間がはるかに違う。<br />
	Viva Linux!　マイクロソフトも見習って欲しい。</p>
<p>
	インターフェースはMac OSに似てる。どっちが先かは知らんが。</p>
<p>
	無線LANの設定に少し戸惑うも、アップデートも行い最新の状態に。これで2、3時間ぐらいじゃないだろうか。<br />
	Google Chrome（Chromium Browser）とMozcをインストール。メーラーもセットアップ。すこぶる快適だ。</p>
<p>
	Windows使うよか快適な感じ。（このPCの場合）</p>
<p>
	Windowsとのファイル共有もできるので、何の支障もない。<br />
	ただ、若干ウェブとかで文字化けしているところがあるっぽい。（特にFlash関連）</p>
<p>
	でも一応快適だ。<br />
	なんどもいうが、Linuxのドライバのサポート率は半端ない。</p>
<p>
	ディスプレイもUSBも、BluetoothもLANも気にしなくてもOSインストール後そのまま使える。</p>
<p style="text-align: center;">
	<a href="/blog/media/blog/20120206001l.png" rel="lightbox[]" target="_blank" title="VAIO VGN-TZ90NS"><img alt="VAIO VGN-TZ90NS" height="150" src="/blog/media/blog/20120206001s.png" title="" width="200" /></a><a href="/blog/media/blog/20120206002l.png" rel="lightbox[]" target="_blank" title="BIOS起動画面"><img alt="BIOS起動画面" height="150" src="/blog/media/blog/20120206002s.png" title="" width="200" /></a><br />
	<a href="/blog/media/blog/20120206003l.png" rel="lightbox[]" target="_blank" title="Ubuntu 11.10 64bitのログイン画面"><img alt="Ubuntu 11.10 64bitのログイン画面" height="150" src="/blog/media/blog/20120206003s.png" title="" width="200" /></a><a href="/blog/media/blog/20120206004l.png" rel="lightbox[]" target="_blank" title="Google ChromeやWindowsとのファイル共有"><img alt="Google ChromeやWindowsとのファイル共有" height="150" src="/blog/media/blog/20120206004s.png" title="" width="200" /></a></p>
]]></description>
 <category>コンピュータ</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=275</comments>
 <pubDate>Mon, 6 Feb 2012 02:37:07 +0900</pubDate>
</item><item>
 <title><![CDATA[PHPのエラーが見づらい時]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=274</link>
<description><![CDATA[<p>
	remiレポジトリを使って、PHPをインストールしているのですが、あるときからブラウザ上に表示されるエラーが見づらくなった。<br />
	これ自体はphp.iniで設定変更できる。</p>
<p>
	問題となっているのはhtml_errorsという設定項目。<br />
	これのOn/Offを切り替えることでブラウザ上に表示されるエラーがHTMLフォーマットになるかどうかを設定できる。</p>
<p>
	Apacheなんかのエラーログに載るときはHTMLフォーマットのエラーは見づらくなるので、お好みの方を選べばいい。<br />
	個人的に開発段階では、HTMLフォーマットのほうが見やすいと思う。</p>
<p>
	/etc/php.ini</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">html_errors = Off
</pre>
<p style="text-align: center;">
	<a href="/blog/media/blog/20120131001l.png" rel="lightbox" title="PHP - html_errors"><img alt="PHP - html_errors" height="109" src="/blog/media/blog/20120131001s.png" title="PHP - html_errors" width="400" /></a></p>
]]></description>
 <category>WEB、WEBシステム関連</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=274</comments>
 <pubDate>Tue, 31 Jan 2012 02:17:39 +0900</pubDate>
</item><item>
 <title><![CDATA[Apacheのアクセスログ・エラーログのフォーマットがイケてない件]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=273</link>
<description><![CDATA[<p>
	言われてみて納得だった。<br />
	Apacheのアクセスログとエラーログの日付のフォーマットが違う。<br />
	通常は、エラーが発生したら、それに対応するアクセスを見つけようとするだろう。</p>
<p>
	なので、アクセスログとエラーログを同じファイルに出力しているという人も聞いたことがある。<br />
	どっちにしろ、ログ解析をする時に困る。</p>
<p>
	論より証拠。<br />
	私のVMware環境のログ。確かに日付のフォーマットが違う。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">==&gt; error_log.0127 &lt;==
<span style="color:#f00;">[Fri Jan 27 01:02:24 2012]</span> [error] [client 192.168.***.***] File does not exist: /home/www/localhost/public_html/test

==&gt; access_log.0127 &lt;==
192.168.***.*** - - <span style="color:#f00;">[27/Jan/2012:01:02:24 +0900]</span> &quot;GET /test HTTP/1.1&quot; 404 278 &quot;-&quot; &quot;Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1&quot;
</pre>
<p>
	これを同じフォーマットになるように設定を変更する。<br />
	私はアクセスログにデフォルトで用意されているcombined識別子を使うため、それを直接変更してみた。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">#変更前
LogFormat &quot;%h %l %u %t \&quot;%r\&quot; %&gt;s %b \&quot;%{Referer}i\&quot; \&quot;%{User-Agent}i\&quot;&quot; combined

#変更後
LogFormat &quot;%h %l %u <span style="color:#f00;">[%{%a %b %d %T %Y}t]</span> \&quot;%r\&quot; %&gt;s %b \&quot;%{Referer}i\&quot; \&quot;%{User-Agent}i\&quot;&quot; combined
</pre>
<p>
	%{format}tを使う。参考にできるページは以下のとおり。</p>
<ul>
	<li>
		<a href="http://httpd.apache.org/docs/2.2/ja/mod/mod_log_config.html" target="_blank">Apache モジュール mod_log_config<br />
		</a></li>
	<li>
		<a href="http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/strftime.3.html" target="_blank">Man page of STRFTIME<br />
		</a></li>
	<li>
		<a href="http://php.net/manual/ja/function.strftime.php" target="_blank">PHP: strftime - Manual<br />
		</a></li>
</ul>
<p>
	これで再度確認してみたら、日付のフォーマットが統一できた。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">==&gt; error_log.0127 &lt;==
<span style="color:#f00;">[Fri Jan 27 01:03:27 2012]</span> [error] [client 192.168.***.***] File does not exist: /home/www/localhost/public_html/test

==&gt; access_log.0127 &lt;==
192.168.***.*** - - <span style="color:#f00;">[Fri Jan 27 01:03:27 2012]</span> &quot;GET /test HTTP/1.1&quot; 404 278 &quot;-&quot; &quot;Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1&quot;
</pre>
<p>
	&nbsp;</p>
<p>
	と、ここで疑問が湧いてきた。</p>
<p>
	なぜアクセスログとエラーログで日付のフォーマットが違うのか。<br />
	その答えを探してみたが見つからなかった。</p>
<p>
	<a href="http://httpd.apache.org/docs/2.0/ja/logs.html#errorlog" target="_blank">Apacheのエラーログのページ</a>には、エラーログはカスタマイズできないが、アクセスログと照らし合わせることでトレース可能みたいな内容。<br />
	深く確認していないのだが、ApacheのエラーログはLogFormatみたいな指定ができない・・・ってことだろうか。</p>
<p>
	ひとまずこれは、サーバー設定項目で必須のものとなるはずだ。</p>
]]></description>
 <category>WEB、WEBシステム関連</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=273</comments>
 <pubDate>Fri, 27 Jan 2012 02:02:15 +0900</pubDate>
</item><item>
 <title><![CDATA[自作ランチャーの便利な使い方]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=272</link>
<description><![CDATA[<p>
	すごく久しぶりの投稿です。<br />
	最近は忙しくて、なかなかサイトを行進することが出来なかったので、簡単な記事でも投稿しようと。</p>
<p>
	だいぶ前、<a href="http://www.tom-gs.com/blog/index.php?itemid=191" target="_blank">自作ランチャーの作り方をブログに投稿しました</a>が、仕事で使っていてこの方法が意外に便利だと気づきました。<br />
	ショートカットでランチするソフトを追加したり、削除したりできるのも便利なんですが、特定のファイルを開くこともできるできるということです。</p>
<p>
	具体的には・・・</p>
<p>
	仕事でよくhostsというネットワーク用のファイルをいじることが多いのですが、Windows上のhostsはかなり深い階層に存在していて、しかも拡張子がついていないので、ファイルタイプで使用するソフトを関連付けすることができない。<br />
	そこで、ショートカットと実行ファイルの使い方を利用して、ランチャーで起動できるようにします。</p>
<p>
	エディタはVimを利用しています。<br />
	では、設定方法。前回の記事の構成を利用します。</p>
<p>
	C:\launcherで右クリック＞「新規作成」＞「ショートカット」。<br />
	「項目の場所を指定してください」に以下のように記述して、「次へ」。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">&quot;C:\Program Files\Vim\vim72\gvim.exe&quot; &quot;C:\Windows\System32\drivers\etc\hosts&quot;
</pre>
<p>
	「ショートカットの名前を入力してください」に「hosts」と入力。「完了」をクリックします。<br />
	簡単なんです。</p>
<p style="text-align: center;">
	<a href="/blog/media/blog/20111225_001_l.png" rel="lightbox"><img alt="ショートカットの作成ダイアログ" height="158" src="/blog/media/blog/20111225_001_s.png" title="ショートカットの作成ダイアログ" width="200" /></a></p>
<p>
	あまり馴染みがないと思いますが、コマンドプロンプト上では、exeファイルは一種のコマンド（いや実行ファイルだけど）みたいなもので、引数が指定できるようになっています。<br />
	Vimの場合、第1引数はファイルを指定することができます。<br />
	詳細は各ソフトのヘルプを見る必要がありますが、大体第1引数はファイルみたいです。</p>
<p>
	ちなみに、Vimの場合はコマンドプロンプトで以下を実行するとヘルプが見れます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">&quot;C:\Program Files\Vim\vim72\gvim.exe&quot; --help
</pre>
<p style="text-align: center;">
	<a href="/blog/media/blog/20111225_002_l.png" rel="lightbox"><img alt="Vimのヘルプ（Windows）" height="149" src="/blog/media/blog/20111225_002_s.png" title="Vimのヘルプ（Windows）" width="300" /></a></p>
<p>
	いやー、下手に他のランチャソフトに手出さなくてよかった。</p>
]]></description>
 <category>コンピュータ</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=272</comments>
 <pubDate>Sun, 25 Dec 2011 03:13:00 +0900</pubDate>
</item><item>
 <title><![CDATA[Redmineをインストールしてみる]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=271</link>
<description><![CDATA[<p>
	概してこういうものはインストールが面倒くさい。<br />
	PHP+MySQLで動作するCMSほど、インストールが簡単じゃないのが特徴で、大体の場合がうまく行かない。</p>
<p>
	<a href="http://blog.redmine.jp/articles/redmine-1_2-installation_centos/" target="_blank">RedmineのブログにCentOS 5.6へのインストール方法の記事</a>があった。<br />
	この通りやったら概ねうまくいった。ということでその方法。</p>
<p>
	ちなみにCentOS 6.0に入れた。MySQLは5.5。</p>
<p>
	ちなみにTracのインストールもやってみたけど、これはようわからんかった。<br />
	インストール手順とかがわかりにくかったので諦めました。</p>
<p>
	ApacheとかMySQLとかの基本的な設定は、自身の開発環境なので整っています。<br />
	そこで、まずは最初にデータベースを片付けます。<br />
	MySQLにrootでアクセスして以下のクエリを実行です。パスワード等は変えてください。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">CREATE DATABASE redmine DEFAULT CHARACTER SET utf8;
GRANT ALL ON redmine.* TO redmine_admin IDENTIFIED BY &#39;password&#39;;
FLUSH PRIVILEGES;
</pre>
<p>
	では、Linux上でrootになり必要なサーバーモジュールのインストールからはじめます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># yum install httpd-devel
# wget http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2011.03.tar.gz
# tar xzvf ruby-enterprise-1.8.7-2011.03.tar.gz
# ./ruby-enterprise-1.8.7-2011.03/installer --dont-install-useful-gems --no-dev-docs
[/opt/ruby-enterprise-1.8.7-2011.03] : /usr/local/
# gem install rack -v=1.1.1 --no-rdoc --no-ri
# gem install rake -v=0.8.7 --no-rdoc --no-ri
</pre>
<p>
	この時点で以下のコマンドしろとか言われるけど、実際もっと後なのでしなくてOK。しても怒られるだけ。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># rake generate_session_store
# gem install i18n -v=0.4.2 --no-rdoc --no-ri
# gem install mysql --no-rdoc --no-ri
</pre>
<p>
	ここでApache用のユーザー（私の場合はwebmaster）に切り替えます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># su - webmaster
</pre>
<p>
	迷いましたが以下のディレクトリを作ってそこに展開することに。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># mkdir cgi-bin
# cd cgi-bin/
# wget http://rubyforge.org/frs/download.php/75097/redmine-1.2.1.tar.gz
# tar zxvf redmine-1.2.1.tar.gz
# cd redmine-1.2.1/
# cp config/database.yml.example config/database.yml
</pre>
<p>
	DB設定をします。データベース、ユーザー、パスワードを先ほど作ったものにします。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># vi config/database.yml

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine_admin
  password: password
  encoding: utf8
</pre>
<p>
	システムの設定をします。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># cp config/configuration.yml.example config/configuration.yml
</pre>
<p>
	domainの部分を適当にかえます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># vi config/configuration.yml

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: &quot;localhost&quot;
      port: 25
      domain: &#39;example.com&#39;

# rake generate_session_store
# rake db:migrate RAILS_ENV=production
</pre>
<p>
	ドキュメンルート以下にシンボリックリンクを作って見れるようにする。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># ln -s /home/webmaster/cgi-bin/redmine-1.2.1/public/ /home/webmaster/public_html/redmine
</pre>
<p>
	ここでrootに戻ります。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># exit
# gem install passenger --no-rdoc --no-ri
# passenger-install-apache2-module

# vi /etc/httpd/conf.d/passenger.conf

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9
PassengerRuby /usr/local/bin/ruby

Header always unset &quot;X-Powered-By&quot;
Header always unset &quot;X-Rack-Cache&quot;
Header always unset &quot;X-Content-Digest&quot;
Header always unset &quot;X-Runtime&quot;

PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerUseGlobalQueue on
PassengerHighPerformance on
PassengerStatThrottleRate 10
RailsSpawnMethod smart
RailsAppSpawnerIdleTime 86400
RailsFrameworkSpawnerIdleTime 0
RailsBaseURI /redmine

# /etc/init.d/httpd configtest
# /etc/init.d/httpd graceful
</pre>
<p>
	これでhttp://IPアドレス/redmine/にアクセスするとRedmineが見れます。最初のユーザーはIDもパスワードもadminとなっているのでそれでログインできます。</p>
]]></description>
 <category>WEB、WEBシステム関連</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=271</comments>
 <pubDate>Wed, 14 Sep 2011 02:20:25 +0900</pubDate>
</item><item>
 <title><![CDATA[Gangliaのバージョン違いでモニタリングができない件]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=270</link>
<description><![CDATA[<p>
	過去に使っていたCentOS 6.0に乗り換える前に使っていたCentOS 5.6のVMのイメージがあったので、こいつにgangliaでモニタリングできるようにしてみようと思ったのですが、これが結構くせものでした。</p>
<p>
	というこうとで、前にやったようにyumでインストールします。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ yum install ganglia-gmond
</pre>
<p>
	でまぁ設定して、起動します。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ /etc/init.d/gmond start
</pre>
<p>
	で監視サーバーの方を見てみたのですが、待てど暮らせど監視対象として上がってきやしない。<br />
	いろいろ試してみたのですが、結局のところ使ってるバージョンの問題であると判明。<br />
	っていうのは新しいバージョンのやつを入れて気づきました。</p>
<p>
	モニタリングのクライアントである、gmondのバージョンが問題のようです。<br />
	私の環境では、</p>
<table border="1" cellpadding="1" cellspacing="1" style="width: 300px;">
	<thead>
		<tr>
			<th scope="col">
				OS</th>
			<th scope="col">
				監視クライアント</th>
			<th scope="col">
				監視サーバー</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Scientific Linux 6.0</td>
			<td style="text-align: center;">
				gmond-3.2</td>
			<td style="text-align: center;">
				gmetad-3.2</td>
		</tr>
		<tr>
			<td>
				CentOS 6.0</td>
			<td style="text-align: center;">
				gmond-3.1</td>
			<td style="text-align: center;">
				---</td>
		</tr>
		<tr>
			<td>
				CentOS 5.6</td>
			<td style="text-align: center;">
				gmond-3.0</td>
			<td style="text-align: center;">
				---</td>
		</tr>
	</tbody>
</table>
<p>
	&nbsp;</p>
<p>
	ということでCentOS 5.6には3.0がインストールされてしまうんです。<br />
	サーバー側のgmetad-3.2とクライアントのgmond-3.0の相性がよくないらしい。っていうか、対応してないみたい。</p>
<p>
	&nbsp;</p>
<p>
	&nbsp;</p>
<p>
	ということで、最新の3.2をインストールすることにします。</p>
<p>
	まずは、インストールした3.0を削除します。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ yum remove ganglia*
</pre>
<p>
	でRPM取ってきます。私のはGUI環境だったのでブラウザでダウンロードしました。コマンドでやる場合は以下でOK・・・みたいです。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ wget http://cdnetworks-kr-2.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.2.0/libganglia-3.2.0-1.i386.rpm
$ wget http://cdnetworks-kr-2.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.2.0/ganglia-gmond-3.2.0-1.i386.rpm
$ yum localinstall ganglia-gmond-3.2.0-1.i386.rpm libganglia-3.2.0-1.i386.rpm --nogpgcheck
</pre>
<p>
	でRPMはローカルインストールでyumコマンド使えるので、簡単にインストールできます。<br />
	「--nogpgcheck」をつけるのを忘れないようにしてください。<br />
	あとは同じように設定するだけで、監視サーバーからモニタリングすることができます。</p>
]]></description>
 <category>コンピュータ</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=270</comments>
 <pubDate>Sun, 14 Aug 2011 08:55:18 +0900</pubDate>
</item><item>
 <title><![CDATA[Gangliaでモニタリングできるものを増やす]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=269</link>
<description><![CDATA[<p>
	もちろんサーバーのHDDやメモリ、CPU、ネットワークといったものはデフォルトで取得できるのだが、ウェブの運用とかやってたらApacheのステータスが取得したいところです。<br />
	そこで、yumではインストールできない拡張モジュールをインストールして、取得できるグラフの数を増やしてみます。</p>
<p>
	今回、挑戦したいのはApacheのサーバーステータスからグラフを生成する方法です。<br />
	とは言っても、プログラムやスクリプトはあまりかきません。</p>
<h3 style="border-bottom:1px dotted #333;color:#333;font-size:15px;font-weight:bold;margin:1.5em 0 -5px 0;">
	Apacheのサーバーステータスとは</h3>
<p>
	Apacheはサーバーステータスをウェブインターフェスで確認できるようになっているのです。<br />
	普通に使っている限りはあまり使ったことなかったので、さっぱりだったのですが、まずはこちらか設定していきます。</p>
<p>
	まずは監視対象のウェブサーバーのApacheの設定を以下のように変更します。<br />
	※初期設定時のチェック項目にしておくといいかもですね。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ vi /etc/httpd/conf/httpd.conf

# 1箇所目の記述
#
# ExtendedStatus controls whether Apache will generate &quot;full&quot; status
# information (ExtendedStatus On) or just basic information (ExtendedStatus
# Off) when the &quot;server-status&quot; handler is called. The default is Off.
#
ExtendedStatus On　&larr;コメントアウト削除

# 2箇所目の記述
#
# Allow server status reports generated by mod_status,
# with the URL of http://servername/server-status
# Change the &quot;.example.com&quot; to match your domain to enable.
#
# &darr;以下のディレクティブはすべてコメントアウト削除
&lt;Location /server-status&gt;
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from localhost　&larr;自身からのアクセスを許可（gmondはこれでアクセスしてきます。）
    Allow from 192.168.1.　&larr;ネットワーク内のマシンからのアクセスを許可（任意）
&lt;/Location&gt;
</pre>
<p>
	Apacheを再起動します。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ /etc/init.d/httpd restart
</pre>
<p>
	これでhttp://[ホストのアドレス]/server-statusにアクセスするとサーバーステータスが確認できます。<br />
	実際はhttp://[ホストのアドレス]/server-status?autoというデータにアクセスしにいきます。</p>
<h3 style="border-bottom:1px dotted #333;color:#333;font-size:15px;font-weight:bold;margin:1.5em 0 -5px 0;">
	gmond python modulesをインストールして取得できるグラフを増やす</h3>
<p>
	私が使っているEL6系のサーバー（Scientific Linux 6）で以下のようにyumでインストールできるみたいだったのですが、、、</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ yum install ganglia-gmond-python
</pre>
<p>
	確かにインストールできのですが、何かモジュールが足らないみたい。。。<br />
	考えた末、この状態でGitHubからスクリプトをダウンロードして、インストール先のディレクトリに移すことにしました。</p>
<p>
	以下のURLからダウンロードして、サーバーにアップします。私の環境がちょっとトリッキー（ってわけでもないのですが、）Samba経由でアップするのですが、webmaster権限でアップされていまうのでインストール時にちょっとフォローが必要です。<br />
	<a href="https://github.com/ganglia/gmond_python_modules" target="_blank">https://github.com/ganglia/gmond_python_modules</a></p>
<p>
	ひとまず解凍してみます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ cd /home/webmaster/　&larr;とりあえずここにアップしてみましたので、、、
$ tar xvzf ganglia-gmond_python_modules-f7b58fa.zip
$ cd ganglia-gmond_python_modules-f7b58fa/
</pre>
<p>
	解凍された中身は非常にわかりやすいです。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">モジュール名/
　conf.d/*.conf
　graph.d/*.php
　python_modules/*.py
</pre>
<p>
	ということで、簡単インストールするために以下のようなシェルスクリプトを作りました。<br />
	ちなみに32bit、64bit判定しているのはScientific Linux 6は32bit、CentOS 6を64bitでインストールしていたから、両方で使えるようにするためです。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ vi ganglia-python-install.sh
#!/bin/bash

PYTHON_MODULE_DIR=&quot;/home/webmaster/ganglia-gmond_python_modules&quot;

# Define target directories
# Check architecture
if [ &quot;`uname -m`&quot; = &quot;x86_64&quot; ];
then
        MODULE_DIR=&quot;/usr/lib64/ganglia/python_modules/&quot;
else
        MODULE_DIR=&quot;/usr/lib/ganglia/python_modules/&quot;
fi;
CONF_DIR=&quot;/etc/ganglia/conf.d/&quot;
GRAPH_DIR=&quot;/usr/share/ganglia/graph.d/&quot;

# Install python modules
if [ -d $MODULE_DIR ];
then
        cp -upv $PYTHON_MODULE_DIR/*/python_modules/*.py $MODULE_DIR
        chown root:root $MODULE_DIR*.py
        chmod 644 $MODULE_DIR*.py
fi;

# Install config files
if [ -d $CONF_DIR ];
then
        cp -upv $PYTHON_MODULE_DIR/*/conf.d/*.conf $CONF_DIR
        chown root:root $CONF_DIR*.conf
        chmod 644 $CONF_DIR*.conf
fi;

# Install graph PHP files
if [ -d $GRAPH_DIR ];
then
        cp -upv $PYTHON_MODULE_DIR/*/graph.d/*.php $GRAPH_DIR
        chmod 775 $GRAPH_DIR*.php
fi;
</pre>
<p>
	実行権限を与えて、実行してみましょう。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ chmod 755 ganglia-python-install.sh
$ ./ganglia-python-install.sh
</pre>
<p>
	ということで、これをgmondをインストールしているサーバーで実行します。<br />
	つまりですね、wgetでpython modulesを取ってきて、解凍してインストールするところまでこのシェルで完結できればいいんじゃね？ってことですよね。<br />
	それはまた後日にします。</p>
<p>
	これでgmondを再起動します。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ /etc/init.d/gmond restart
</pre>
<p>
	しばらくするとノード別のページで「apache metrics」という項目が出てくるはずです。</p>
<p style="text-align: center;">
	<a href="/blog/media/blog/2011080901b.png" rel="lightbox"><img alt="GangliaでApacheステータスをグラフ化してみた。" height="127" src="/blog/media/blog/2011080901a.png" title="Apache Status Graph on Ganglia" width="400" /></a></p>
<p>
	この方法、memcacheやmysqlなども実は用意されており、おそらく行けるはずなんです。<br />
	私はまだ見てないのですが、/etc/ganglia/conf.d/あたりを見れば何か糸口が見えてくるはずです。</p>
<p>
	でもまぁ、こんな面倒くさい方法でなくてもできるんでしょうが、私の力量ではできませんでした。ひとまずApache Benchで適当に叩いてみて、それなりのグラフ出てるみたいなので、よしとしておきましょう。</p>
<p>
	今日はここまで。<br />
	&nbsp;</p>
]]></description>
 <category>コンピュータ</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=269</comments>
 <pubDate>Tue, 9 Aug 2011 02:10:49 +0900</pubDate>
</item><item>
 <title><![CDATA[大量ノード監視ツール「Ganglia」を試してみた]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=268</link>
<description><![CDATA[<p>
	Gangliaとは大量ノード（この場合ノードとは「サーバー」を意味します）のリソース監視をするためのツールです。<br />
	グラフを作成してくれるのですが、それにはRRDToolを使用します。<br />
	ウェブインターフェースはPHPで記述されているため、カスタマイズがしやすいことやSNMPではなくネットワークのマルチキャストでgangliaの情報収集モジュールがインストールされたサーバーの情報取得するというのも特徴です。</p>
<p>
	確かにSNMP+MRTGに比べるとノード追加時に行わなければならない設定が少ないので、手軽だと感じました。</p>
<h3 style="border-bottom:1px dotted #333;color:#333;font-size:15px;font-weight:bold;margin:1.5em 0 -5px 0;">
	インストールのこぼれ話</h3>
<p>
	それではインストールをはじめていきましょう。<br />
	GangliaをインストールするのはScientific Linux 6.0です。</p>
<p>
	当初、yumでインストールできるとは思っていなかったので、ソースをコンパイルしてインストールしていました。<br />
	とりあえず、その時のメモ。そのままインストール方法をご覧になりたい方はここらへんはすっ飛ばしてください。</p>
<p>
	.tar.gzのファイルGangliaの公式（SourceForge）からwgetでダウンロードして展開、configureした段階で色々依存モジュールが足りないことが判明。<br />
	ということで、とあるサイトで必要といわれていた以下１行目のインストール以外に2行目もインストール。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">yum install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel
yum install rrdtool rrdtool-devel libconfuse libconfuse-devel pcre pcre-devel
</pre>
<p>
	これでconfigureを実行したら、うまくいけました。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">./configure --with-gmetad
</pre>
<p>
	ちょっと感動的だったのが以下のようなAAで出迎えてくれるあたり。ついに俺も迎え入れられたかって感じ。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">Welcome to..
     ______                  ___
    / ____/___ _____  ____ _/ (_)___ _
   / / __/ __ `/ __ \/ __ `/ / / __ `/
  / /_/ / /_/ / / / / /_/ / / / /_/ /
  \____/\__,_/_/ /_/\__, /_/_/\__,_/
                   /____/

Copyright (c) 2005 University of California, Berkeley

Version: 3.2.0.0
Library: Release 3.2.0.0 0:0:0

Type &quot;make&quot; to compile.
</pre>
<p>
	ところが、ここから先がいろいろ設定できないという始末。あまり深いところまで追求しないのが俺です。<br />
	あきらめモードでオフィシャルのドキュメント読んでたら、</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">apt-get ganglia-monitor
</pre>
<p>
	とか書いてある。</p>
<p>
	えっ！？<br />
	もしかしてパッケージマネージャーでインストールできるの？</p>
<h3 style="border-bottom:1px dotted #333;color:#333;font-size:15px;font-weight:bold;margin:1.5em 0 -5px 0;">
	Gangliaをyumでインストール</h3>
<p>
	ということで、</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">yum install ganglia
</pre>
<p>
	とかしたら、epelレポジトリにあった。<br />
	いろいろ調べてみると以下のインストールをしなければならない。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">yum install ganglia ganglia-web ganglia-gmond ganglia-gmetad
</pre>
<p>
	これでインストールは完了します。<br />
	でも、これだけではブラウザからGangliaにアクセスできません。</p>
<p>
	Apacheの拡張設定ファイルで、アクセス制限がしてあるので、とりあえず簡易的に以下のように書き換えます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># vi /etc/httpd/conf.d/ganglia.conf
  #
  # Ganglia monitoring system php web frontend
  #

  Alias /ganglia /usr/share/ganglia

  &lt;Location /ganglia&gt;
    Allow from all
#    Order deny,allow
#    Deny from all
#    Allow from 127.0.0.1
#    Allow from ::1
#    # Allow from .example.com
  &lt;/Location&gt;
</pre>
<p>
	以下のファイルを開き、監視対象サーバー（この場合は自分自身になりますが）の名前をつけてやります。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># vi /etc/ganglia/gmond.conf
cluster {
  name = &quot;mysl6.net&quot; &larr;名前をつける
  owner = &quot;unspecified&quot;
  latlong = &quot;unspecified&quot;
  url = &quot;unspecified&quot;
}
</pre>
<p>
	で、あとは以下のコマンドでプロセスを立ち上げます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">/etc/init.d/gmond start
/etc/init.d/gmetad start
/etc/init.d/httpd restart
</pre>
<p>
	するとhttp://ホスト名/ganglia/にアクセスするとグラフが確認できます。</p>
<h3 style="border-bottom:1px dotted #333;color:#333;font-size:15px;font-weight:bold;margin:1.5em 0 -5px 0;">
	監視ノードの追加</h3>
<p>
	監視ノードの追加には監視対象のサーバーへの設定が必要です。<br />
	データはマルチキャストでやりとりされるため、細かい設定はひとまずなくてもデータを取得できます。</p>
<p>
	マルチキャストとはとあるIPアドレス帯にぶら下がっているノード（マシン）に対してパケット（データ）を送ることです。</p>
<p>
	それでは監視対象の設定をしていきます。<br />
	今回の監視対象はCentOS 6.0です。</p>
<p>
	CentOS 6.0上で以下のコマンドを実行してください。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">yum install ganglia ganglia-gmond
</pre>
<p>
	同じように名前をつけてやります。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># vi /etc/ganglia/gmond.conf
cluster {
  name = &quot;myc6.net&quot; &larr;名前をつける
  owner = &quot;unspecified&quot;
  latlong = &quot;unspecified&quot;
  url = &quot;unspecified&quot;
}
</pre>
<p>
	これでgmondを起動してやります。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">/etc/init.d/gmond start
</pre>
<p>
	もうお気づきかもしれませんが、Gangliaのデータ収集はgmondというデーモンで行っています。</p>
<p>
	再び、Gangliaのウェブインターフェースにアクセスして、追加したサーバーのグラフが確認できればOKです。<br />
	SNMP+MRTGにくらべ、設定項目が少なく、マルチキャストで取得できるという点が大量ノードのリソース監視に使われるという大きな理由なんでしょうね。</p>
]]></description>
 <category>コンピュータ</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=268</comments>
 <pubDate>Sat, 30 Jul 2011 03:35:20 +0900</pubDate>
</item><item>
 <title><![CDATA[Scientific Linux 6.0を使ってみた]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=267</link>
<description><![CDATA[<p>
	Scientific LinuxはRedHat Enterprise LinuxのクローンOSとして有名なディストリビューション。<br />
	その名の通り、学術的な分野で使われることを目的に世界的な研究所などが開発に参加しています。<br />
	CentOSと同じくRHELのクローンOS。<br />
	ベースのシステムはRHELと同じなので、GUIのインターフェースやファイルレイアウトもそれぞれのノウハウが役に立つでしょう。<br />
	&nbsp;</p>
<p>
	さて、インストール事態はそんなに問題なかったのですが、ミドルウェアのインストールとかでデフォルトのレポジトリ以外も使いたいのですが、ちょっと設定に手間取りました。</p>
<p>
	よく使うのが、<a href="http://blog.famillecollet.com/pages/Config-en" target="_blank">remi repository</a>なのですが、これが一筋縄ではいかなかったのです。<br />
	まぁ、remi repositoryのサイトに記載がある通り、Enteprise Linux 6の方法でレポジトリファイルをインストールします。<br />
	で、/etc/yum.repos.d/remi.repoの[remi]のenabledを1に設定して、yum installなんかを実行。<br />
	するとなにやら404エラーとなってyumコマンド自体が前に進まなくなって、そのまま終了してしまった。</p>
<p>
	こんなサイトを見つけた。</p>
<p>
	<a href="http://blog.washo3.com/page/2/" target="_blank">さくらのVPSにScientificLinux6.1を導入した</a></p>
<p>
	ということで、/etc/yum.repos.d/remi.repoの$releaseverを6に書き換えるとうまくいきました。<br />
	RHEL互換なのでパッケージの互換があるので問題なくインストールできます。</p>
<p>
	ひとまず、これでApache2.2、PHP 5.3、MySQL 5.5、Sambaとかをインストールしました。</p>
]]></description>
 <category>コンピュータ</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=267</comments>
 <pubDate>Tue, 26 Jul 2011 23:42:54 +0900</pubDate>
</item><item>
 <title><![CDATA[CentOS 6.0 x86_64（64bit版）にswfmillを入れてみた ]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=266</link>
<description><![CDATA[<p>
	swfmillを使ったことがなかったので、新しくセットアップしたCentOS 6.0（64bit版）にswfmillを入れてみました。<br />
	そのまとめ。</p>
<p>
	swfmillとは、サーバー上でSWFを生成する仕組み。<br />
	XMLを定義情報として、SWFからXML、XMLからSWFを生成できます。<br />
	何が便利かというと、XMLを元に画像合成とかができ、サーバー上で動的に生成できることでしょう。<br />
	<a href="http://swfmill.org/" target="_blank">http://swfmill.org/</a></p>
<p>
	まだ画像を合成する部分の機能を試して無いのですが、パフォーマンスがよければ使える価値があると思います。<br />
	実際に使っているとこもありますよね。多分・・・。</p>
<p>
	インストールについては特にディストリビューションや32bitか64bitかは関係ないみたいなので、Linux用ソースをダウンロードしてインストールする。</p>
<p>
	ちょっと調べてみると以下のようなページが見つかった。<br />
	<a href="http://www.plusmb.jp/2008/12/05/1510.html" target="_blank">http://www.plusmb.jp/2008/12/05/1510.html</a></p>
<p>
	こちらで紹介されているのはswfmill-0.2.x系のインストール方法。<br />
	FlashLite1.x系に対応してないのでパッチを当ててインストールするようにとのこと。<br />
	それとswfmillのインストールに必要なほかのモジュールもインストールしなければならない。<br />
	一応、インストールしたCentOS 6.0に関しては、すでに入っていたみたいなので、特にこのへんは問題ありませんでした。</p>
<p>
	ということで最新版の0.3.1をダウンロードしてインストールしてみます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ wget http://swfmill.org/releases/swfmill-0.3.1.tar.gz
$ tar xzf swfmill-0.3.1.tar.gz
$ cd swfmill-0.3.1
$ ./configure
$ make</pre>
<p>
	とコンパイルしたところでエラーが出ました。<br />
	どうやら、オフィシャルからダウンロードしたファイルに必要なソースが入っていなかったようです。（えっ？オフィシャルでしょ？）<br />
	外部レポジトリにはソースがあるとのことなので、下記サイトのように必要なファイルのみダウンロードしてインストールします。<br />
	<a href="http://somethingnew2.com/blog/archives/2010/10/swfmill.php" target="_blank">http://somethingnew2.com/blog/archives/2010/10/swfmill.php</a></p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ cd ./src/xslt
$ wget http://bazaar.launchpad.net/%7Edjcsdy/swfmill/trunk/download/head%3A/srcxsltxslt.h-20090609152137-53i91h057e1vr5oe-125/xslt.h
$ wget http://bazaar.launchpad.net/%7Edjcsdy/swfmill/trunk/download/head%3A/srcxsltxslt_pack.cpp-20090609152137-53i91h057e1vr5oe-126/xslt_pack.cpp</pre>
<p>
	で、もう一回コンパイルからやり直します。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ cd ../../
$ ./configure
$ make
$ make install</pre>
<p>
	なんとかインストールできました。<br />
	実行ファイル（コマンド）は/usr/local/bin/swfmillに設置されてる。<br />
	常駐するするものではないので、必要に応じて上記コマンドを実行する。</p>
]]></description>
 <category>WEB、WEBシステム関連</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=266</comments>
 <pubDate>Sun, 17 Jul 2011 15:08:57 +0900</pubDate>
</item>
  </channel>
</rss>
