熱海1日目
熱海一日目
割当てもなにもないので、無意味に熱海旅行。直前に予約しても1万円でお釣りがくるのでありがたい。
例の騒ぎで閑散としているかと思えば、結構な人出でした。
ログの集計
ログの集計
HTTPサーバのログ集計をして欲しいとのリクエスト。これが自社のウェブとは違うドメインで、なんだかドロップアウトしたようなサイト。
投書はGAで解析するようなことを言っていたんですが、どうもJavaScriptの仕込みに失敗したらしくて、いまさらこっちに泣きついてきました。
メインドメインのアクセスログは、ディレクト単位で毎月自動的に解析するように組んであるんですが、こっちはログはとっていますが全然ノータッチ。
画像やらなにやらで結構デカイことになっています。
いちどにはできないので、
- ログローテーションの設定
- ログの整形(クエリが長くて、解析プログラムがdenyしたりする)
- 連結(複数のサーバでリクエストを受けているので、ログを連結する)
- 日付でソート
- 必要分を切り出し
ってのを順番にスクリプト化してcronへ設定。
来週の月曜日には動作するかな。たぶんどこかうまく動作しなくて失敗するんだろうけど。
一つでもちゃんと動作すればいいか。
chefでレシピ中の変数をtemplateで展開する
chefでレシピ中の変数をtemplateで展開する
複数のにたような仮想ホスト(apacheの)を作成する用事。eachで回して、その変数をtemplate中でも利用する。
variablesを利用するといいみたい。
レシピ中でvariableで変数を設定する
%w(a b c d e}.each do |item| template #{item}.conf path "/usr/local/apache2/conf/#{item}.conf source "temp.conf.erb" owner "root" group "root" variables ({ :item => item }) end end
:item => itemってところが変数をいれているところです。このケースだとループで作成している変数を格納していますが、node値も当然設定可能。
テンプレート
テンプレート側でこんなふうに展開。
<VirtualHost *:443> ServerName <%= @item %>.example.com
<%= @item %>のところに展開されます。
variableで複数設定可能。その場合はコンマで分割する。