tagomorisのメモ置き場 RSSフィード

2014-04-10

GrowthForecastに --kibanize オプションつけた

要するにおまえらは黒っぽいグラフならいいんだろ?

ということで、そのような欲望を現実のものにするためのパッチを書いてpullreqを出しました。

https://github.com/kazeburo/GrowthForecast/pull/63

このグレートなパッチにより --kibanize オプションをつけて起動したGrowthForecastの画面がこのようになります。

色指定などは全面的にこちらから頂きました。グレートなエントリです。

rrdtoolは癒し - 桝原翔市的博客

※ なお全体的にやっつけのため、Twitter BootstrapがゴニョゴニョやっていてCSSで簡単に色指定を上書きできない場所などが白いまま残ってたりします。みんなで頑張って更に格好よくしよう!

2014-04-08

JVM Operation Casual Talks やった/話した

JVMの運用に困ることがあったので、これはみんなも困っているに違いないと思って声をかけてみたらすごい感じのイベントになりました。自分は大変よかったので満足です。

JVM Operation Casual Talks : ATND

イベントでの話の内容自体もよかったけど、ここしばらくで非常に有益blogエントリなどがいくつも出てきていて、このイベントがあるというのが彼ら/彼女らのきっかけになってたんだとしたら嬉しいなあ、という感じ。大いに参考にさせていただいております。ありがとうございます。

会場でも言いましたが、次回についてはやりたい人がやればいいと思います。イベント名について権利を申し立てる気はございません。自分も参加したいw

で、しゃべった

Norikraというミドルウェアについての顛末とやったことについて。まとめる機会があってよかった。

2014-03-18

SFTP disableなCentOS環境でansibleを使う

サーバがだいたい CentOS 5/6 でsshの設定においてSFTPがオフになっていると、ansibleを使おうとしたときにいきなりファイル転送ができなくてハマる。

まず第一に、RHEL6およびそれ以前において OpenSSH が ControlPersist オプションをサポートしていないため、ansibleは paramiko というライブラリを使おうとする。

When using Enterprise Linux 6 operating systems as the control machine (Red Hat Enterprise Linux and derivatives such as CentOS), however, the version of OpenSSH may be too old to support ControlPersist. On these operating systems, Ansible will fallback into using a high-quality Python implementation of OpenSSH called ‘paramiko’.

Getting Started — Ansible Documentation

ところでansibleを使うとき、sshdの設定でSFTPが無効になっているとこんなエラーが出る。

FAILED => failed to open a SFTP connection (Channel closed.)

これは調べると以下のような設定をしろという情報がさくさく見付かる。*1

[ssh_connection]
scp_if_ssh=True

のだが、これを作業用ディレクトリ ansible.cfg に書いても状況が変わらない。なぜだー、と思ったら、この paramiko はファイルの転送に必ずSFTPを使おうとするらしい。scp_if_sshを書いても見てくれない。

ということで通信に ssh を使うよう強制する必要がある。このとき先程の ControlPersist オプションが問題になる(ansibleがデフォルトでセットしている)ので、これを明示的に無効にしてやる必要がある。これは ssh_args に空の代入を行うことで実施する。

[defaults]
transport=ssh

[ssh_connection]
ssh_args=
scp_if_ssh=True

同等の設定を環境変数だけでやるには ANSIBLE_TRANSPORT=ssh ANSIBLE_SSH_ARGS="" ANSIBLE_SCP_IF_SSH=true を指定する。また ANSIBLE_TRANSPORT=ssh の指定は ansible -c ssh でも代用できる。

paramiko については @r_rudi さんに教えていただきました。ありがとうございます。

かいけつ!

*1:あるいは ANSIBLE_SCP_IF_SSH=True とかしてもいける。

2014-02-28

Ruby 2.1.1 + Fluentd 0.10.44 + Cool.io 1.2.1

Ruby 2.1が正式にリリースされてから試してなかったので、試した。ついでにGVLまわりの改善があったとかいうCool.io 1.2.1 も入れたり、Fluentdも新しくしてみたり*1

