SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for the ‘Web サーバー導入キット’ Category

[Web サーバー立ち上げ体験日記]SP2 を適用

leave a comment

自宅の他のサーバーには TechNet/MSDN に SP2 が公開されたタイミングでダウンロードして適用していたのですが
Web サーバー導入キットでモニターしているサーバーには適用していないことに週末気づきました…。

ということで土曜日にインストールしてみました。

今のところ問題もなく Web サイトも順調に動作しています。

適用中はルーターの設定を変更して一時的に別サーバーで Web サイトを動作するようにし、404 ページで
メンテナンス中のお知らせを表示するように設定変更しては見たのですが、メンテナンスの運用手順を
自分なりに整理しておく必要があるな~と感じました。

メンテナンス中のお知らせページも IIS 7 の Welcome ページに一文追加した味気ないものを
表示していただけですので、時間がある時に少しメンテナンスしたいです。

Written by Masayuki.Ozawa

6月 7th, 2009 at 3:23 pm

[Web サーバー立ち上げ体験日記]サーバーがダウンしていました…

leave a comment

正確にはサーバーではなくサーバーと通常使用しているネットワークの間に置いているゲートウェイがダウンしていました…。

サーバーは通常使用している PC とは別のセグメントに置いているのですが間に置いているルーターがダウンして、サーバーにつながらない状態となっていました。

5/11 以降は特にダウンしていなかったので油断していました。
連続稼働時間は 3 週間弱でストップです。

きちんとネットワーク環境を整備する必要があると感じた一日でした。

Written by Masayuki.Ozawa

5月 28th, 2009 at 1:17 pm

[Web サーバー立ち上げ体験日記]ログ管理 その 2

leave a comment

IIS のログ解析をするのに Log Parser が便利です。

Log Parser 2.2 日本語版

IIS 7.0 のバイナリ形式のログのヘルプにもこのツールが紹介されていますね。

このログ ファイル形式からデータを抽出するには、LogParser 2.2 などのツールを使用する必要があります。

まずはインストールの手順からまとめてみたいと思います。

[インストール手順]

  1. ダウンロードしたモジュールを実行します。
  2. [次へ] をクリックします。
    image
  3. [使用許諾契約書に同意します] を選択し、[次へ] をクリックします。
    image
  4. [完全] をクリックします。
    image
  5. [インストール] をクリックします。
    image image
  6. [完了] をクリックします。
    image

これでインストールは完了です。
スタートメニューに Log Parser が追加されています。
image

?

[Log Parser 2.2] を実行するとプロンプトが立ち上がります。

image

このツールを使用して IIS のアクセスログを解析することができます。
Google Analytics でアクセス解析をしていると自サーバーのログを解析する機会は少ないかもしれませんが、
自分用途に合わせて多角的に解析することができます。

[アクセス元の IP の一覧取得]
LogParser.exe "SELECT [date], [c-ip], COUNT([c-ip]) FROM <ファイル名> GROUP BY [date], [c-ip] ORDER BY [c-ip] ASC" -q:on -o:csv

[アクセス元の URL の一覧取得]
LogParser.exe "SELECT [date], [time],[c-ip],[cs(Referer)],[sc-status] FROM <ファイル名>" -q:on -o:csv

?

CSV 形式に変換して出力もできますので、アクセスログを CSV に出力して SQL Server の [BULK INSERT] や [bcp.exe] を
使用してテーブルに取り込み Reporting Services でレポートを成形すると面白いかな~と考えています。

Written by Masayuki.Ozawa

5月 17th, 2009 at 2:48 am

[Web サーバー立ち上げ体験日記]少しですがドキュメントを作成してみました

leave a comment

スキルチャージプログラムのサーバー公開まで残り 1 週間を切りました。

私はこれといった目玉コンテンツを載せられていないのですがひとまず公開し、マイクロソフトさんに連絡完了。
ルーターの設定を少し間違えていたため、たまにつながらないことがあったのですがどうにか本日まで稼働しています。
# Google のウェブマスターツールでクロール状況を確認していた時に 404 エラーが出ていることに気付きました。

フォーラムを見ていると公開に苦労されている方もいらっしゃり何かお力になれないかと思って虎の巻と
あまり内容は変わらないのですが公開手順のドキュメントを少し作成し SkyDrive に置いてみました。

スキルチャージプログラム

重要な個所の記述レベルが薄いのであまり参考にはならなさそうですが…。

Written by Masayuki.Ozawa

5月 9th, 2009 at 2:33 am

[Web サーバー立ち上げ体験日記]ログ管理 その 1

leave a comment

昨日の投稿から Web サーバー導入キットと LiveSpace に同一の内容を投稿するようにしています。
# 単純に両方に投稿しているだけですが。
ブログは LiveSpace を使い続けようと思うのですが勉強を兼ねて Web サーバー導入キットでも立ち上げています。

今朝から URL を公開してサーバーは運用テストを行っているのですが、IIS のアクセスログ管理に関してそろそろ
考えていこうと思います。

IIS のアクセスログはデフォルトでは [%SystemDrive%inetpublogsLogfiles] に保存されるようになっています。
%SystemDrive% は通常 C ドライブになりますので C ドライブ内にどんどんログが蓄積されていきます。

以前も投稿したのですが私は C ドライブにファイルを置くのが嫌なので場所を移動しています。

[ログファイルの移動]

  1. [インターネット インフォメーション サービス (IIS) マネージャ] を実行します。
  2. サイトを選択し、[ログ記録] をダブルクリックします。
    image
  3. ディレクトリ名を変更ます。
    image
  4. 操作ウィンドウの [適用] をクリックします。
    image

これでログファイルの保存場所の変更は終了です。

デフォルトのログファイルの形式は [W3C] になっているはずですが、デフォルトの状態では [参照者(cs(Referer)] が
取得されていません。

この情報が取得されていないとリンクからページのアクセスされた際にどこから来たのかが出力されません。
この項目も取得するように設定したいと思います。

[取得項目の設定]

  1. [インターネット インフォメーション サービス (IIS) マネージャ] を実行します。
  2. サイトを選択し、[ログ記録] をダブルクリックします。
  3. [フィールドの選択] をクリックします。
    image
  4. [参照者 ( cs(Referer) )] を有効にし、[OK] をクリックします。
    image
  5. 操作ウィンドウの [適用] をクリックします。

これでどのページから遷移されてきたのかが取得できます。
今日半日取得したログでは以下のような内容が取得されていました。

http://engineer-memo.spaces.live.com/blog/
http://engineer-memo.spaces.live.com/blog/cns!DEC1C75BCA0DCEB2!1886.entry
http://engineer-memo.spaces.live.com/default.aspx

公開しましたという記事で URL を公開しましたのでそこから遷移してきたということがこれからわかると思います。

 

IIS 7.0 からは [ファイル名およびロールオーバーに地域設定を使用する] という設定が追加されています。
既定ではログファイルのファイル名と次のログファイルに切り替わるタイミングは UTC (協定世界時) が使用されます。
日本は [+ 9:00] ですのでファイル名とファイルが切り替わるタイミングは実際に使用している時間と差が出ます。
# ファイルの切り替えタイミングは [毎時間] [毎日] [毎週] [毎月] から選択できますが地域設定を使用しないと 
  00:00 には切り替わりません。 (デフォルトでは 15:00 に切り替わるかと)
注意点としては、ファイルの切り替えタイミングは地域設定に基づいて行われますがファイル内の時間については
UTC から変更できませんので、こちらに関しては確認するときは 9 時間プラスする必要があります。

[ファイル名およびロールオーバーに地域設定を使用する]

  1. [インターネット インフォメーション サービス (IIS) マネージャ] を実行します。
  2. サイトを選択し、[ログ記録] をダブルクリックします。
  3. [ファイル名およびロールオーバーに地域設定を使用する] を有効にします。
    image
  4. 操作ウィンドウの [適用] をクリックします。

ファイルのロールオーバーはあくまでもファイルの切り替えだけですのでこのままではファイルは蓄積されます。

PowerShell を使うとサクッとできそうですが私はコマンドプロンプトでバッチを作ることが多かったので、
今回はログファイルを圧縮して削除するバッチを作りたいと思います。

[ログファイルの圧縮 / 削除]

ログファイルの圧縮、削除は以下のバッチファイルで実行することができます。

[IISLogClrear.bat]

@ECHO OFF
SETLOCAL
REM 以下のディレクトリはログファイルの保存場所に応じて変更します。
SET LOGDIR=E:LogFilesW3SVC1

REM ファイルを CAB 形式で圧縮します。 /D –1 で 1 日前までのファイルを 1 ファイルずつ圧縮しています。
forfiles /P %LOGDIR% /M *.log /D -1  /C "cmd /C makecab @path @fname.cab"

REM 圧縮した時と同じ指定でコマンドを del に変更し、圧縮対象となったファイルを削除します。
forfiles /P %LOGDIR% /M *.log /D -1  /C "cmd /C del @path"

このバッチを実行すると 前日分までのログファイルを CAB 形式で圧縮して削除できます。

あとはこのバッチをタスクスケジューラに登録すれば定期的にログのクリアが実行できます。

  1. [管理ツール] → [タスク スケジューラ] をクリックします。
    image
  2. 操作ウィンドウの [基本タスクの作成] をクリックします。
    image
  3. [名前] を入力し、[次へ] をクリックします。
    image
  4. 実行タクトを指定して [次へ] をクリックします。
    ログクリアは毎日実行したいので今回は [毎日] に設定しています。
    image
  5. 実行するタイミングを指定します。
    私は夜間バッチとして実行したいので [0:30] にしています。
    image
  6. [プログラムの開始] を選択し、[次へ] をクリックします。
    image
  7. 先ほど作成したバッチを選択し、[次へ] をクリックします。
    image
  8. [完了] をクリックします。
    image

これでタスク スケジューラ ライブラリに登録したタスクが追加されます。
image 
デフォルトの状態では [ユーザーがログオンしているときのみ実行する] 設定になっています。
タスクを右クリックしてプロパティを開いてログオンしてなくても実行されるように設定しておきます。
# タスクは登録を行ったユーザーで実行するように作成されます。変更時には実行ユーザーのパスワード入力のダイアログが表示されます。

image
image

タスクを右クリックし、[実行する] をクリックしてテストで実行したいと思います。

[実行前]
image

[実行後]
 image

ファイルが圧縮されていることが確認できます。
# この投稿は 5/1 に書いていますので 4/30 が圧縮されています。forfiles はファイルの最終更新日時をもとに処理をします。

登録をコマンドで行う場合はコマンドプロンプトで以下を実行します。

schtasks /create /SC DAILY /TN “IIS ログクリア” /TR “E:ToolsLogIISLogCrear.bat” /ST 00:30 /NP

# コピーすると “ が全角になってしまうようですので貼り付けて使用される場合は ” を半角に打ち直してください。

これで自動でログの圧縮 / 削除を行い、ディスク容量を節約することができます。

IIS のログ管理には Log Parser が便利なので次はこちらを導入してみたいと思います。

Written by Masayuki.Ozawa

5月 1st, 2009 at 1:10 pm