Lambda関数を使用したClassic Load Balancer ログの収集
Classic Load Balancersが処理するIPベースのルーティングリクエストでは、load balancerおよびバックエンドインスタンスに関するログデータを提供しており、トラブルシューティングの際に活躍します。Site24x7は、ログエントリーの検索と、しきい値違反のアラート機能を提供する統合Webコンソールです。
ログプロファイルの作成
Classic Load Balancerログを収集するには、まずログプロファイルを作成する必要があります。[AppLog] > [ログプロファイル] > [ログプロファイルの追加]へ移行し、以下の手順へ進みます:
- プロファイル名: ログプロファイル名を入力します。
- ログタイプ: [ELB Classicログ]を選択します。AWSアカウントでELBアクセスログを有効化していない場合は、こちらの手順をご覧ください。
- ログソース: [Amazon Lambda]を選択します。
- [保存]をクリックします。
- Lambda関数の設定方法は、こちらをご覧ください。
Lambda関数の設定
- [サービス]のドロップダウンリストから[Lambda]を選択し、[関数の作成]をクリックします。スクラッチから作成者を選択し、関数の名前を入力します。また、ランタイムとしてPython 3.7を選択します。
- アクセス権限: [AWSポリシーテンプレート]から新規ロールを作成するか、既存IAMロールを選択します。[ポリシーテンプレート]のドロップダウンメニューで[Amazon S3 オブジェクトの読み取り専用権限]を選択し、ロール名を入力します。また、新規ユーザーロールを作成して、他のサービスにアクセス権限を拡張できるオプションもあります。
- トリガーの追加: スクロールダウンして、[S3バケット]を選択します。S3バケットへ追加されたログファイルは、Lambda関数によってSite24x7へ送信されます。
- トリガーの設定
- バケット: ログが収集されるS3バケット名を入力します。
- イベントタイプ: [すべてのオブジェクト作成イベント]を選択します。
- [追加]をクリックします。
- 表示されるウィンドウで、以下に示すように[Lambda関数]をクリックします:
- [エディター]までスクロールし、以下のリンクに表示されているコードを入力します:
https://github.com/site24x7/applogs-aws-lambda/blob/master/s3/s3-sender.py
- コードを入力したら、Site24x7 Webクライアントへ移動し、[管理] > [Applogs] > [ログプロファイル]の順に移行します。そして、作成したログプロファイルを選択し、画面に表示されるコードを、[環境変数]フィールドの変数logtypeConfigへの入力としてコピーします。
関連するログタイプ