Cronでサービスの死活監視

最近仕事でVPSにWeb、メール(Postfix、Dovecot)、Webメール、メーリングリスト(Mailman)とインストールしたのだが・・・
本番が始まると突然のサービス停止に時々見舞われて、極めて不安定な状態です。
どうもメーリングリストの設定なのか相性なのか、ここが起因になって他のサービスが停止するようです。
ということで、死活監視を行うことになったのですが、今回はCronのみで死活監視を行うことに挑戦しました。
cronの編集は「# vi /etc/crontab」を前提としています。
Webの死活監視
0 * * * * root wget -O – (URL) > /dev/null 2>&1 || echo `date +\%Y/\%m/\%d_\%H:\%M:\%S` > /dev/null | tee -a /var/log/service_watch.log | service httpd restart > /dev/null | tee -a /var/log/service_watch.log
毎時0分に起動します。Wgetコマンドにより(URL)に指定したコンテンツを取得、取得できなかった場合は、ログファイル(/var/log/service_watch.log)に時刻とサービス再起動状態を記録します。「tee」コマンドの「-a」はファイルに追記するオプションです。
smtpの死活監視
1,11,21,31,41,51 * * * * root (sleep 2;echo “quit”) | `telnet 127.0.0.1 25 >& smtp_status`;if [ `grep -c ‘220’ smtp_status` != 1 ]; then service postfix restart; logger -t smtp “crond check – smtp service restart”; fi; > /dev/null 2>&1
1分から10分おきに実行します。quit入力を2秒後にセットし、ローカルの25番ポートに接続します。正常に接続できれば、エコーの中に「220」が入るので、それがない場合は接続できなかったと判断して、Postfixの再起動をします。ログは標準のmessageログに指定したメッセージ(crond check – smtp service restart)で書き込まれます。
pop3の死活監視
2,12,22,32,42,52 * * * * root (sleep 2;echo “quit”) | `telnet 127.0.0.1 110 >& pop3_status`;if [ `grep -c ‘Welcome’ pop3_status` != 1 ]; then service dovecot restart; logger -t pop3 “crond check – dovecot service restart”; fi; > /dev/null 2>&1
2分から10分おきに実行します。quit入力を2行後にセットし、ローカルの110番ポートに接続します。正常に接続できれば、エコーの中に「Welcome」(独自のバナーメッセージ)が入るので、それがない場合に接続できなかったと判断して、Dovecotの再起動をします。ログは標準のmessageログに指定したメッセージ(crond check – dovecot service restart)で書き込まれます。
メーリングリストはサービスが起動していても、キューが詰まる現象があったので、1時間ごとに強制的に再起動させるようにしました。
10 * * * * root service mailman restart > /dev/null 2>&1

倶利伽羅不動尊 万灯会

倶利伽羅不動尊 万灯会
お盆の今日、母を連れて倶利伽羅不動尊の万灯会に行ってきました。
倶利伽羅不動尊 万灯会
どのくらい混雑するのかわからなかったので早めに出かけましたが、着いたときはまだまだ空いていました。
倶利伽羅不動尊 万灯会
蝋燭の点灯準備が進む中、境内?を一通り見て回ると、津幡町文化財ともなっている古墳跡から全体を見下ろすことができました。
倶利伽羅不動尊 万灯会
暗くなるまで二胡の演奏などを楽しみ、ようやく蝋燭の明かりがきれいな夜になりました。
倶利伽羅不動尊 万灯会
先程の地点からみても、境内いっぱいの明かりの列がきれいです。
倶利伽羅不動尊 万灯会
本堂での万灯会のあと、
倶利伽羅不動尊 万灯会
池で燈籠流しが始まりました。
倶利伽羅不動尊 万灯会
読経の流れる中、燈籠流しは厳かに続きました。流れが少ない池ですので、燈籠は湖岸に溜まりがちでしたが、良いセレモニーでしたね。
倶利伽羅不動尊 万灯会
とはいえ、境内の一番人気!?はこちらのトロロだったり・・・するんですけど。

CakePHPサイトでSSL制御をhtaccessで行う方法

