Beat兄弟の中のmetricbeatを動かしてみたいと思います。今回もWindows Server 2019にインストールします。
ステップ1:Metricbeatをインストールする
① ダウンロードページからMetricbeat zipファイルをダウンロードします。
② 展開したフォルダを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経由での出力等は、またの機会に。
いじょ。