毎日書く

のを目標に頑張るか

2017年7月19日

fluentdの設定をテストするためにfluentspecってGemを作った

fluentspec | RubyGems.org | your community gem host

github.com

今、仕事でKubernetesのクラスタ上で動いているPodのログをどうこうみたいな仕事をしていて、2人で書いているFluentdのコンテナがあり、「簡単なテストとか欲しいよね」みたいな感じでやっつけで作った。

使い方としては簡単で

Fluentspec.setup './fluent.conf'

するだけ。

setupを行うと、

Fluentspec.engine       # => Fluent::Engine
Fluentspec.root_agent   # => Fluent::Engine.root_agent
Fluentspec.inputs       # => Fluent::Engine.root_agent.inputs
Fluentspec.filters      # => Fluent::Engine.root_agent.filters
Fluentspec.outputs      # => Fluent::Engine.root_agent.outputs
Fluentspec.event_router # => Fluent::Engine.root_agent.event_router

みたいな感じのメソッドを提供する。

あるタグにマッチするフィルター/アウトプットが欲しいみたいなときは

Fluentspec.event_router.match(tag)

のように書くと、フィルターがあればFluent::EventRouter::Pipeline、無ければ直接アウトプットプラグインインスタンスが返ってくる。

詳しくは

fluentspec/example at master · toihrk/fluentspec · GitHub

チラ裏

Fluentd ソースコード完全解説 · GitHub

この辺を最初に読むと良かったのだけれど、Githubリポジトリ上からコードを読み進めてしまっていたので、「dry-runっぽいことすりゃいいでしょ」ということで書いてしまった。

ちなみにfluentspecって名前だけれど、別にRSpecに依存しているとかそんなことはなくて、Rubyのテストフレームワークだったらだいたい使えるはず。

そもそもテストフレームワークで使うような実装にはなっていないので、その辺は良しなに。

そのうちfluentspec-rspecみたいな感じでマッチャ―を提供するようなGemを書くかもしれない。

2017年7月18日

3連休

毎日飲んでた。

正確には木曜の夜から泡盛を飲んでいたので4日間誰かしらと飲んでた。

頭も痛いし財布も寒い。

2017年7月13日

朝二郎

最寄り相模大野店へ。

どうやら冷たい麺類を頼むとサービス券がもらえるらしく行ってきた。

www.facebook.com

小 つけ麺 アブラ カラメ

無事にサービス券は貰えたものの、最近ラーメンを食べていないので、次行く時はラーメンを頼んでしまうと思う。

2017年7月11日

寝起き

旅行中は、ほとんど8時とか9時には起きていたのだけれど、今日は10時半くらいに起きて、よく眠れた気がした。

通勤旅行

通勤中、少し気になって調べた。

小田急相模大野駅からだと大まかな選択肢が箱根もしくは江ノ島あたりで、どちらにも行ったことがあるので強いモチベーションは無いけれど、早朝に家を出て温泉もしくは少し高い朝ごはんを食べるのは憧れる。

例えば始発で箱根湯本に行く

発着時間:04:50発 → 06:05着
所要時間:1時間15分
乗車時間:1時間12分
乗換回数:1回
総額:845円(IC利用)
距離:56.3km

■相模大野    1・2番線発 
|  小田急線(小田原行)   50.2km   前
|  04:50-05:48[58分]
|  535円
◇小田原    7番線着 [3分待ち]
|  箱根登山線(箱根湯本行)   6.1km   
|  05:51-06:05[14分]
|  310円
■箱根湯本

Copyright © 1996-2017 Jorudan Co.,Ltd. All Rights Reserved

4時に起きて家を出るのはつらいが箱根に行ける。

朝風呂だとこの辺か

yunosato-y.jp

早朝入浴(6:00~9:00)\1,000

手荷物を減らすのであれば、レンタルタオルをつけて + \200

出勤は

発着時間:09:48発 → 11:18着
所要時間:1時間30分
乗車時間:1時間30分
乗換回数:0回
総額:2,074円(IC利用)
距離:88.6km

■箱根湯本     
|  はこね6号(新宿行)   88.6km   
|  09:48-11:18[90分]
|  1,184円( 指定席 890円 )
■新宿

Copyright © 1996-2017 Jorudan Co.,Ltd. All Rights Reserved

11時代に新宿であれば、今の会社の出勤時間には余裕なので問題無い。

純粋に見積もるであれば、3時間は自由に行動できるはずで、温泉には有料のシャトルバスもあるらしいが早朝にも営業しているか怪しい、タクシーで行くにしても往復で2000円弱くらいだろう。

