ラズパイ4BにElastic Stackを組む

ものすごいボロな x86鯖で Elasticsearch + kibana + Fluentd + Mosquitto な IoTデータ収集をやってる。
いつ壊れるんだろうなーという状態になって4年ぐらい経過した気がする。
実験用でクリティカルでないし放置気味。
先日ちょっと刺さって、じゃ終わりにしますか!としたら「データをサルベージしてくれ!」とかになって。
つぶれから気づく、ごんぎつねの存在。
なんとか復帰して今回はことなきを得たのだが、懲りずに使い続ける。
これまで何度こういうことを繰り返しただろうか。

もうこの手のヤツをシングルノードでゴリゴリやるのとかもう流行らない。
さりとて x86 をいっぱい揃えるとお金もさることながら場所リソース確保が悩ましい。
ということで「貧者の味方ラズパイ」で動かんかなーとなるのだけど、3B+ ぐらいまではメモリ1GBしかなくてちと足りんかった。
ところがココに至って、ラズパイ4B登場。
2GB/4GBが販売されてて、さらに8GBが登場するという。
これはイケるやん!と調べたらガッチリやってる人がいた。

■Raspbian buster でElastic Stack 7.5.1 を動かす
https://qiita.com/Y-Shikase/items/7e6025855454c443f620
OpenJDKとNodejsのバージョンがキモとのこと。
Elastic 6.xの頃に 3B+ に組んだ頃も、同梱されている OpenJDK が x86バイナリで、入れ替えとかやったような記憶がある。
最近は ARM 運用も視野に入ったのか、そのあたりが整理されつつあるとのこと。
OpenJDKは11を使う。
Logstashが OpenJDKの8シバリで、かつてはインストール時には8を使いましょうとか言われていたが、今は同梱されて配布されるようになってるらしい。
Machine Learning のところに x86バイナリあるので、そこは false。
これだけでいいらしい。single-node 設定も入っているので単体で動く。
kibana の方は Nodejs のx86バイナリが同梱されてくるので、それを ARM と差し替えればよい、とのこと。

さっそく手元にあったラズパイ4B(2GB版)に、Raspbian 最新版(5/27版)に入れてみた。
32bit版だけど、そのうち64bit版も出るだろう。なんならubuntuって選択もある。
本番運用は64bitで構成したほうが先が長くていいかもな。
上記記事との違いは、Elasticは最新の 7.8.0 をインストールした。
あと Nodejs のバージョンにこだわりなかったので、ツルシで入った v10.21.0 を使った。
この違いでも問題なく動いた。やったー。

またUI変わったね。

1回目起動してほっとしたが、再起動で動かず。
kibanaのフォルダにヘンなコントロールコードのファイルができるってのは、コチラでも再現した。

なんだこれ?

リンク先の記事あるとおり、コントロールコードのファイルを消すスクリプトを追加する。
この情報ありがたい。これ気づかないと思う。
これなかったらおそらく「動かんなあ」とくじけていたこと間違いない。

Fluentdは手で組み上げすれば動く。
td-agentが更新とかも手軽だけどx86版しか配布してない。
先日どこかで 3.8.0 のARM版みたいのも見かけた気がするんだけどな。

まあ今のボロ鯖の代替ができるようにはなった。
バージョン依存とかあって、たくさんのラズパイに組み上げるなら、Docker イメージにした方がいいよね。
とおもったら、同じ人がやっていた。すごい!
■Raspberry Pi 4Bのdocker上でElastic Stack 7.6.0/7.7.x/7.8.0 を動かす
https://qiita.com/Y-Shikase/items/d162805aebb3a1a8447f
公式からも AArch64(ARM64bit)の Dockerイメージ配布はじまっとる。
https://www.elastic.co/jp/blog/elasticsearch-on-arm
64bitなので、今の Raspbian だとダメだし、kibana は配布されていないらしい。
だがこれは確実に ARM版配布の流れだな。

Dockerまで行ったならば、Kubernetes で組み上げたいよね。
とおもったら、そちらも実現したとのこと。
いやー在宅の暇つぶしにすごいいいネタのような気もする。
問題はx86に比べれば安いといえ、たくさんのラズパイ買ってくれるかなー。

8/20追記。
7.9 の Elastic Stack で、ARM64bit(AARCH64)に対応。
https://www.elastic.co/jp/downloads/elasticsearch
これで導入もラクチンになりましたね。
なおkibanaはARM版ないです。
コントロールコードのワケわからんファイルの処理があるんで、こっちも公式パッケージほしいですね。
Fluentd の ARM 向けパッケージはココにありました。
https://td-agent-package-browser.herokuapp.com/3/ubuntu/bionic/pool/contrib/t/td-agent
よーくみると、arm64 があります。(3.8.0)
ubuntu Bionic 向けのパッケージですが、試して見るとインストーラがちゃんと読み替えてくれて Buster にも入りました。(キケン)
ご参考まで。

11 bit studios のゲームが国の推薦図書に

先月末にthatgamecampany「風ノ旅ビト(英語名Journey)」が Steam に出て、ヒマを見つけては周回しているのですが、あらためてゲームスゲエなー。
体験を通して独特の感動を与えてくれる。今回年齢によって感じ方も変わることも気づいた。
こんな感じでハードな追体験をさせてくれる作品をつくるゲームメーカーに 11 bit studios がある。
この度、その作品が国の推薦図書になってしまったようだ。

戦時下生活サバイバル『This War of Mine』がポーランド教育省の学生向け推薦図書リスト入り。
https://automaton-media.com/articles/newsjp/20200619-128126/

ポーランドのゲーム会社 11 bit studios の「This War of Mine」。
戦争に巻き込まれる市民に視点をあてたゲームで、ゲームをすすめる上で厳しい選択を迫る。
このゲームは戦争を題材にしているのでやむなく18禁だが、それを含めての推薦図書。
DCL追加シナリオのどれも重い。うわーそこくるかーってお腹にくるヘヴィさ。
戦争ゲームってドンパチやるのが人気で主流ですが、逆側の視点は珍しいのではないか。
このゲームは5年ぐらい追加シナリオなどあったが、昨年末ファイナルカットへ至った。

この重厚なタッチ。

で、今の 11 bit studios は、なにをやっているかというと新タイトルの「Frostpunk」ってのをやっている。
これも期待を裏切らない重厚な作品。
スチームパンクな時代設定で、原因不明の氷河期がやってくる。
そんな環境で生き残りをかけて市長になってシムシティ。
容赦なく(ホント容赦ない)訪れる自然の脅威に、法律制定や宗教、技術開発でもって抗う。
相変わらず厳しい選択を要求する。
コロナ禍の現代いろいろ思い知らされる、まさに今やるべきテーマではないか。
常に寒い感じなのも季節にあってるぞ。

とても寒そう。

タイムリーなことに Steam のサマーセールになってるんですよね。
「This War of Mine」は495円。
https://store.steampowered.com/app/282070/This_War_of_Mine/
バンドル全部つけても932円。
https://store.steampowered.com/bundle/9717/This_War_of_Mine_Complete_Edition/
「Frostpunk」は1236円。
https://store.steampowered.com/app/323190/Frostpunk/
Steamのサマーセールは7/10まで。