最新の記事はこちらです。
Fluentdのテストをする過程で欲しかったので、Apacheのログを生成し続けるスクリプトを書きました。
と言っても生成部分はTreasureDataのスクリプトを丸ぱくりで流量制限をするオプションを追加して延々と出力するようにしただけです。
frsyuki++。
手元でサクッとproductionで確認できる人はうらやましす。
使い方は以下のような感じです。詳細はREADMEを見てください。
ruby sample_apache_gen.rb [--rate=0] [--limit=0] [--rotate=0] [--progress] [--json] [outfile]
--rate 毎秒何レコード生成するかの指定。0以下は制限無し。 --limit 最大何件出力するか。0以下は延々と出力し続ける。 --rotate ローテーションの間隔。単位は秒指定。0以下はローテーションしない。 --progress STDERRに経過情報を出力する --json apacheのログ形式ではなくJSON形式で出力する outfile 指定するとファイルに出力します。省略するとSTDOUTに出力します。
ローテーションについては以下のルールでローテーションします。
hoge.log --> hoge.[yyyy-MM-dd_HHmmss].log
例えば、こんな感じで使います。
毎秒10件をaccess.logに出力。60秒毎にローテーション。経過をSTDERRに表示。
ruby sample_apache_gen.rb --rate=10 --rotate=60 --progress access.log
普通はクラス化して、出力内容を決める部分をBlockで渡すようにして再利用性を高めると思うのですが、ごにょごにょ(´・ω・`)
ソースはここに置いておきます。
https://github.com/tamtam180/apache_log_gen
これでWeb屋じゃなくてもそれっぽいログが出来るのでFluentdで遊べますね(∩´∀`)∩