kibana と Beats (metricbeat)を使ってサーバのパフォーマンスデータを可視化する

今回は Kibana と Beats を使ってサーバのパフォーマンスデータを可視化してみます。

主にサーバのシステム系のパフォーマンスデータと nginx のコネクションデータなどを可視化してみます。

Kibana は既にインストールなどしている前提です。

インストール環境は CentOS7 で yum を使ってのインストールになります。

 

metricbeats のインストール

metrricbeatsのインストールを実施します。

Beats はgo言語で動く軽量なデータシッパーとなります。

インストールに際して、Javaなどのインストールは必要ありません。

まず、上記ではインストールに必要なリポジトリのキーの読み込みと設定を行い、yumでのインストールを実施しています。

 

Metricbeatの設定

設定ファイルの基本となる「/etc/metricbeat/metricbeat.yml」のファイルの編集を行います。

今回はElasticsearchに直接データを送信しています。

Kibanaのホストも設定しております。(後のコマンドで利用)

 

次にシステム関連の設定となる「/etc/metricbeat/modules.d/system.yml」を確認してみます。

こちらはデフォルトでデータを取得される状態です。

特に設定の変更はしていませんが、中身の確認をしてみます。

 

必要モジュールの読み込み

metricbeat では「/etc/metricbeat/modules.d/」に読み込み可能なモジュールのファイルがあります。

初期では「system.yml」だけが利用可能となっていますが、利用する場合は後ろの「.disabled」を削除します。

今回はnginxを利用します。

 

特に設定を変える必要はありませんが中身を確認してみます。

 

ただ、「nginx」側で「/server-status」を取得できるようにする必要があるのでそちらを設定します。

これでデータが取得できるようになりました。

 

起動の設定

metricbeatを起動し、自動起動される設定を行います。

 

Kibanaで可視化できるように設定

Kibana側でデータを確認できるようにするようにインポートの設定を行います。

こちらでKibana側でも可視化の設定を行ってくれます。

 

データの確認

可視化されたデータの確認を行います。

メニュー「Visualize」でインポートされているデータの確認を行います。

まずはメモリの利用の状態から。

15分単位なので大きな変化はありませんが、データは取得できています。

 

次にnginxのコネクションのデータを確認してみます。

こちらも無事データの取得ができました。

Elasticsearch + Kibana 環境があれば非常に簡易にサーバパフォーマンスの確認を行えます。