LoginSignup
1
1

OCI Logging AnalyticsでLinuxやWindowsのOSログを取り込んで分析する

Last updated at Posted at 2023-05-30

OCIコンピュートのLinuxやWindowsのログやその上で動作するミドルウェア、アプリケーションのログを取集・分析するサービスとしてOCIでは2つのサービスを使う事ことができます。

  • Loggingのカスタム・ログ
  • Logging Analytics

下記のようにそれぞれ違いがありますが、機能的にはLogging Analyticsのほうが汎用的・高機能のログ管理サービスといえます。また、既にログ管理製品やサービスを使用している場合は、LoggingからService Connector Hubなどを経由しログ連携するなどのケースも良くあるのではないか思います。
image.png

今回は、基本的なLogging Analyticsの設定手順をLinux/WindowsのOSログを対象に収集する方法からご紹介します。

Logging Analyticsは、管理エージェントというプログラムが必要ですが、OCIのコンピュートインスタンス(Linux)の場合は、Cloud Agentからプラグインという方法でインストールすることが可能です。
Windowsの場合は、管理エージェントを手動でインストールする必要があります。

オンプレミスの場合など、管理エージェントを直接サーバーにインストールしてクラウドと通信させたくないという場合は、ゲートウェィという方式が利用できます。ゲートウェイはこちら

まず初めに、対象となるVMが管理エージェントのインストール要件を満たしているか確認します。

IAMポリシーの作成

サービスに必要となるIAMポリシーはこちらを参照

Linuxの場合の設定手順

  • コンピュート・インスタンスの詳細 -> Oracle Cloudエージェントにある管理エージェントを有効にする
    image.png

  • OCIメニューから、監視及び管理 -> 管理エージェント -> エージェントで、有効にしたインスタンスの管理エージェントが表示されるまで10分ほど待つ
    image.png

  • プラグインのデプロイ -> Logging Analyticsをチェックして更新
    image.png

  • OCIメニューから、監視及び管理 -> ログ・アナリティクス -> 管理 -> エンティティにタイプ Host(Linux)で有効化したVMインスタンスが作成されていることを確認
    image.png

  • 管理 -> ソースからLinux Syslog Logsを選択
    image.png

  • 関連付られていないエンティティから該当のLinuxエンティティを選択し、アソシエーションの追加。ログ・グループがない場合は、新規で作成する
    image.png

  • 同様の手順でLinux Secure Logsもアソシエーションの追加を行う

  • Cloud Agentは、oracle-cloud-agentユーザで動作しているので、対象ファイルのRead権限が必要。VMにログインし、ファイルアクセスするパーミッションをsetfaclで割り当てる

sudo setfacl -m u:oracle-cloud-agent:r /var/log/messages*
sudo setfacl -m u:oracle-cloud-agent:r /var/log/secure*

# oracle-cloud-agentユーザでファイルがアクセスできていればOK
sudo -u oracle-cloud-agent head -5 /var/log/messages
sudo -u oracle-cloud-agent head -5 /var/log/secure
  • ログ・アナリティクス -> ログ・エクスプローラーにLinuxのログが表示される
    image.png

ログに含まれるIPアドレスからジオロケーション、脅威インテリジェンスを取得する

  • Linux Secure LogのHost IP Addressには、以下のようにVMインスタンスにアクセスしたクライアントのIPアドレスが記録されている。このIPアドレスを引用してジオロケーションや脅威分析の情報を取得するようにLinux Secure Logsのソースを拡張する
    image.png

  • ソース -> Linux Secure Logsの編集をクリックし、フィールド・エンリッチメントを追加
    image.png

  • ファンクションをジオロケーション、IPアドレスをHost IP Address(Client)とマッピング、脅威インテリジェンスをチェックし、追加、変更の保存を行う
    image.png

  • ソースの変更後に取得されたログ・レコードにはClient Host CountryやCity、Threat IPsという新しいフィールドが追加される
    image.png

※このジオロケーションや脅威インテリジェンスは、他のログのIPアドレスのフィールドでも同様に指定可能

Windowsの場合の設定手順

  • OCIメニューから、監視及び管理 -> 管理エージェント -> ダウンロードとキーからWindowsの管理エージェントをダウンロードする
    image.png

  • 同ページにあるインストール・キーからキーを新規作成し、キーファイルをダウンロードしておく
    image.png

  • エージェントファイルの下記のパラメータに任意の値を記述
    AgentDisplayName = XXXXXXXXXXX
    CredentialWalletPassword = XXXXXXXXXXX

  • エージェントを展開し、ダウンロードしたキーファイルをWindowsにコピーする。管理者としてコマンド・プロンプトを起動しインストール

# installer.bat エージェントファイル(絶対パス)で実行
installer.bat c:\agent\oracle.mgmt_agent.230427.2233.Windows-x86_64\agentkey.txt
  • OCIメニューから、監視及び管理 -> 管理エージェント -> エージェントにインストールした管理エージェントが表示されていることを確認
    image.png

  • プラグインのデプロイ -> Logging Analyticsをチェックして更新
    image.png

  • OCIメニューから、監視及び管理 -> ログ・アナリティクス -> 管理 -> エンティティにタイプ Host(Windows)で有効化したVMインスタンスが作成されていることを確認
    image.png

  • 管理 -> ソースからWindows Security Eventsを選択
    image.png

  • 関連付られていないエンティティから該当のVMエンティティを選択しアソシエーションの追加。ログループがない場合は、新規で作成する
    image.png

  • 同様にWindows System Events, Windows Application Eventsも行う

  • ログ・アナリティクス -> ログ・エクスプローラーにログが表示される
    image.png

OS以外のミドルウェア、アプリケーションの追加

OSログの設定をした後、動作するWEBサーバやデータベースのログを収集する場合の流れは、対象エンティティの追加 -> ログソースのアソシエーションの追加という手順になります。
例えば、Oracle Databaseの場合、こちらの手順にようにOracle Databaseのエンティティを追加し、そのエンティティに対してアラートログやUnified Auditのソースに割り当てます。

エンティティには、Apache, Node.js, Weblogic等のWebアプリに関連するものや、MySQLやPostgreSQL等のOracle Database以外のデータベース、kubernetesやEBSやSiebel等のアプリケーションのログなど対応しています。

対応していないものは、自身のパーサーとソースを作成できますので、こちらを参照下さい。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1