今回は、twitterプラグインを用いて取得したログをLogstashで加工しElasticsearchに保存した後、Grafanaで可視化するところまでやりたいと思います。
環境
- CentOS7.6
- Grafana6.16
- Elasticsearch5.6.16
- Logstash5.6.16
インストール
Java確認&インストール
Logstashを使うにはJava8が必要なので、事前にJava8が入っているか確認します。
java -version
CentOS7はデフォルトでjava8が入っていないので、インストールします。
今回はOpenJDKのディストリビューションを使います。
※現在サポートされているのはjava8のみなので、他のバージョンが入っていた場合は、バージョン変更を実施してください。
#java8のインストール $ sudo yum -y install java-1.8.0-openjdk #javaのバージョン確認 $ java -version openjdk version "1.8.0_212" OpenJDK Runtime Environment (build 1.8.0_212-b04) OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
ElasticsearchとLogstashのインストール
続いて、ElasticsearchとLogstashをインストールしていきます。
yumでインストールする場合、公開署名キーをインポートする必要があります。
$ rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
その後、/etc/yum.repos.d/配下にrepoファイルを新規で作成します。
repoファイル名は何でも良いらしいですが、今回はドキュメントと同様"logstash.repo"ファイルとして作成します。
$ vi /etc/repos.d/logstash.repo [logstash-5.x] name=Elastic repository for 5.x packages baseurl=https://artifacts.elastic.co/packages/5.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
repoファイルを作成したら、ElasticsearchとLogstashをインストールします。
$sudo yum -y install elasticsearch $sudo yum -y install logstash
サービスの自動起動設定
インストールが完了したら、サービスの自動起動設定を行います。
設定したらサービスのステータスが「enabled」になっていることを確認しましょう。
#サービス自動起動の設定 $ sudo systemctl enable elasticsearch $ sudo systemctl enable logstash #確認 $ systemctl list-unit-files -t service elasticsearch.service enabled logstash.service enabled
Twitterプラグインのインストール
今回はTwitterプラグインを使ってみますが、他のプラグインを使ってみたい方はLogstashで使用できるプラグインが下記リンクに書かれているので、インプットしたいデータソースがあるか確認してください。
コマンドでもLogstashで使用できるプラグイン確認できますよ。
#プラグイン一覧 /usr/share/logstash/bin/logstash-plugin list
プラグインのインストール方法は下記リンクを参考にしました。
少しインストールに時間がかかるので焦らず待ちましょう。
「Installation successful」が表示されて入ればOKです!
#twitterプラグインをインストール $ /usr/share/logstash/bin/logstash-plugin install logstash-input-twitter OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N Validating logstash-input-twitter Installing logstash-input-twitter which: no javac in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) Installation successful
今回はここまで~('ω')ノ
参考文献
今回のインストール方法等は下記の書籍を参考にしました。
Elasticのドキュメントは英語なので、少ししんどい・・・と思う方や初心者の方におすすめですよ。