PR

データを集めて可視化しよう(Beatsを使って情報を集めてみる)

2018年5月18日(金)
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第4回です。

 「とりあえずTwitterのつぶやき履歴はKibanaに取り込めたけれど、各サーバーのCPU使用率やメモリの使用率の取得は大変そうだな…。」

 もふもふちゃんの言う通りです。サーバーの情報をLogstashで取り込む場合、一度topコマンドなどの結果をファイル等に出力し、LogstashでElasticsearchへ送る必要があります。ただし、そのために新しくプログラムを作成することは大変です。

 そこで、今回はBeatsの中でもサーバー情報を自動で収集しElasticsearchに送付するMetricbeatを使用することにしましょう。

Beatsのインストール

 BeatsのインストールはELKが正しく起動できた後に行います。インストール時にトラブルがあった場合、Beatsに問題があるのかを切り分けるのが難しくなるためです。

 インストール方法としては、各OS用に提供されているパッケージからインストールする方法と、リポジトリからダウンロードしてインストールする方法の2種類があります。ただし、Winlogbeatはパッケージからインストールする方法しか使うことができません。

 今回はMetricbeatのインストール方法を例に挙げて紹介します。

パッケージを使ってインストールする場合(Windows以外のOS)

 各OSに対応したパッケージをダウンロードし、インストールを行う点は共通です。サンプルコードではバージョン「5.4.0」を指定していますが、別バージョンをインストールする場合「5.4.0」の部分を変更してください。

MacOSにインストールする場合

# tar.gzファイルをダウンロード
$ curl -L -O https://artifacts.elastic.co/downloads/beats/[※改行位置指定※]metricbeatbeat/metricbeatbeat-5.4.0-darwin-x86_64.tar.gz
# (必要であれば)ダウンロードしたファイルを解凍
$ tar xzvf metricbeat-5.4.0-darwin-x86_64.tar.gz

rpmパッケージを用いてインストールする場合

# rpmファイルをダウンロード
$ curl -L -O https://artifacts.elastic.co/downloads/beats/[※改行位置指定※]metricbeat/metricbeat-5.4.0-x86_64.rpm
# rpmパッケージのインストール
$ sudo rpm -vi metricbeat-5.4.0-x86_64.rpm

debパッケージを用いてインストールする場合

# Beatsに必要なパッケージをインストール
$ sudo apt-get install libpcap0.8
# debパッケージをダウンロード
$ curl -L -O https://artifacts.elastic.co/downloads/beats/[※改行位置指定※]metricbeat/metricbeat-5.4.0-amd64.deb
# debパッケージのインストール
$ sudo dpkg -i metricbeat-5.4.0-amd64.deb

Windowsにインストールする場合

 まず始めに、各BeatsのダウンロードURL(例:https://www.elastic.co/downloads/beats/metricbeat)からBeatsのパッケージをダウンロードします。C:\Program Filesにダウンロードしたzipファイルを配置し、解凍します。最後に、Administrator権限でPowerShellを起動し、次のコマンドを入力します。

Beatsのインストール

PS > cd 'C:\Program Files\Metricbeat'
PS C:\Program Files\Metricbeat> .\install-service-metricbeat.ps1

Metricbeatのセットアップ

 Metricbeatは基本的にインストールするだけでプロセスごとのCPU 使用率・メモリ使用率を収集できます。ただし、収集したデータをどこに送付するかは自分で指定する必要があります。

metricbeat.ymlの編集

 MetricbeatもLogstashと同様、どこに取得したデータを送信するか決定します。コンフィグはYAML形式のファイルで、metricbeat.ymlという名称です。rpmまたはdebパッケージからインストールした場合は/etc/metricbeat/下に配置されています。

 metricbeat.ymlの設定は複数ありますが、最低限設定するべき項目は「どこに収集したデータを送付するか」の1種類のみです。

ログの送信元を指定する(output)

 Metricbeatで取得したサーバー情報をどこに送信するか指定します。Elasticsearchにそのまま送付する場合、「Elasticsearch output」セクションを編集します。Logstashで独自の情報を付け足す場合などは「Logstash output」セクションを編集します。

Beatsで取得した情報をElasticsearch(IPアドレス:10.0.0.100)に送信する場合

71 #--------------------- Elasticsearch output ----------------
72 output.elasticsearch:
73   # Array of hosts to connect to.
74   # hosts: ["localhost:9200"]
75   hosts: ["10.0.0.100:9200"]

Beatsで取得した情報をLogstashに送信

82 #------------------ Logstash output ------------------------
83 #output.logstash:
84   # The Logstash hosts
85   #hosts: ["localhost:5044"]
86   #hosts: ["10.0.0.100:5044"]

コンフィグのテストを行う

 -configtestオプションを使用し、Beatsのコンフィグが正しいか確認することができます。

Beatsのコンフィグテスト(zipファイルからインストールした場合)

$ /metricbeat -configtest -e.

Beatsのコンフィグテスト(パッケージからからインストールした場合)

$ /metricbeat.sh -configtest -e.

Metricbeatの起動

 コンフィグのテスト終了後、いよいよBeatsを起動します。Beatsで取得したファイルの送信先サービスが起動しているか確認して下さい。「-d publish」オプションをつけるとデバッグすることができます。

Metricbeatの起動コマンド(zipファイルからインストールした場合)

$ sudo ./metricbeat -e -c metricbeat.yml -d "publish"

パッケージからインストールした場合

 パッケージでインストールした場合、/etc/init.d配下の起動用スクリプトからサービスを立ち上げます。最後に「OK」と出てきた場合、サービスは起動しています。

Metricbeatの起動コマンド(パッケージインストールの場合)

$ sudo /etc/init.d/metricbeat start
# 出力ログ省略
Config OK
                                                     [  OK  ]

 また、サーバー起動時にMetricbeatを自動起動したい場合、各OSに合わせたサービス自動起動設定方法を使用することで設定できます。設定方法はElasticsearchやKibanaの設定方法を参考にしてください。

Metricbeatの自動起動設定(Amazon Linuxの場合)

$ sudo chkconfig --add metricbeat
$ sudo chkconfig --list | grep metricbeat 
metricbeat     0:off 1:off 2:on 3:on 4:on 5:on 6:off

WIndowsでMetricbeatを起動する場合

 パワーシェルのコマンドプロンプトから起動コマンドを発行することで、Metricbeatを起動することができます。

WIndowsでBeatsを起動

PS C:\Program Files\Metricbeat> Start-Service metricbeat

 これで、もふもふちゃんが取得したい情報をElasticsearchに集めることができました。次はKibanaで集めたデータを可視化しましょう。

(次回へ続く)

連載バックナンバー

運用・管理書籍・書評
第8回

トラブルシューティング

2018/6/14
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第8回です
運用・管理書籍・書評
第7回

Dashboard画面を使ってグラフを一覧表示する

2018/6/7
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第7回です。
運用・管理書籍・書評
第6回

Visualize画面でデータを可視化する

2018/5/31
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第6回です。

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています