Metricbeatをインストールする

 

Beat兄弟の中のmetricbeatを動かしてみたいと思います。今回もWindows Server 2019にインストールします。


ステップ1:Metricbeatをインストールする

① ダウンロードページからMetricbeat zipファイルをダウンロードします。

Metricbeatのダウンロードページ

② 展開したフォルダをC:\ Program Filesにコピー。

③ metricbeat- <version>ディレクトリーの名前をMetricbeatに変更します。

④ PowerShellプロンプトを管理者として開きます(PowerShellアイコンを右クリックし、[管理者として実行]を選択します)。

⑤ PowerShellのプロンプトで、次のコマンドを実行してサービスをインストールします。

PS > cd ‘C:\Program Files\Metricbeat’

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


ステップ2:Metricbeatの設定

公式サイトには以下のように記載されています。

—————————-

実行するモジュールを有効にします。 追加モジュールを使用可能にせずにデフォルト構成を受け入れると、Metricbeatはシステム・メトリックのみを収集します。modules.dディレクトリに定義されているデフォルトのモジュール設定を有効にするか(推奨)、モジュールの設定をmetricbeat.ymlファイルに追加することができます。 modules.dディレクトリーには、使用可能なすべてのMetricbeatモジュールのデフォルト構成が含まれています。

—————————-

ちなみに、modules.dフォルダの配下はこんな感じです。

aerospike.yml.disabled
apache.yml.disabled
ceph.yml.disabled
couchbase.yml.disabled
docker.yml.disabled
dropwizard.yml.disabled
elasticsearch.yml.disabled
envoyproxy.yml.disabled
etcd.yml.disabled
golang.yml.disabled
graphite.yml.disabled
haproxy.yml.disabled
http.yml.disabled
jolokia.yml.disabled
kafka.yml.disabled
kibana.yml.disabled
kubernetes.yml.disabled
kvm.yml.disabled
logstash.yml.disabled
memcached.yml.disabled
mongodb.yml.disabled
munin.yml.disabled
mysql.yml.disabled
nginx.yml.disabled
php_fpm.yml.disabled
postgresql.yml.disabled
prometheus.yml.disabled
rabbitmq.yml.disabled
redis.yml.disabled
system.yml
traefik.yml.disabled
uwsgi.yml.disabled
vsphere.yml.disabled
windows.yml.disabled
zookeeper.yml.disabled

 

公式サイトに記載のとおり、デフォルトでは system だけ有効になっているようです。

windows モジュールが気になりますが、一旦 system だけでいってみましょう。

デフォルトのコンフィグを抜粋して記載します。(基本的にWinlogbeatと同じですね)

① 出力を設定します。 Metricbeatはさまざまな出力をサポートしていますが、通常はElasticsearchに直接イベントを送信するか、追加処理のためにLogstashにイベントを送信します。出力をElasticsearchに直接送信するには(Logstashを使用せずに)、Elasticsearchインストールの場所を設定します。

今回はElasticsearchに直接出力します。

#================================ Outputs =====================================

# Configure what output to use when sending the data collected by the beat.

#————————– Elasticsearch output ——————————
output.elasticsearch:
# Array of hosts to connect to.
hosts: [“192.168.11.35:9200”] ← Elasticsearchをインストールしているホストを指定

# Optional protocol and basic auth credentials.
#protocol: “https”
#username: “elastic”
#password: “changeme”

② Metricbeatで提供されているサンプルのKibanaダッシュボードを使用する場合は、Kibanaエンドポイントを構成します。 KibanaがElasticsearchと同じホストで実行されている場合は、この手順をスキップできます。

#============================== Kibana =====================================

# Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API.
# This requires a Kibana endpoint configuration.
setup.kibana:

# Kibana Host
# Scheme and port can be left out and will be set to the default (http and 5601)
# In case you specify and additional path, the scheme is required: http://localhost:5601/path
# IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
host: “192.168.11.35:5601″ ← Kibanaをインストールしているホストを指定

#

③ ElasticsearchとKibanaがセキュリティ保護されている場合は、Metricbeatを設定して起動するコマンドを実行する前に、metricbeat.yml設定ファイルで認証情報を設定してください。

筆者の環境ではsecurityを有効にしていないので設定はしません。

 

④ 公式サイトには記載が無かったのですが、設定ファイルを保存したら、次のコマンドでテストしましょう。

PS C:\Program Files\Metricbeat> .\metricbeat.exe test config -c .\metricbeat.yml -e

Config OK と表示されれば、コンフィグの設定は完了です。


ステップ3: Logstashを使用するようにMetricbeatを構成する。

今回は、Logstashを介さずにElasticsearchへ出力するので、このセクションは割愛。

 


ステップ4:インデックステンプレートをElasticsearchにロードする。

Metricbeatもインストールすれば自動的にテンプレートが読み込まれるようですが、手動でテンプレートを読み込む手順を記載します。

テンプレートを手動でロードするには、setupコマンドを実行します。 Elasticsearchへの接続が必要です。 別の出力が有効な場合、一時的にその出力を無効にし、-Eオプションを使用してElasticsearchを有効にする必要があります。 この例では、Logstashの出力が有効であると想定しています。 Elasticsearch出力がすでに有効になっている場合は、-Eフラグを省略できます。

PowerShellのプロンプトから、Metricbeatをインストールしたディレクトリに移動し、次のコマンドを実行します。(output.elasticsearch.hostsのアドレスは筆者環境の例なので読みかえてください。

PS C:\Program Files\metricbeat> .\metricbeat.exe setup –template -E output.logstash.enabled=false -E ‘output.elasticsearch.hosts=[“192.168.11.35:9200”]’

 


ステップ5:Kibanaのdashboardを設定する。

metricbeatには、Kibanaのダッシュボード、ビジュアライゼーション、およびKibanaのmetricbeatデータを視覚化するための検索が含まれています。ダッシュボードを使用する前に、索引パターンmetricbeat- *を作成し、ダッシュボードをKibanaにロードする必要があります。これを行うには、setupコマンド(ここで説明したように)を実行するか、ダッシュボードの読み込みを設定します。

PS C:\Program Files\metricbeat> .\ metricbeat.exe setup –dashboards

Loading dashboards (Kibana must be running and reachable)
Loaded dashboards

と表示されればOKです。


ステップ6:Metricbeatを起動する。

さあ、Metricbeatを起動しましょう。

次のコマンドを使用して、Metricbeatサービスを起動するか 、管理コンソールGUIからMetricbeatサービスを起動します。

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

しばらくすると、C:¥ProgramData¥metricbeat¥Logs¥metricbeatにログ・ファイルが出力されているはずです。


ステップ7:Kibanaで確認。

KibanaのDashboardで[Metricbeat System] Host overviewというDashboardを選択してみましょう。

お疲れさまでした。

system以外のモジュールやLogstash経由での出力等は、またの機会に。

いじょ。