こんにちは。緊急事態宣言が続いてお尻に根っこが生えてきそうなk.otsukaです。早く終息してくれるといいですね…。
Oracle Enterpirse Manager13.4(以下、EM)を導入し、各クライアント側にエージェントをインストールするときは、GUI画面操作に沿って行くことが多いかと思います。
しかし、ドキュメント通りに進めてもエラーが発生しエージェントが導入できない事象が数多く発生しました。
※ サポートに問い合わせも原因がわからず解明できませんでした。
指定したユーザー名またSSHキー(あるいはその両方)が正しくありません。または、リモート・ホストのsshdデーモンで公開鍵認証が無効になっているか、SSHがパスフレーズを使用して構成されています(あるいはその両方です)。
指定したユーザー名とSSHキーが正しいことを確認してください。リモート・ホストのSSHD構成ファイル(sshd_config)で、プロパティPubkeyAuthenicationが'yes'に設定されていることを確認してください。SSHがパスフレーズを使用するように構成されていないことを確認してください。
そこで今回は、GUIベースによるインストールではなくスクリプトを使用したエージェントのインストール方法について紹介します。
GUIベース手順で必要とされる認証鍵の準備やsshd_configの設定が不要となるため、個人的にはこちらの手順のほうが安全で分かりやすいと感じました。
同じエラーに悩まれている方いらっしゃいましたら、ぜひ参考にしてみてください。
なお、EMサーバの構築や必要なポート開放ついては、sugimountさんの記事を参考ください。
エージェントファイルの入手
EMサーバにSSH接続後、「oracle」ユーザにスイッチします。
$ sudo su - oracle
クライアント側にインストールするためのエージェントファイルをEMサーバから入手します。
※パッケージを取得する際は、パッケージ情報の確認コマンドで出力される「プラットフォーム」「バージョン」を入力するようにしましょう。
/// EMサーバにCLIでログイン
$ /u01/app/oracle/em/middleware_134/bin/emcli login -username=sysman
Login successful
/// CLIのEMと同期
$ /u01/app/oracle/em/middleware_134/bin/emcli sync
Synchronized successfully
///入手できるパッケージ情報を確認
$ /u01/app/oracle/em/middleware_134/bin/emcli get_supported_platforms
-----------------------------------------------
Version = 13.4.0.0.0
Platform = Linux x86-64
-----------------------------------------------
/// パッケージを取得 (下記では事前に「agent_dir2」ディレクトリを準備)
$ /u01/app/oracle/em/middleware_134/bin/emcli get_agentimage -destination=/home/oracle/agent_dir2/ -platform="Linux x86-64" -version=13.4.0.0.0
=== Partition Detail ===
Space free : 316 GB
Space required : 1 GB
Check the logs at /home/oracle/.emcli/get_agentimage_2021-08-20_13-20-57-PM.log
Downloading /home/oracle/agent_dir2//13.4.0.0.0_AgentCore_226.zip
File saved as /home/oracle/agent_dir2//13.4.0.0.0_AgentCore_226.zip
Downloading /home/oracle/agent_dir2//13.4.0.0.0_Plugins_226.zip
File saved as /home/oracle/agent_dir2//13.4.0.0.0_Plugins_226.zip
Downloading /home/oracle/agent_dir2//unzip
File saved as /home/oracle/agent_dir2//unzip
Executing command: /home/oracle/agent_dir2//unzip /home/oracle/agent_dir2//13.4.0.0.0_Plugins_226.zip -d /home/oracle/agent_dir2/
Exit status is:0
Agent Image Download completed successfully.
クライアント側にエージェントファイルをコピー
WinSCPやMobaXtermといったファイル転送ができるソフトウェアやSCPコマンドなどを用いて、エージェントファイルをクライアント側にコピーします。
下記はSCPコマンドを使った例ですが、IPアドレスや認証鍵情報(authorized_keysの設定含む)は読み替えて実施ください。
$ scp ./agent_dir2/13.4.0.0.0_AgentCore_226.zip -i ./.ssh/id_rsa opc@10.130.21.52:/home/opc/
EMエージェントをインストール
クライアント側のサーバにエージェントファイルのコピーが完了したら、インストール作業を進めます。本記事では「/u01/app/oracle/product/em13.4/agent
」というディレクトリ構成でインストールを行います。
まずはクライアント側のサーバにSSH接続後、「root」ユーザにスイッチします。
$ sudo su -
エージェントインストール用のディレクトリを作成します。
/// 移動
# cd /u01/app/oracle/product
/// ディレクトリ作成
# mkdir -p ./em13.4/agent
エージェントファイルをインストール用ディレクトリにコピーします。
# cp /home/opc/13.4.0.0.0_AgentCore_226.zip ./em13.4/agent/
「agent」ディレクトリと配下の所有者とグループを変更します。
# chown -R oracle:oinstall ./em13.4/agent
「oracle」ユーザにスイッチします。
# su - oracle
ディレクトリ名を指定してzipファイルを解凍します。
/// 移動
$ cd /u01/app/oracle/product/em13.4/agent/
/// 解凍
$ unzip ./13.4.0.0.0_AgentCore_226.zip -d ./agtImg
「agent.rsp」ファイルを編集します。
※「oms1」はEMのホスト名です。EMではホスト名の疎通が推奨されているため、名前解決できるように「/etc/hosts」に登録する等事前に準備してください。
※ 【EMサーバ構築時に入力したパスワード】は、参考記事の「Compute Instanceを作成」を実施する際に入力を求められます。
/// 移動
$ cd ./agtImg
/// 編集
$ vim ./agent.rsp
-----編集前-----
#OMS_HOST=<Value Unspecified>
#EM_UPLOAD_PORT=<Value Unspecified>
#AGENT_REGISTRATION_PASSWORD=<Value Unspecified>
#AGENT_PORT=<Value Unspecified>
-----編集前-----
-----編集後-----
OMS_HOST=oms1
EM_UPLOAD_PORT=4900
AGENT_REGISTRATION_PASSWORD=【EMサーバ構築時に入力したパスワード】
AGENT_PORT=3872
-----編集後-----
「agentDeploy.sh」を実行します。
$ /u01/app/oracle/product/em13.4/agent/agtImg/agentDeploy.sh AGENT_BASE_DIR=/u01/app/oracle/product/em13.4/agent RESPONSE_FILE=/u01/app/oracle/product/em13.4/agent/agtImg/agent.rsp PROPERTIES_FILE=/u01/app/oracle/product/em13.4/agent/agtImg/agent.properties
/// 最後に下記表示がされたら成功です。
Successfully Promoted agent and its related targets to Management Agent
最後に「root」ユーザにスイッチし「root.sh」を実行します。
# /u01/app/oracle/product/em13.4/agent/agent_13.4.0.0.0/root.sh
EMのホスト選択画面を確認すると、エージェントをインストールしたサーバのホスト名が表示されるようになりました。
終わりに
GUIベースのエージェントインストールが思うようにいかないことから本記事の方法を試してみました。一部プロパティファイルを変更するなど手作業が発生しますが、GUIベースのインストールと比べて事前準備が少なめなので、良いインストール方法として紹介できたかなと思います。不明点などございましたら、お問い合わせフォームからお気軽にご連絡ください。