Collecting Classic Load Balancer logs using the Lambda Function
IP-based routing requests handled by Classic Load Balancers provide useful log data that can be used for troubleshooting issues with load balancers and back-end instances. Site24x7 acts as a unified web console that gives you the ability to search log entries and alert you about threshold breaches. Learn more about log management with Site24x7.
Create a Log Profile
To collect the Classic Load Balancer logs you will first need to create a Log Profile. Navigate to Admin > AppLogs > Log Profile > Add Log Profile, and follow the instructions below:
- Profile Name: Enter a name for your Log Profile.
- Log Type: Choose ELB Classic Log. If you haven't enabled ELB access logs in your AWS account, please follow the instructions given here.
- Log Source: Choose Amazon Lambda.
- Click Save.
- Configure the Lambda function as described here.
Configure the Lambda Function
- Choose Lambda from the Services drop-down list, and choose Create Function. Select Author from scratch, define a name for the function, and choose Python 3.7 as the Runtime.

- Permissions: You can choose an existing IAM role or create a new role from the AWS Policy Template. From the Policy Template drop-down select Amazon S3 Object Read-only permission, and enter a role name. You also have the option to create a new user role and extend permission to other services as well.
- Add triggers: Scroll down to choose S3 Bucket. Any log file added to the S3 bucket will be sent to Site24x7 by the Lambda Function.
- Configure Triggers
- Bucket:Enter the name of the S3 bucket from which logs will be collected.
- Event type: Choose All object create events.
- Click Add.
- In the window that opens, click on the Lambda Function as shown:
- Scroll to the editor, and place the code provided in the link below:
https://github.com/site24x7/applogs-aws-lambda/blob/master/s3/s3-sender.py
- After entering the code, navigate to the Site24x7 web client, select Admin > Applogs > Log Profile, then select the created Log Profile, and copy the code that appears on the screen as the input for the variable logTypeConfig under the field.

- Paste this code under Environment Variable with the field name logTypeConfig in the AWS console.

ELB Classic Load Balancer logs dashboard
AppLogs creates an exclusive dashboard for every Log Type, and shows a few widgets by default. Here's a list of the widgets available in the Classic Load Balancer logs dashboard:
- Average Bytes Transferred
- Request Processing Time
- Backend Processing Time
- Response Processing Time
- Request Trend
- ELB Status Code Stats
- User Agent Stats
- Top 20 Failed Requests
- Errors By Client Host

In addition to the default widgets, your saved searches will also be added to the dashboard automatically.