mod_rewriteモジュールでサイト全体をSSL対応(https)する「.htaccess」ファイルの書き方は・・・

RewriteEngine On
RewriteCond %{HTTP_HOST} ^free-style.biz$
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://free-style.biz/$1 [R=301,L]

条件として2行目の「HTTP_HOST」はあってもなくてもよいです。
3行目の「%{HTTPS} off」により「http://で始まっている」=「https://で始まっていない」という条件になります。
4行目で絶対表示でURLを指定し、ルート以下のパスを「$1」として追加します。
さて、CakePHPサイトで「www」で始まるURLを「wwwなし」に変更してアクセスする場合の書き方を説明します。(/app/webroot/.htaccess)

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.free-style.biz$
RewriteCond %{HTTPS} on
RewriteRule ^(.*) https://free-style.biz/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.free-style.biz$
RewriteCond %{HTTPS} off
RewriteRule ^(.*) http://free-style.biz/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

大まかな流れは
1.www付きをwwwなしにして再アクセスする(http://の場合)
2.www付きをwwwなしにして再アクセスする(https://の場合)
3.ディレクトリやフォルダが実在しない場合はindex.phpを実行する
となります。3は通常のCakePHPのままです。
条件(RewriteCond)とルール(RewriteRule)は何個も重ねて定義されますが、「[R=301,L]」により正常に再アクセスされた場合はここで一旦終了するようになります。
http://www.free-style.biz/でアクセスされた場合は、1番目で「http://free-style.biz/」に再アクセスされて一度終了し、「http://free-style.biz/」でアクセスされて3番目でindex.phpが実行されます。
この仕組みが理解できれば、htaccessを使いこなせるようになりますよ!

CakePHPのhtaccessファイル解説

普段CakePHP(v1.3)を利用するにあたり、あまり考えずに使用している「.htaccess」ファイルについて解説します。
/(ルート)

RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]

1行目「RewriteEngine on」はmod_rewriteモジュールを使用するためのスイッチです。
2、3行目はともに「RewriteRule」なので、書き換えルールの適用となります。意味は「app/webroot/ に移動する」となります。
/app/

RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]

ここはルートとほぼ変わりないですが、書き換えルールが「webroot/に移動する」となっています。
/app/webroot/

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

一般公開するときはここをルートにすることが推奨となっています。その理由はこのファイルにあります。
1行目「RewriteEngine on」はmod_rewriteモジュールを使用するためのスイッチです。
2、3行目の「RewriteCond」は書き換えルールを適用するための条件を定義しています。2行目はパラメータ「-d」により、実際にディレクトリが存在しない場合、3行目はパラメータ「-f」により、実際にファイルが存在しない場合となり、両方合わせて、指定されたURLパスに実際にディレクトリもファイルも存在しない場合となります。
4行目で書き換えルールが指定されています。「^(.*)$ index.php?url=$1」は同フォルダ内の「index.php」を実行するという意味ですが、「?url=$1」の「$1」が何なのか?よくわかりませんでした。
Perlを使用するには当たり前の正規表現らしいのですが、「$1」の「$」は末尾を示すわけではなく、「$1」で「要素の1番目を適用する」ということになります。
要素の1番目とは「^(.*)$」のことです。index.phpの前に半角スペースがあり、半角スペースでつなげていくことにより要素を複数定義できます。「^(.*)$」は「先頭から0文字以上の文字列を末尾まで」という意味です。つまり、ルート以下のパスがここに入ります。
CakePHPでは必ずindex.phpから始まると誤解している人がいますが、これはある意味で正しく、ある意味で間違っています。
CakePHPのフレームワーク内の制御としてはindex.phpが常に実行されます(正しい部分)が、webwoot配下に実際に配置されたhtmlファイルや画像ファイルはそのまま表示され、index.phpは実行されません(間違っている部分)。
静的なhtmlファイルのみではなく、phpファイルであっても、webroot配下に配置すれば実行することができます。ただし、ルートが「/app/webroot/」まで下げられていないと、CakePHPのフレームワーク外ではURLに「/app/webroot/」が表示されてしまうことがあります。

炎天の雪刊行記念 諸田玲子さんトークショー&サイン会

