memocon プログラミングのメモや物欲日記、雑記等

CentOS6でelasticsearch + kibana3 + fluentdの環境作成手順

2014年10月19日 20時49分

ビッグなデータは全く持ってないのですが、phpカンファレンスでelasticsearch + kibana3 + fluentdという環境でログを可視化しようぜというセッションを見たので折角だから自分のサーバにも環境を作ってみた。

その手順のメモ。

elasticsearch

全文検索エンジン。

参考リンク
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/setup-repositories.html

fluentd

ログを運ぶ鳥。

参考リンク
http://docs.fluentd.org/articles/install-by-rpm

— v1.x

— v2.x

kibana(v3)

elasticsearchのGUI。JavaScript製のSPA。

参考リンク
https://github.com/elasticsearch/kibana

v4のbeta1が出たらしいがとりあえずstableの最新版を使用することにしました。

apacheなどの設定でチェックアウトしたプロジェクトのsrcにパスを通す。


カンファレンスで見たような画面が出た!

kibana3

とりあえずapacheのアクセスログを可視化しただけだけど、エラーログ案外出ててWordpressの設定を見直すということをやった時点で可視化の価値はあった。
手軽に見えるってのはとても重要。

あとはアクセス解析したいようなサービス作って何を見たいかってのを考えて、fluentdでタグ付けしていくと楽しくなりそうな感じ。

第2回 日本Seleniumユーザーコミュニティ勉強会に参加してきた

2014年10月18日 21時50分

最近、勉強会の報告しかしてない気がする…と毎回書いてるけど今回はSeleniumの勉強会。

第2回 日本Seleniumユーザーコミュニティ勉強会

Seleniumは前の会社でテストとしてじゃなくてマスタ登録をExcelでやりたいというのを実現するために使ったことしかなかったです。
JavaでPOIとSelenium WebDriver使って書いたけどあれは使われているのだろうか?
とりあえずブラウザが自動で動く様は初見のウケが非常に良かったです。

ということで、あまりSeleniumの知識持ってなかったので得られるものは多いはずと思い参加してきました。

— ひとこと感想 —

Seleniumをもっと知るための本の話
Symfony2を仕事で触ってるんですがやっぱり英語の資料読まないと情報が少ないなぁと思ってた所に英語の技術書を読みましょうという話があった時にはビクッとしました。英語、頑張ります。
脱・独自改造!GebでWebDriverをもっとシンプルに
Geb、超楽しそう。
Groovyと合わせてやる良い機会。
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外ではSeleniumでカンファレンスが開かれてる。
なんか日本との熱量の違いを感じるし楽しそう。
ハイパフォーマンスSeleniumテスト
Q&Aでの「チームにテストの文化を根付かせるには」という質問と内容が秀逸だった。
「テストを徹底させる為にどんな強権を発動したのか?」という質問に対して「一度(テストが)メンテ不能な状態になった。そこから本の勉強会などでテストの大切さを学んで浸透していった」。
やっぱり強制される(させる)やり方では難しく、チーム全体が自らやるという体制にならないといけない。


実践アジャイルテスト テスターとアジャイルチームのための実践ガイド

クックパッドアプリの開発を支援するAppiumの話
ネイティブアプリのテスト自動化、できることを初めて知った。

以下、まとめ。
後半になっていくほど内容が薄いのは自分の集中力の限界。

続きをみる

phpカンファレンス2014に参加してきた

2014年10月12日 01時01分

phpカンファレンス2014に参加してきたので忘れる前に書き留めます。

ちなみに去年のやつはこちら。

mysqlnd 徹底解説

あんまり意識しないレイヤーのlibmysqlとmysqlnd違いをライブラリのソースコードレベルで解説。
fetchの中の挙動とかディープな内容だった。

とりあえず意識しないといけないのはmysqlnd使っててPrepared Statement使う場合。

クライアントサイド(PDO::ATTR_EMULATE_PREPARES : true)とサーバサイド(PDO::ATTR_EMULATE_PREPARES : false)で結果の型が違って、場合によっては値が違ってくるのは衝撃的でした。
これ知らずにハマってたら解決まで長引きそう。

このセッションで受けた印象としてはmysqlndはまだ枯れてないという感じ。
mysqlndの作成理由がlibmysqlのライセンス(GPLv2)が主ということなら、それが問題にならないケースの場合はlibmysqlでええんでないかいと思う程には保守的です。

安全なPHPアプリケーションの作り方2014 〜必要最低限のセキュリティ対策はこれだ〜

目当ての徳丸先生セッション。(徳丸さん×大垣さんはその場に居るだけで胃が痛くなりそうなのでパスしました)

3大脆弱性(CSRF、XSS、SQL Injection)を解説、デモ、対策を順にやって説明。
やっぱ実演があるととても分かりやすいです。

以下、セッション中の徳丸先生の話の中で気になったもの。

○ 独学で本一冊を最後まで仕上げる(やりきる)のは大変、その点は褒められるべき

「その点」というのは『脆弱性を含む本で勉強していても』という流れだったような気がします。

積み本してる身としては耳が痛い言葉だったけど、だからこそ本当にそう思います。
特に仕事で必要に迫られてじゃなく知的好奇心とかが動機だとその行為は何よりも尊いし大切にしたい。

○ サンプルプログラムの乱数生成方法

乱数を生成するのにuniqidやmt_randを使うのは避けてopenssl_random_pseudo_bytesか/dev/urandomを使いましょう。という先生のサンプルの乱数生成方法がこんな感じだった。
なるほどという感じ。

今日から始める PHPエンジニアのためのアクセスログ解析基盤構築入門

http://who-you-me.github.io/slides/phpcon2014/#/

入門的なセッションの場合はそういうツールがあるよというのを知るのが大切(なはず)。
実際、ツールの紹介と基本的な使い方が主。

ということで出てきたツールやサービス一覧

Elasticsearch
オープンソース検索エンジン
Kibana
上記ElasticsearchのGUI。サードパーティ製だと思ってたらオフィシャルだった。
BigQuery
Google社のSaaS型データストア。
課金が安いらしい。
fluentd
treasuredata製のログ収集管理ツール。

この辺りに関しては去年試してみるかと思い立って調べてみたけど、結局サーバがVPS一台しかなかったのでやるのは今じゃないという結論に達したのを思い出した。

なんかフル活用出来るようなサービスを立ち上げたい。


今年は3セッションで体力尽きました。
でも公式見たらustreamで動画公開してくれてるのでそれ後でチェックしよう。

スタッフや関係者の方々、素晴しい発表していただいた方々、素敵な時間をありがとうございました。