で、2日くらい経ったけど、良さそう。26日午後にこのサーバの全プロセスを切り替えた。

f:id:tagomoris:20140228115432p:image

f:id:tagomoris:20140228115431p:image

これはdeliverと読んでいる中継用のFluentdノード(8プロセス)だけど、他の役割のノード(exec_filter + webhdfs)でもやってみてて、そっちも問題ない。CPU使用率もメモリ使用率も前後でほとんど変化が見られなかった。

なお変更前の構成は Ruby 2.0.0-p195 + Fluentd 0.10.39 + Cool.io 1.1.1 でした。

安心して使える良いアップデートだと言えるのではないでしょうか。すばらしい。

なお Ruby 1.9.x をお使いの皆様(td-agentユーザを含む)につきましては、Ruby 2.0の時点で大幅に性能が上がっているはずなのでこちらをご覧下さい。Ruby 2.1も同じくらい速く安定しているということです。

ruby 2.0.0-p195 + fluentd v0.10.35 + msgpack v0.5.5 の組合せが素敵という話 - tagomorisのメモ置き場

*1Fluentdには性能的な変化は無かった……はず?

2014-02-24

LINE Developer Meetup in Fukuoka #1 でしゃべってきた

勤務先であるところのLINE株式会社*1がこれから月イチでdeveloper meetupを福岡でやる、ついては第一回目でしゃべってくるがよい、ということになったので、いってきた。わーい出張だー。*2

LINE Developer Meetup in Fukuoka #1 - connpass

話題はどうしようかと思ったけど、普通に自分のお仕事そのものについて話すか、ということでログ収集・集計システムの概要、これまでの流れおよび最近の変更を設計指針なんかの話もからめてひと通りやった。1時間近い話になってしまった。

過去のスライドURLも貼ってあるけど、基本的にはそれを受けて、更にそこからNorikraやPrestoを加えたときの話なんかを加えてある。最近は特に、オンデマンドで処理を追加/削除したいよね、それをストリーム処理でやったり、即座に結果が返ってくる低レイテンシクエリでやりたいよね、という話があったので、そのへんを強調した。

あとは用途によってサブシステムを追加したり変更したりしましょうということで、HiveとPresto/Impalaはそもそも用途が違うので「100倍速い!」みたいな話に踊らされてはいけない、用途をちゃんと考えて適切なものを使おう、みたいな話とか。

こんな話でよかったかなあと思ったけど、懇親会でFluentdを使っている、しかもお仕事で! という人に何人も話しかけてもらったりもして、それなりに興味を持ててもらえる話ができたのかなという気はした。参加者も登録数(定員いっぱい70人)くらいは実際に来場されてたらしい。よかったよかった。

来月以降はまた全然違う方向の技術の話をしに別の人が行くと思うので、今回の話がまったく楽しめなかったという方も、これに懲りずに参加してもらえると良いのではないかと思います。あと木曜開催はやめるらしい。w

雑感

死ぬほどうまいものを食べたので1泊のうちの出費がすごいことになった。福岡は魅力的な場所だが長期滞在したらサイフがやばい。

冗談は置いておいても、懇親会とかで話してるとやっぱり福岡福岡でいろいろやってる人がいそうで*3、場所を問わず人は居る、という印象。その一方でやっぱり会話の端々で東京のあの会社の誰々が、という言及も出てくるので、良くも悪くも東京がこの業界の中心であることには変わりないんだなあ、という印象も強まる。たぶんその位置関係と日々の暮らしやすさ等を天秤にかけて、福岡で働く、という選択肢が生まれるんだろうな。

*1:正確には主催はLINE Fukuokaだけど、まあもう区別がめんどくさい……

*2:最後に転職してから出張などついぞ無かったので。同業の多くの方にはわかってもらえると思う。無いよねw

*3:推測っぽくなってしまうのは、どうしても自分が質問を受けてしゃべるという側に回ってしまって、会話した人のバックグラウンドまでちゃんと聞き出す余裕がない、という……。もうちょっと会話スキルを高めたい