AWSのEC2上のApacheのアクセスログをCloudWatchで確認する
EC2上にApacheをインストールする方法は以下の通りです。
[ec2-user@ip-10-20-0-10 ~]$ sudo yum -y install httpd [ec2-user@ip-10-20-0-10 ~]$ sudo service htttpd start
これでEC2のEIPにアクセスすると、Apacheのwelcomeページが表示されます。
目的は、EC2上のApacheのaccess.logをCloudWatch Logsを使用してCloudWatchのログ出力することです。
EC2からCloudWatchにアクセスするので、IAMロールに「CloudWatchFullAccess」を付与しておきます。
CloudWatch Logsエージェントのインストール
CloudWatch Logsエージェントをインストールします。
[ec2-user@ip-10-20-0-10 ~]$ sudo yum install -y awslogs
awscli.confのリージョン修正
/etc/awslogs/awscli.confファイルを修正します。
[ec2-user@ip-10-20-0-10 ~]$ sudo vi /etc/awslogs/awscli.conf
以下、例です。
[plugins] cwlogs = cwlogs [default] region = ap-northeast-1 #リージョンを適宜変更する
awslogs.confの修正
/etc/awslogs/awslogs.confファイルを修正します。
以下、例です。ファイルの末尾に追記します。
[/apache/access_log] log_group_name = /log/httpd # この名前がClowdWatchに表示される log_stream_name = {hostname} file = /var/log/httpd/access_log datetime_format = [%a %b %d %H:%M:%S %Y] initial_position = start_of_file buffer_duration = 5000
設定ファイルを変更したら、サービスリスタートする必要があります。
[ec2-user@ip-10-20-0-10 ~]$ sudo service awslogs restart
EIPのIPアドレスでEC2のApacheにアクセスすると、CloudWatchにログが出力されていることが確認できると思います。
上記の設定では、ロググループは「/log/httpd」です。
アクセスログが表示されていることが確認できます。
initial_position = start_of_file
ファイルのどの位置からデータの読み出しを開始するかを「initial_position」に設定するので、デフォルト設定では指定したファイルのすべての内容が送信されます。
ちなみにCloudWatch Logsはfileに設定したファイル名にプッシュしていきます。
CloudWatch Logsエージェントのバージョンを確認する
バージョンを確認するには以下のコマンドで確認できます。
[ec2-user@ip-10-20-0-xx ~]$ yum info awslogs Loaded plugins: priorities, update-motd, upgrade-helper Installed Packages Name : awslogs Arch : noarch Version : 1.1.4 Release : 1.12.amzn1 Size : 12 k Repo : installed From repo : amzn-updates Summary : Scripts for CloudWatch Logs Daemon URL : http://aws.amazon.com/cloudwatch License : Amazon Software License Description : Scripts to run Amazon CloudWatch Logs as a daemon. [ec2-user@ip-10-20-0-xx ~]$
CloudWatch Logsエージェントの転送料金
どうも料金を調べていると、転送料金が高い?ようです。(私調べ)
ということでaccess_logの差分のみ転送できないかとか調べてみましたがどうも出来ないようです。
転送頻度がデフォルト5000ミリ秒なので、それをbuffer_durationで変更することは可能なようです。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント