まめログ

Javaプログラマの歩み

Elastic Stack5.2でMetricbeatのダッシュボードを作って可視化してみた #elasticsearch

AWSを仕事で触れるようになって、色々試し始めてるので備忘録的に記載します。

Elastic Stackは、現在の業務を飛躍的に楽にしてくれると期待しているので、
社内でステマしまくって、何とか来期予算を少しだけ確保できましたので、
みっちり触っていこうと思ってます。


殆ど以下の記事を参考にしました。
acro-engineer.hatenablog.com

LogstashやBeatsで色んなサーバからログを集約して、Kibanaで一元的に可視化する方法とか
まだ全然わかってませんが、大事な1歩です。

AWS EC2のAmazon Linuxでやってます。

↓これ。
f:id:mamepika:20170215232553p:plain

Open JDKのアンインストール

Amazon Linuxには初期状態でOpenJDK7がインストールされているので、
Oracle JDK8にアップデートします。(Open JDK8でも問題ありません)

$ sudo yum remove -y java

Oracle JDKのインストール

Oracle JDKは以下のURLからあらかじめDLし、SCPでEC2インスタンスに転送しました。
この後出てくる各種インストーラも同じです。
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

$ rpm -ivh jdk-8u121-linux-x64.rpm

インストールが完了したら以下のコマンドで、Javaのバージョンを確認。

$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

Elasticsearchのインストール

yumでインストールするのが普通ですが、rpm版でインストールしてみました。

インストーラは以下のURLでDLできます。
https://www.elastic.co/jp/downloads/elasticsearch

以下のコマンドでインストール

$ rpm -ivh elasticsearch-5.2.0.rpm 

Kibanaのインストール

インストーラ
https://www.elastic.co/downloads/kibana

$ sudo rpm -ivh kinbana-5.2.1-x86_64.rpm 

アクロクエストさんの記事でもある通り、Kibanaのネットワーク設定を行います。

$ sudo vi /etc/kibana/kibana.yml

開いたファイルに以下の設定を追加。

server.host: "0.0.0.0"

そしてElasticsearch、Kibanaを実行。

$ sudo service elasticsearch start
$ sudo service kibana start

t2.nanoだと実行できなかったのである程度メモリが必要だと思われます。
(※どこでメモリ量指定してるか分からず)

起動したら以下のURLをたたいてKibanaの画面が表示されれば成功です。
http://<作ったインスタンスのIP>:5601
f:id:mamepika:20170215233332p:plain

Metricbeatのインストール

インストーラ
https://www.elastic.co/downloads/beats/metricbeat

インストール実行

$ sudo rpm -ivh metricbeat-5.2.1-x86_64.rpm

起動

$ sudo service metricbeat start

Metricbeatのダッシュボードをインストール

データを流すのが簡単なだけでなく、可視化するのも簡単なのがElasticスタックの利点。
Metricbeatからのデータを可視化するためのダッシュボードがすでに用意されています。

$ cd /usr/share/metricbeat/scripts
$ sudo ./import_dashboards

Kibanaでインストールしたダッシュボードを見てみる。
画面左の「Dashboard」をクリックして、画面右上の「Open」をクリックします。

f:id:mamepika:20170215234635p:plain

Metricbeat system overviewを選択するとこんな感じにしてくれます。

f:id:mamepika:20170215234903p:plain

ダッシュボード上の「System Navigation」でCPU選ぶとこんな感じ。
f:id:mamepika:20170215234950p:plain

メモリ
f:id:mamepika:20170215235017p:plain

プロセス
f:id:mamepika:20170215235053p:plain

いやあ、可能性に満ち溢れてます。
今はCPU使用率をモニタリングするのに、作業依頼を起票しないといけませんからね!!w

Elastic Stackがあれば、誰でもいつでも好きな時に好きなサーバのリソース状況を見ることができますね!

情報処理安全確保支援士 登録に申し込みました

f:id:mamepika:20170208194259j:plain

www.ipa.go.jp


2011年の特別試験で情報セキュリティスペシャリストに合格していたので、登録資格を持っておりました。

今のところ、メリットが全くない資格ですが、資格保持者が出てくればある程度状況も変わってくるかなぁ。


