データを集めて可視化しよう(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 Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

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