先月まで北國新聞と富山新聞で531回連載されてきた「炎天の雪」が今月集英社より刊行されました。
諸田玲子さんトークショー&サイン会
本日、しいのき迎賓館の三階セミナールームで、刊行記念となるトークショーとサイン会が開催されました。
諸田玲子さんトークショー&サイン会
会場の手前ではうつのみや書店が諸田玲子さんの本を販売し、奥で受付をしていました。サイン会への参加は本の購入者なので、さっそく発売されたばかりの「炎天の雪」を購入しました。
諸田玲子さんトークショー&サイン会
廊下には連載中の挿絵を担当した横田美砂緒さんの挿絵が・・・
この挿絵が物語を盛り上げてくれたのですよね。書籍になったら・・・やはり挿絵はなくなりました。残念です。
カバーの絵だけが書き下ろしの横田さんの晋作です。
トークショーのほうは泉鏡花記念館の青山館長と進められました。自分は金沢が舞台の時代小説ということで興味はあったにしても、初めて最後まで読んだ新聞小説であったので、どこにそんなに興味を持ったのだろうと思っていました。小説の舞台となった江戸の宝暦というのは、飢饉や大火など貧困にあえいだ時代であり、泰平から変化への過渡期となった時期ですが、現代も不況が長引き、9・11以降の社会不安があって、そのあたりは時代背景が似ているところは、実は意図的だったそうです。
構想時には一年ぐらいの泥棒の物語だったそうですが、進むにつれ、将軍の母や加賀騒動に巻き込まれた子供たちが活き活きと活動し、諸田さんによって一番の長編となったそうです。書くときは1か月分以上で書き上げていたらしく、連載とはいえ、引き込まれる展開はそこらにもあったそうですよ。
諸田玲子さんトークショー&サイン会
1時間の楽しいトークショーはあっという間に終わり、本の購入者に向けてサイン会が始まりました。
「炎天の雪」は上下2冊なのですが、2冊ともにサインしていただきました。作家さんの直筆はとてもきれいな字とは言えない方も多いのですが、諸田さんの字はとてもきれいな字ですね。
炎天の雪
トークショーへの参加者は先着100名でしたが、サイン会に参加したのは30名弱でしょうか?私は17番目でしたが、滅多に参加できない作家さんのトークショーに参加していながら勿体無い話です。
上下で4000円ですよ。会いたいといってもそう簡単に会える方でもないのに・・・
その分一人ひとりはゆっくりとサイン書いていただけたので良かったです。
炎天の雪
炎天の雪」は上下2冊ですが、531回の新聞連載をそのまま収録したのでは2冊には収まらないそうです。
そうです。この単行本化するにあたり、すべてを推敲しおなしているんですよ。新聞連載と比べながら読む楽しみもあるんですよ。金沢の時代小説の決定版ですので、そのうち「炎天の雪」の観光スポット案内でも作りましょうか。

「鏡花と能楽」 後期展

「鏡花と能楽」 金沢能楽美術館
泉鏡花記念館と金沢能楽美術館で開催中の「鏡花と能楽」ですが、昨日より後期展が始まったので、両館見てきました。後期展では「照葉狂言」と金谷御殿を中心に展示されていました。

すべてのWEBサイトがSSL化される時代は近い?

ベリサインと契約している会社に不定期に送信されてくる「VeriSign Letter」、その7月号に気になることが書かれていました。


Googleのhttps化がおよぼす影響とは?
ウェブサイト運営者の多くはアクセスログ解析ツールを使って訪問者がどのサイトから来るのか、どんなキーワードで検索してくるのかを日々確認されていると思います。そこで本日はGoogle社が新しく開始したSSL暗号化対応の検索サイトの登場によって、これまでのログ解析結果にどのような影響が出てくるのか少し触れてみたいと思います。
5月21日よりGoogle社はエンドユーザのプライバシーを保護するため、SSL暗号化対応のベータ版検索サービスを立ち上げました。エンドユーザの検索キーワードと検索結果はSSL暗号化によって通信経路上の第三者から守られます。その一方で、非SSL(URLがhttp://から始まる)のサイト運営者には、このサイトからの訪問者がどこから来たのか、どんなキーワードを検索したのかが分からなくなってしまい、ウェブマーケティング活動に支障をきたす恐れがあります。
通常Internet ExplorerやFirefoxなどのブラウザは、サイト訪問者が直前に訪問していたURLをリファラと呼ばれる情報としてウェブサーバに送信します。ところが直前のURLがhttpsから始まるSSLサイトの場合、非SSLサイトへ遷移してもリファラを送信しない仕様となっています。これはブラウザのセキュリティ仕様による動作です。例えばプログラムが稼動しているサイト上ではURLにセッションIDなどプライバシー情報につながりやすいパラメータを含むことがしばしばあります。そのような場合でも、前出の仕様によってSSL暗号化されたサイトのセッションIDなどが通信経路上の第三者に渡ってしまう事を防げます。
しかし、サイト運営者にとってリファラはSEOやレコメンド機能などウェブマーケティング活動の重要な基礎データとなります。そこでこれまで通りリファラを取得するためにはサイト全体をSSL化するがひとつの解決手段となります。
Google社のSSL検索サイトの利用者の数はまだまだ多いわけではないと思いますので対応を急ぐ必要はなさそうですがプライバシー意識の高まりによって今後SSLがどのように利用されてゆくようになるのか、気に留めてみるのも良いかもしれません。
–>> Google社のSSL検索サイトを試してみる
   http://vmail.verisign.co.jp/c?c=9229&m=37718&v=a8328336


SSL証明書購入しないといけないのか?お金かかるな。
というぐらいにしか思わないかもしれませんが、SSL導入するときは、
・SSL証明書をドメイン1つにつき、1つ購入する
・ドメイン1つにつき、1つのグローバルIPアドレスを取得する
という2つの難関を突破しないといけません。
マルチドメイン対応のSSL証明書があるではないか?
と思う方もいると思いますが、マルチドメイン対応証明書は携帯電話には対応しません。今時、モバイル対応できない証明書に意味があるとは思えません。
もっと深刻なのは、グローパルIPの問題です。現在IPv4のIPアドレス枯渇問題が間近に迫る中で、すべてのWEBサイトにグローバルIPアドレスを準備することは到底無理です。
この問題に対応しないデメリットは・・・
リファラが取得できないことにより、アクセス解析ができなくなることです。Google Analyticsではサイトに来た経緯として。「検索エンジン」があり、さらにどのような「キーワード」で検索されて訪問したのかが分かります。
しかし、SSL対応のGoogleから来たユーザーは「https」から「http」にリファラ情報を引き継げないことにより、直接訪れたユーザーのように見えるということです。検索された「キーワード」もわからないので、どうページを変更していくか方針が立てづらくなります。
そもそもGoogleの意図はどこにあるのか?
建前は「エンドユーザのプライバシーを保護するため」となっていますが、途中で解読できなくなるため「自社検索サイトで入力された単語も含めた情報の独占」なのか、それとも自社広告を介しての「Google CAの販売」なのか、後者は話が飛躍しすぎですが、かなり影響は大きいでしょうね。
いずれにしてもプライバシー保護の流れは止まらないでしょうから、近い将来すべてのWEBサイトはSSL化することになりそう!?です。
それともうひとつ、


携帯電話でSSL通信ができないと何が起こるのか?
~ケータイSSL接続検証サービスを開始しました~

携帯電話端末からインターネットアクセスをする際に、SSLで通信を暗号化する場面は多々あります。しかし、携帯電話端末に組み込まれた“ルート証明書”によってはSSLサーバ証明書との暗号化通信ができず、携帯電話端末の画面にエラーが表示されます。エラーの内容は各携帯電話端末の通信方式や機種によって異なり、接続を終了してしまう機種もあります。また、SSLサーバ証明書や中間証明書のサーバ設定を間違った場合にもエラーが表示されます。
弊社では各種携帯電話端末からお客様指定の携帯電話向けサイトにアクセスをして、SSL暗号化通信が正しく行えることを検証するサービスを開始しました。接続検証に関しては、多数の携帯電話端末機種を保有する必要があり検証を正確に実施するための専門的な知識が必要になります。携帯電話向けサイトオープン前の実機検証、お客様からの問い合わせに即時回答するために対応機種を特定しておきたいなどのニーズに応えるサービスです。詳しは以下をご覧ください。
–>> 日本ベリサインの「ケータイSSL接続検証サービス」の詳細はこちら
   http://vmail.verisign.co.jp/c?c=9230&m=37718&v=c6af2618


なんかおかしな気分です。証明書の携帯端末への対応度調査は日本ベリサイン社自身が実施して発表するべき作業です。
自社サイトの証明書がベリサインであれば、サイトのコンテンツにより証明書が影響を受けるわけではないでしょう。
と思っていたら、ベリサイン以外のSSL証明書を使用していても申し込みはできようです。ということは、結果が悪いから自分ところの証明書に替えましょう!と営業かけられるためにお金払う人はいるでしょうか?

SSL証明書 ベリサインの2048bitへの移行日が決まりました

日本のSSL証明書として最も影響のある、日本ベリサイン社の公開鍵長2048bitへの仕様変更日が決まりました。
2010年10月11日(月)
祝日を選んだのは企業の移行に一番支障を来たさないようにという配慮でしょうが、思っていたよりも早いですね。営業情報としては少し前に10月の早い時期という話は聞いていましたが・・・
ベリサイン サーバIDおよびコードサイニング証明書製品における公開鍵長などの仕様変更について(続報)https://www.verisign.co.jp/ssl/about/20100128b.html
それにしても、今回気になるのは、
「5. 旧来仕様のサーバIDの発行継続について」
の内容についてです。
「米国NISTでは1024bit RSAの公開鍵暗号方式の利用を、一定の条件下において2013年末までこれを延長して利用を認めるガイドラインのドラフトを発表しており、現時点では(2010年7月15日時点)パブリックコメントが受け付けられております。この結果が反映された新しいガイドラインは、近い将来に発表される見込みです(詳細時期は現時点では未定)。
弊社では引続き、お客様のセキュリティへのご要望にお応えするために、2048bitRSAへの移行を、上記の通り進めさせていただきますが、同時に、上記のNISTガイドラインのアップデートを踏まえ、「1024bitRSAのCSRの受付期間の延長」および「旧来仕様のサーバIDの受付・発行期間」を延長し、お客様のセキュリティポリシーおよびニーズによっていずれかを選択いただける様にすることを検討しております。」
どういうこと!?でしょうか。
今までは2048bitに完全移行するようなアナウンスでしたが、従来の1024bitも選択できるように検討中に変更されています。ということは、結局しばらくは両方購入できるということのようです。
サイバートラスト社はこの件について、話し合いで1024bitの延長をしたいようなアナウンスを流していますが、ベリサイン社も近い話になってきました。
日本で最も早く2048bitへ仕様変更を表明していたジオトラスト社(販売は日本ベリサイン社)は先週21日と予告された切替日が23日に直前に変更されました。
http://www.geotrust.co.jp/news/2010/20100129.html
今日確認して更新されていないところを見ると、完全に2048bitへ切替が終了したようです。

夏期特別展「トキ舞う空へ」 石川県立歴史博物館

暑い日が続きますね。今日は博物館めぐりをしてきました。
「軽井沢の日々」 室生犀星記念館
始めは室生犀星記念館で開催中の「軽井沢の日々」です。犀星の第二の故郷であり、夏の避暑地として別荘を建てた軽井沢に関係する作品や遺品が展示されています。
夏期特別展「トキ舞う空へ」 石川県立歴史博物館
続いて石川県立歴史博物館で開催中の「トキ舞う空へ 鳥と人の文化史」です。石川県は本州最後のトキの生息地であり、現在分散飼育地として8羽のヒナが誕生しています。
トキの剥製や資料だけではなく、藩政期の鷹狩りの資料などが展示されていました。鷹狩りには「ハヤブサ」や「オオタカ」が使用されていたそうですが、最上級の獲物が「ツル」だったそうです。獲物にはランクがあり、筆頭の「ツル」から雁、鴨となっていたそうです。
剥製もいくつか展示されており、「クマタカ」や「イヌワシ」の大きさには圧倒されますね。
「前田土佐守家の子女たち」 前田土佐守家資料館
次に前田土佐守家資料館で「前田土佐守家の子女たち」を見ました。今はⅠ期「子女たちのつとめ」が始まったばかりです。藩政期の子女たちの役目は第一に家の存続でした。
「蓮田修吾郎の生涯」 金沢ふるさと偉人館
次に金沢ふるさと偉人館で開催中の「蓮田修吾郎の生涯」を見てきました。蓮田修吾郎氏は金沢市野田町生まれの金属造形の第一人者らしいです。「金属造形」という聞きなれない言葉ですが、県内には金沢駅西口や北國新聞ビル前などになるステンレス製のモニュメントなどが代表作です。
石川県立博物館前の金属造形
石川県立博物館前の広場にあるこのモニュメントも蓮田氏の代表作だそうです。普段よく目にするものだったんですね。
「大樋長左衛門展」 中村記念美術館
次に中村記念美術館で「大樋長左衛門展」を見ました。今年10代大樋長左衛門氏から同館に自作の茶碗34点を寄贈したことを記念して開催されている特別展です。同館所蔵の作品と借用作品を合わせて60点の作品を一堂に展示しています。
中でも黒の茶碗が魅力的で、「内不二絵黒茶碗」という黒の茶碗の内側に富士山が浮かび上がっているような作品でした。
「鏡花と能楽」 金沢能楽美術館
最後に金沢能楽美術館で「鏡花と能楽」を見ました。先日見た泉鏡花記念館が第一会場で、こちら能楽美術館が第二会場となっています。鏡花が生きた時代の能楽の状況を紹介するような内容で、金沢城二の丸や金谷御殿の絵図(能舞台が描かれている)も展示されていました。

アジア恐竜時代の幕開け 福井県立恐竜博物館

今日北陸は梅雨明けしました。いきなりの今年一番の夏日でした。
福井県立恐竜博物館
銀色の卵でおなじみの福井県勝山にあるアジア最大の恐竜博物館です。
アジアの恐竜 福井県立恐竜博物館
夏休み直前、親子連れがたくさん遊びに来ていました。地元ではレジャー施設としてすっかり定着しましたね。
アジアの恐竜 福井県立恐竜博物館
今年は開館10周年も迎えて、今年も夏休みの特別展が開催されていますが、今日は関連行事として、中国科学院古脊椎動物古人類研究所の董枝明(ドン チミン)教授による「アジアの恐竜」が開催されました。
アジアの恐竜 福井県立恐竜博物館
中国を含めたアジアはここ数年で恐竜研究が飛躍的に盛んになりました。そのアジアの恐竜発掘の現状をお話いただきました。
アジアの恐竜 福井県立恐竜博物館
中国には6つの恐竜博物館と4つの恐竜公園があるそうです。うらやましいですね。
アジア恐竜時代の幕開け 福井県立恐竜博物館
講演会後には特別展「アジア恐竜時代の幕開け」を見てきました。
アジア恐竜時代の幕開け 福井県立恐竜博物館
今回は中国で発掘された骨格標本を中心に展示されています。巨大恐竜がテーマのひとつでありますので、人の背丈もあるような竜脚類の大腿骨なんかも展示されていました。
アジア恐竜時代の幕開け 福井県立恐竜博物館
自分の子供の頃の竜脚類と言えば、「ブロントサウルス」や「ブラキオサウルス」ぐらいでしかが、その後種類が増えてよくわからない状態です。今回は中国で発見された「ルーフェンゴサウルス」がメインです。
アジア恐竜時代の幕開け 福井県立恐竜博物館
竜脚類のほかに獣脚類の骨格標本もありますよ。
アジア恐竜時代の幕開け 福井県立恐竜博物館
新聞報道もされた勝山の3つ目の恐竜で、日本で始めて竜脚類として名前のついた「フクイティタン」の化石も展示されていました。
アジア恐竜時代の幕開け 福井県立恐竜博物館
卵の化石などもあり、今回は10周年という記念すべき特別展だけあって展示も充実していますね。