Fleet ServerとElastic Agentのインストール
Elasticsearchをいろいろ試しているときの覚書。
Elastic Agent周りが分からなくなったので、もう一度インストールからやってみた。
環境: CentOS Steam 9, Elasticsearch 8.11.3, Kibana 8.11.3
1.Fleet Serverをインストール(RPMで失敗編)
手順メモ
- KibanaメニューからManagement | Fleetを表示。
"Add Fleet Server" - 今度はRPMでインストールしてみた。
画面に表示されているコマンドを実行。
# curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.11.3-x86_64.rpm
# rpm -vi elastic-agent-8.11.3-x86_64.rpm
# elastic-agent enroll --fleet-server-es=https://es.hoge.jp --fleet-server-service-token=AAE...w --fleet-server-policy=fleet-server-policy --fleet-server-es-ca-trusted-fingerprint=544...601 --fleet-server-port=8220 - 「Error: fleet-server failed: context canceled」と表示されたけど無事インストールできたみたい。
- サービス起動。
# systemctl enable elastic-agent
# systemctl start elastic-agent - 設定ファイルなど確認。
参考: Installation layout | Fleet and Elastic Agent Guide [8.11] | Elastic
ブラウザでKibanaの画面を更新してみる。
FleetのAgents一覧画面に出ていない。
インストール時に出てたエラーが原因かな?
一旦アンインストールする。
# elastic-agent uninstall
Removing service.... FAILED
サービス確認して削除。
# systemctl status elastic-agent
# rm /usr/lib/systemd/system/elastic-agent.service
確認。
# systemctl daemon-reload
# systemctl list-unit-files -t service
他のファイルを削除。
参考: Installation layout | Fleet and Elastic Agent Guide [8.11] | Elastic
# rm -rf /usr/share/elastic-agent/
# rm -rf /etc/elastic-agent/
Kibanaの管理画面で作成されていたAgent Policiesは"Delete policy"する。
rpm一覧を確認して削除する(これを先にやればよかった)。
# rpm -aq | grep elastic
# rpm -e elastic-agent-8.11.3-1.x86_64
2.Fleet Serverをインストール(ソースからビルド)
RPMはCentOSでインストールに失敗することが分かったので、ソースからビルドする方法でもう一度インストールする。
KibanaのFleet管理画面で"Add Fleet Server"。
"Linux Tar"に表示されたコマンドを実行。
# cd /opt/software/
# curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.11.3-linux-x86_64.tar.gz
# tar xzvf elastic-agent-8.11.3-linux-x86_64.tar.gz
# cd elastic-agent-8.11.3-linux-x86_64
# ./elastic-agent install --fleet-server-es=http://1.2.3.4:9200 --fleet-server-service-token=AAEA...Zw --fleet-server-policy=fleet-server-policy --fleet-server-es-ca-trusted-fingerprint=5449c2...01 --fleet-server-port=8220
エラー
Installed as a system package, installation will not be altered.Enrolling Elastic Agent with Fleet... FAILEDError: failed to execute enroll command: fork/exec /usr/bin/elastic-agent: no such file or directoryFor help, please see our troubleshooting guide at https://www.elastic.co/guide/en/fleet/8.11/fleet-troubleshooting.html
システムログに何も表示されてないから分からない。
一番最初にソースからビルドしたときは普通にインストールできたから、アンインストールを繰り返したから何か整合性が取れてないのかもしれない。
オプションなしで実行してみる。
# ./elastic-agent install
Fleet enrollment token:を入力したところで失敗する。
Elasticsearchに接続するためのトークンらしい。
もう一度"Add Fleet Server"をクリックして、今度は"Advanced"の方で進めてみる。
TLSは"Quick start"を選択。
"Generate token"
画面に表示されたコマンドを実行。
…やっぱりエラーで進まない。
時間切れ。また今度考える。
【2023/12/25追記】原因が分かった。
RPMパッケージでインストールしたあと、rpmコマンドでアンインストールしてなかったから。
下記コマンドを実行。
# rpm -aq | grep elastic
# rpm -e elastic-agent-8.11.3-1.x86_64