追記:

2017年2月1日から7月31日の間に申込んだ人は、10月1日に登録されるとのこと…。
4月1日に間に合いませんでした…。

Elasticsearchハンズオンセミナーに参加してきた #Elastichandson

5月27日に、Acroquest Technologyさん主催のElasticsearchハンズオンセミナーに参加してきました。

www.acroquest.co.jp

管理画面からログファイルをダウンロードして、
Excelに貼り付けてグラフを作るという仕事を絶対にしたくないので、Elasticsearch学び始めました。
(自社システムのレスポンスやキャパシティを月次でグラフにしないといけないのです)

ELKの各製品をローカルマシンで起動してそれぞれの製品を触っていく感じでした。

Logstashでfilter作って、標準入力読み込ませたり

Elasticsearchにアクセスしたり

Kibana表示したりしました


試験的なデータとして30万件くらいのCSVを配布されて、
それを流し込んだらCPU4つ使い切りました。

実際にはリアルタイムで収集して、いっぺんに収集することは稀だと思いますが、
サーバのスペックもそれなりに必要そうな感じですね。
(ログファイルも1つってことはないでしょうし)

ハンズオン資料見ながら、Kibanaいじって完璧なダッシュボードも作れました。


Elasticsearch気になってるけど、
どんなものかよく分かってない、一人でやり始めるのは難しそうと思ってる人にはお勧めのセミナーでした!!

これからも定期的に開催されるようなので、参加してみてください!

Java Day Tokyo 2016行ってきましたンゴ!! #JavaDayTokyo

お仕事として参加してきましたー!!
www.oracle.co.jp

希望のセッションが満席で事前予約できなかったんですが、
空席があれば入れるシステムだったので、
希望のセッションを聞くことが出来ました。


参加したセッションは以下の通り!

  • Innovate, Collaborate, with Java

 Java8の成功でJavaの人気が盛り返してきた話。
 コミュニティの話。


 損保ジャパンのCOBOLからJavaへの移行
  COBOLからJavaへ完全移行していくとの話でした。
  偉い人からCDIやらORMという単語が出てくるだけで羨ましい感じ。
  自動変換ではなくて本気でJava化へ取り組んでいくんだろうなっと。
  一つだけ気になったのはパワポの中の英語が全部大文字・全角ぽかったこと。「JAVA」

  Flight Recorder便利。

  • Java EE 7アプリケーションとWebセキュリティ

 みんな注目のスーツメガネコスの裏紙さん!!
 実案件でのセキュリティ診断で指摘された事項が、具体的に何を防ぐための物か分かったので良かった。

  • Putting Hypermedia Back in REST with JAX-RS

 やっぱ同時通訳じゃ内容が入ってこない…。
 ライブコーディングでJAX-RSのコードが見られたのは良かった。

  • 実践して分かったJavaマイクロサービス開発

 みんな大好きせろさん。
 直前まで資料が出来ていなかったとは思えないほどの、講演の完成度はさすがです。
 もっと具体的な話も聞いてみたいです。

  • オラクルコンサルが語るJava SE 8新機能の勘所

 ちっひーさんのお話。
 予約出来てなかったんですが、当日参加で行けました。
 最前列が空いてたので特等席で聴講。
 隣にはゆとりさんやきつねさん、櫻庭さんがいました。

 要するにJava8で加わったDate & Time API,ラムダ式,Stream APIを使わないっていう選択肢はないってこと。
 物によっては使うリソースが微増するけど、可読性は断然上がりますしね。

 最後のExaLogicによる36コア72スレッド環境での実測値は圧巻。
 parallelって書くだけで物理コアをきちんと使い切れるのが分かって面白かった。

裏でMicrosoftのde:code2016と被ってしまったのが残念でしたが、
大変面白いイベントでした。

来年はJava Day Tokyoとde:code双方に参加したい!
 

JJUG CCC 2016 Spring 開催されました #jjug_ccc

運営側に回って3回目のJJUG CCCでした。

JJUG CCC 2016 Spring | 日本Javaユーザーグループ

今回は参加者が810名!とかなりの大盛況。

ブースに珈琲コーナーも用意して好評でした。


