##はじめに
Oracle CloudのOCI Loggingでは、カスタム・アプリケーションや他のクラウド・プロバイダのログを取得することができる、カスタム・ログという機能があります。
今回は、カスタム・ログを用いてApacheのアクセスログをOCI Loggingに取り込む方法を紹介します。
##Apacheの設定
Oracle CloudのComputeインスタンスを作成します。今回、OSはCentOS 7で作成しました。
yumでApacheをインストールし、Apacheを起動します。
//Apacheのインストール
$ sudo yum -y install httpd
//Apacheの起動
$ sudo systemctl start httpd
index.htmlファイルを作成します。
$ sudo sh -c 'echo "test for custom log" > /var/www/html/index.html'
今回はログを確認できればよいので、curlでhttp://localhost:80
にアクセスします。
$ curl http://localhost:80
test for custom log
Apacheのアクセスログは、/var/log/httpd/access_log
に出力されます。
先ほどcurlでアクセスした際のログが出力されていることを確認します。
::1 - - [25/May/2021:14:54:31 +0000] "GET / HTTP/1.1" 200 20 "-" "curl/7.29.0"
Apacheのアクセスログのフォーマットは、/etc/httpd/conf/httpd.conf
で確認できます。
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
##OCI Loggingの設定
ログの出力が確認できたので、OCI Loggingの設定を行なっていきます。
まず、動的グループを作成します。動的グループ内のインスタンスがログ収集の対象になります。
メニューの「アイデンティティとセキュリティ」→「アイデンティティ」→「動的グループ」→「動的グループの作成」をクリックします。
今回はコンパートメント内のインスタンスをログ収集の対象にしたいので、
ルールにinstance.compartment.id = 'コンパートメントOCID'
を入力し、「作成」をクリックします。
ログ・グループの作成が完了したら、カスタム・ログの設定を行っていきます。
「カスタム・ログの作成」をクリックします。
カスタム・ログ名を入力し、「カスタム・ログの作成」をクリックします。
エージェント構成を設定していきます。
ここでは下記の2項目を設定していきます。
#####ホスト・グループの選択
グループタイプ:動的グループ
グループ:作成した動的グループを選択
※動的グループを選択すると、ロギング・サービスの使用を許可するポリシーを作成するボタンが表示されるので、クリックしてポリシーを作成します。
#####ログ入力の構成
入力タイプ:ログ・パスを選択
名前の入力:任意の名前を設定
ファイル・パス:Apacheのアクセスログのパス/var/log/httpd/access_log
を設定
高度なパーサー・オプション:APACHE2を選択
※パーサー・オプションはAPACHE2以外も用意されています。詳細は下記ドキュメントの「ログ入力およびパーサー
」をご覧ください。
https://docs.oracle.com/ja-jp/iaas/Content/Logging/Concepts/custom_logs.htm
ここまででエージェント構成の設定が完了したので、「カスタム・ログの作成」をクリックします。
##ログの確認
ログ収集が行われていることを確認します。作成したログ名をクリックします。
画面下部の「ログの探索」に、取得したログが表示されます。
表示されない場合は、「時間によるフィルタ」を長めに設定してみてください。(デフォㇽトは5分に設定されています)
また、ログの時間はUTCとして取り込まれています。
ログが正しくパースされて取り込まれていることが分かります。
"logContent": {
"data": {
"agent": "curl/7.29.0",
"code": 200,
"host": "::1",
"method": "GET",
"path": "/",
"size": 20,
"tailed_path": "/var/log/httpd/access_log"
}
##まとめ
無事に、カスタム・ログでApacheのアクセスログをOCI Loggingに取り込むことができました。
##参考リンク
https://docs.oracle.com/ja-jp/iaas/Content/Logging/Concepts/custom_logs.htm
https://qiita.com/k_kane/items/8e9457ffcecb6f7d6e1b