Elastic社のGithubレポジトリで面白そうなものを紹介してみる

まえがき

2018年Elastic Stackアドベントカレンダーの22日目の記事になります。

qiita.com

私からはElastic社のGithubレポジトリで面白そうだったり、こんなのあったんだー的なものをいくつか紹介したいと思います。

GithubのElastic社管理リポジトリについて

結構数が多くてフォークしたものも含めると、記事執筆段階(2018/12/21)で既に265個もあったりします。

github.com

Docker系について

私は今まで知らなかったのですが、個別のデーモンのDocker以外にも、Elastic Stackそのものを立ち上げるDocker Composeリポジトリがあります。

github.com

ただ、中身を見ていると、Docker Hubに上がっているのとはパット見別物っぽくも見えます。
Docker系の設定は以下の通りいくつかに散らばっているようにも見えますが、今後は自社のDockerリポジトリ(https://docker.elastic.co)に集約させていくのかなと思いました。

Docker Hubに上がっているDockerfileをよく見たら参照先が公式のdocker.elastic.coになっていました。
ただ、Docker Hubのやつは非公式との話も聞いたのでやはりDockerを使って作業するときは$ docker pull elasticsearchではなく、公式を参照先に指定されたほうが良さそうです。

現存するDockerライブラリ

Ansibleについて

AnsibleについてはElasticsearchとBeatsについてはありようですが、LogstashやKibanaについてはなさそうでした。
Elasticsearchの本番運用をDockerでやるのは辛いと思うので、AWS EC2やオンプレミスで運用するときにAnsibleでデプロイするときに役立ちそうです。

github.com

github.com

テストデータ系について

Elastic社でデータセットと、それを使ったサンプルをいくつか提供してくれています。
例えば、以下のelastic/examplesでは、ApacheやNginxのログだけにとどまらず、 アメリカの疾病予防センター(CDC)のデータセットを使ったサンプルや、PHPを使った検索のサンプルApacheのログからGraph機能を使ったセキュリティのサンプルなど多岐に渡って紹介されています。
ある程度触ったことがある方にはこのサンプルでElastic Stackをどう使えば良いか、より具体的なイメージができそうです。

github.com

他にもelastic/makelogsというリポジトリがあり、
こちらはNode.jsを使ってダミーのアクセスログを生成してElasticsearchに投入するもののようです。
簡単にデータを投入してデバッグや動作確認したいときはこれを使ってサクッと試すのに良さそうです。

github.com

Elasticsearchチームのエンジニアリング哲学について

この前GitLab社が公開しているハンドブックが面白くて一部を紹介しましたが
Elasticsearchチームでもエンジニアリング哲学についてGitHub上で公開されていました。

github.com

Elastic Stackのテストについて

まだWIPのようですが、Elastic Stackのテストフレームワークを作っているようです。

github.com

この前Elastic社のテストとリリースについて語っているスライドを見たら、
様々な言語、バージョニング(今は統一されていますが)で大分カオスだったので、確かにこういうテストフレームワークがないと死ぬなーと思いました。

言語について

f:id:st1t:20181221163638p:plain

各プロダクトのバージョンについて

f:id:st1t:20181221163901p:plain

Slackボットについて

Slackを使った簡易ボットのようです。
週末の金曜日にお酒飲みながらサクッと作られたのかな?w
パット見は、localhostのKibanaに問い合わせてDashboardのスクショを撮ってくれたりしてくれそうです。

github.com

あとがき

レポジトリの中身を実際に動かす時間は取れなかったので簡易的な紹介にとどまってしまいましたが、改めて見てみると面白いレポジトリが多いなーと思いました🙂
もし、今使われているプロダクトだけでなくて、Elastic社がどんなことをやっていて、今後どういうことをやろうとしているのか、どういう雰囲気で開発しているのか等気になったらリポジトリから垣間見ることができるのでぜひ見てみてはいかがでしょうか(そして面白いのがあったら教えてくださいw)

明日はfroakie0021さんによる「Canvasやってみたいと思います🌈」です! 乞うご期待!!