そうすると、5000円程度で行って温泉に入って出勤できそうだ。

例えば始発で江ノ島に行く

発着時間:04:55発 → 05:40着
所要時間:45分
乗車時間:45分
乗換回数:0回
総額:340円(IC利用)
距離:27.6km

■相模大野    1番線発 
|  小田急江ノ島線(片瀬江ノ島行)   27.6km   
|  04:55-05:40[45分]
|  340円
■片瀬江ノ島     

Copyright © 1996-2017 Jorudan Co.,Ltd. All Rights Reserved

さくっと調べると、この時期だと日の出は拝めない。

神奈川県の日の出・日の入時刻一覧と方角 - 日の出日の入時刻・方角マップ

日の出を見るとしたら、11月から3月くらいが妥当かな。

日の出を見るのが目的でなければ、なにも始発で行く必要がない。

朝ごはんを食べるのであれば、8時くらいから10時くらいに着くように行ければ問題無い。

調べればいくらでも朝ごはんを食べられそうなところは出てくるので、散歩がてら探しながら歩くのもいいかもしれない。

出勤は

発着時間:11:10発 → 12:18着
所要時間:1時間8分
乗車時間:1時間8分
乗換回数:0回
総額:1,247円(IC利用)
距離:59.9km

■片瀬江ノ島     
|  えのしま10号(新宿行)   59.9km   
|  11:10-12:18[68分]
|  627円( 指定席 620円 )
■新宿     

Copyright © 1996-2017 Jorudan Co.,Ltd. All Rights Reserved

な感じかな。

ロマンスカーだと、良い時間が無いので、藤沢まで小田急江ノ電で出て、JRで出勤するみたいなアレンジも良さそう。

ただ、小田急線もそうだけれど、JRもめっちゃくちゃ混雑しそうなので事前に調べて、もう少しシミュレーションする必要はありそうだ。

例えば始発で旅行に行く

まとめると、箱根には展望席付きのLSEはこね6号の席が予約できれば頑張って行けそうだし、予算もそこそこなので、そこをケチるのであれば江ノ島なのかなといった具合。

せっかく箱根にも江ノ島にも行ける相模大野に住んでいるのだから、やってみたい気持ちもあるけれど、やるのであれば不慮の事態に備えて有給を使える日にすべきかな。

石垣島ロスなので、旅行に行きたい気持ちが強まってるので勢いで書いた。

2017年7月10日

夏休みだった

今まで

健康診断のせいで憂鬱で2日も書けなかった。

とか

書く時間がなくて書けなかった。

とか抜かしていたけど、2週間近く書かなかった。

休みの間は、旅行に向けて買い物をしたり飲みに行ったりしていて、旅行には石垣島に行った。

写真の整理とかはまだしていないので、後日思い出しながら書こうと思う。

社会復帰

1週間も会社に行かなかったので、それまで何をやっていたか全然思い出せない。

それとオフィス内も引越しがあって、4席しか無かった島から巨大な島に来てしまい、パーティションもそんなに良くないやつなので、今の席は本当に最悪。

仕事をする気が起きない。

もう1週間くらい石垣島に居たかった。

2017年6月28日

健康診断

今さっきやってきたんだけれど、この健康診断のせいで憂鬱で2日も書けなかった。

なんだかなー、ひとまず飲みに行きたい。

RubyのLoggerのヘッダを無視するやつ

つくった。

ignore_logger_header | RubyGems.org | your community gem host

ソース:

github.com

Fluentdとかにファイルを食わせるときに、

# Logfile created on ...

的な先頭行がどうしても邪魔で、Fluentdでも頑張れるのだろうけれど、アプリケーションで解決したかったっていうのが動機。

複数個のアプリケーション全てにLogger::LogDevice#add_log_headerをオーバーライドしてっていうのをやっていくのも面倒だったのでGemにした。

Loggerクラスをオープンしているので、READMEには require: falseとしているけれど、普通にrequireして使っていくと思う。

それと、主にRailsで独自にLoggerを実装しているアプリケーション向けに書いているけれど、実際にRailsの上では試していない。

あと、Refinementを使いたかったけれど、どうしてもうまく使えなかった。

2017年6月25日

昨日

書く時間がなくて書けなかった。

昨日は昼過ぎから、ぶらぶら三軒茶屋とか世田谷周辺ではしご酒をしてた。

今日

昨日のはしご酒のせいで、二日酔いな感じで身体が重く、昼過ぎに起きた。