今回は、以下の試みを新たに行いました。

・20分セッションの導入
・ブースにドリンク提供コーナーの設置
・昼休みを1時間30分に延長
・午後のセッションの合間に長めの休憩を入れる

概ね好評のようで良かったです!!

20分セッションは登壇の敷居が下がるので、
登壇が初めての方や普段Javaに携わっていない方などもCfP投げてくれることを期待しています。

それでは秋のJJUG CCC 2016 Fallもよろしくお願いします。

JJUG CCC 2015 Fallに参加してきました #jjug_ccc #jjug

f:id:mamepika:20151201220553j:plain

JJUG CCC 2015 Fall(11月28日開催) | 日本Javaユーザーグループ


前回に続いて運営として2回目のJJUG CCCでした。

登録者1100人、参加者700人弱と前回に引き続き大規模なカンファレンスになりました。
登壇者の皆さん、来場者の皆さん、スポンサーの皆さんありがとうございました。

今回はボランティアスタッフの方々にも参加していただき、非常に助かりました。



運営していくうちに足りないところや改善点が見えてきたので、
来年春のJJUG CCCは更に良いものになると思います!!

セッションの資料については、
JJUG CCC 2015FallのHPに随時追加していきますのでチェックをお願いします。

Sessions / JJUG CCC 2015 Fall(11月28日開催) | 日本Javaユーザーグループ


今回は各セッションの写真撮ったり、動画も撮っていたのですが、
櫻庭さんに写真の駄目だし食らったので、ここも精進していきますw

動画も一眼レフでは30分制限があって、1セッションを綺麗に撮ることが出来ないので、
ビデオカメラが欲しくなりました。

CCCは同時に複数のセッションが行われているので難しいですが、
ナイトセミナーは動画配信もしていきたいですね。
最近はページ公開するとすぐに定員になってしまうほどですし、
参加できない人にもあとで見返す機会は設けたいです。

アンケートについて

今回、アンケートの集計作業を行ったので、色々な意見を見させてもらいました。
やっぱり、応援や感謝の言葉があると嬉しくなりますね。
それと同時に意見や要望も為になります。

紙より電子媒体のほうがいいのかなって幹事会でも議題になってはいたのですが、
時間もなく紙になってしまいました。
次は電子媒体も検討したいです。

最後に

懇親会で、日頃Twitterで交流している方々と挨拶も出来て良かったです。

打ち上げも始発まで飲んで騒いで本当に楽しいイベントでした。
次回もいいイベントにしたいと思います。
ありがとうございました。

第3回かわいいKotlin勉強会に行ってきました #jkug

以下の勉強会に参加してきました。

kotlin.doorkeeper.jp

Kotlinは触ったことないですが、気にはなってるので。


かわいいというのはKotlinの名前だけで、
内容はかなりガチでした!

Java8で世の中が盛り上がってる中、Androidでは使えないので、
日頃Android開発をしてる方の参加が多かったようです。

Kotlinらしいコード

speakerdeck.com

Javaで煩いコードも、Kotlinだと結構スッキリになるよとのこと。
途中段階の説明ではチンプンカンプンでしたが、
before-afterだけ抑えてればいいのかなと。

Server Side Kotlin

www.slideshare.net

Kotlinのサーバーサイドフレームワークは殆ど死に体で、
Javaフレームワークを使うのも辛みがあるとのこと。

個人開発AndroidアプリをKotlinにガチ移行してみた話

speakerdeck.com

AndroidでKotlinを使った実例紹介でした。
Java-Kotlinの自動変換は躓くところもあるけど、おおむね良好の模様。

Kotlin + Androidの商用実績が欲しいとのことでした。

Kotlin as an AltJS

www.slideshare.net

Kotlin歴3時間弱でこのレベル。
タイトル変わったのに資料の出来は凄かったです。

型のティーカップを膝の上に置いてバランスを取る方法」

speakerdeck.com

Clojure最高とのこと。

普段C#使っている僕から見た、Kotlin

名前付き引数、拡張関数は便利という話でした。


みなさん発表ありがとうございました。

@ngsw_taroさん主催お疲れ様でした!


taro.hatenablog.jp