Amazon S3 バケット を、弊社の AWS Lambda 関数 NewRelic-log-ingestion-s3
を使って New Relic に送信することができます。これは、AWS Serverless アプリケーションリポジトリから簡単にデプロイできます。
S3バケットからNew Relicにログを転送することで、ログデータの収集、処理、探索、問い合わせ、アラートなどのログ管理機能が強化されます。
ラムダ関数のインストール
S3のログをNew Relicに転送するLambda関数をインストールすること。
- New Relic のライセンスキーがあることを確認してください 。
- AWS Serverless Application Repository をブラウザで開きます。
- S3バケットと同じリージョンにLambdaがインストールされていることを確認します。
newrelic
を検索してチェック Show apps that create custom IAM roles or resource policies を検索してチェックNewRelic-log-ingestion-s3
.NewRelic-log-ingestion-s3
の詳細をクリックし、 Deploy をクリックします。- Application settings にスクロールして、New Relic のライセンスキーを入力します]。
- Lambda 関数の環境変数として
logtype
を指定することで、New Relic のログ解析機能を利用することができます。詳しくは、 Built-in parsing rulesets をご覧ください。 - アプリがカスタムIAMロールを作成することを確認して、「 Deploy」をクリックします。
- 関数がデプロイされたら、 Lambdaトリガーを作成します.
Serverless Frameworkを使った手動インストール
Serverless Frameworkを使って、ターミナルから手動でLambdaをインストールし、設定することができます。Linuxでない場合は、 Docker を最初にインストールして、それを実行しておいてください。
# Clone the repository
git clone https://github.com/newrelic/aws_s3_log_ingestion_lambda.git
# Install Serverless and the repo dependencies
npm install -g serverless
npm install
# Set the New Relic License Key env variable
export LICENSE_KEY=YOUR_NEWRELIC_LICENSE_KEY
# Set the logtype (optional)
export LOG_TYPE=YOUR_LOGTYPE
# Set the S3 bucket name
export S3_BUCKET_NAME=YOUR_S3_BUCKET_NAME
# The S3 subdirectory (optional)
export S3_PREFIX=YOUR_S3_SUBDIRECTORY
# Choose a name for your new Serverless Framework service
export SERVICE_NAME=YOUR_SERVICE_NAME
# Deploy the function, specifying the same region as your S3 bucket listed above
serverless deploy --region YOUR_AWS_REGION
AWSでのLambdaトリガーの作成
ログをNew Relicにストリーミングするには、Lambdaにトリガーを取り付けます。
- 左側のメニューで「 Functions 」をクリックします。
- 以前に作成した
NewRelic-s3-log-ingestion
関数を探して選択します。 - Designer の下で、 Add Triggers をクリックし、ドロップダウンから S3 を選択します。
- New Relicに送信したいログが入っているS3バケットを選択します。
- オプションで、 プレフィックスとサフィックス を設定します。これは、ログがサブディレクトリにある場合に便利です。
- Enable trigger のチェックボックスにチェックを入れ、 Add trigger を追加します。
Lambda関数をテストするには、関数の設定で設定したS3バケットに新しいログファイルをアップロードし、 ログデータを見る 。
制限
- サポートされているログファイルの最大サイズは、非圧縮で35MBです。
- サポートされている個々のログラインの最大サイズは0.25MBです。
- 暗号化されたログファイルには対応していません。
ログデータの閲覧
すべての設定が正しく行われ、データが収集されていれば、この2つの場所にデータログが表示されるはずです。
- New Relic Logs UI
- New Relic tools for running NRQL queries.
例えば、次のようなクエリを実行することができます。
SELECT * FROM Log
トラブルシューティング
ログフォワーダーの設定で問題が発生した場合は、以下のトラブルシューティングをお試しください。
次のステップ
New Relic One UI を使って、プラットフォーム全体のロギングデータを調べることができます。
- logs in context の機能を使ってログを転送することで、アプリケーションとプラットフォームの両方のパフォーマンスデータをより深く把握することができます。
- アラートの設定.
- データのクエリ と ダッシュボードの作成.
ログ転送を無効にする
ログ転送機能を無効にするには、 Amazon S3 のドキュメント に記載されている標準的な手順に従ってください。New Relicでは他に何もする必要はありません。