SlideShare una empresa de Scribd logo
1 de 22
COLLECTING BIG DATA WITH
S3/CLOUDFRONT LOGGING
Moty Michaely, VP R&D
Xplenty Data Integration-as-a-Service
In our recent article, “Scale Your Data Collection on the Cloud
Like a Champ”, we reviewed several ways of collecting big
data, the most promising of which was S3/CloudFront
logging. It’s low cost and quick to implement. Now we’d like
to dig deeper and show how to setup S3/CloudFront logging
with your application.
DEFINE APP DATA
Sit back and think - which data would you like to collect? Which app
events should be logged? These could be page visits, mouse clicks, logins,
errors, etc. Some of them may include parameters such as the page visit
URL. Write them all down. Be as thorough as possible so you don’t lose
any precious data.
CREATE AN AWS ACCOUNT
If you don’t already have an AWS (Amazon Web Services) account, you
can sign up here. Registration is free with the basic support package.
CREATE AN S3 BUCKET
Go to the S3 dashboard and create a bucket for saving the logs. Note that
the bucket must have a unique name across Amazon’s service and adhere
to DNS rules: 3-63 characters, only letters numbers and periods, shouldn't
look like an IP address, and no underscores. Don’t turn on logging - we will
do so via CloudFront.
(See the screenshot on the next slide for a visual explanation)
CREATE AN S3 BUCKET (SCREENSHOT)
CREATE EVENT IMAGES
Set up directories in the image bucket, for example /mouse, to organize
events by categories, and create 1x1 pixel images (see previous post) for
all the events that you defined in the first step, e.g. click.png, login.png,
error.png. Don’t worry about event parameters at the moment, we will
deal with them shortly.
All files uploaded to S3 are set as private, so make sure to change the file
permissions to public. You may use tools such as CloudBerry
Explorer or S3 Browser to do so and much more.
CREATE EVENT IMAGES CONT.
Set HTTP headers for all the images so that they will be cached by
CloudFront, thus saving GET requests from CloudFront edge locations to
S3. Go to the relevant bucket, check the image files on the left, click
Actions at the top, choose Properties, and open the Metadata section.
Add the following metadata line and click save:
▪ Cache-Control: max-age=31536000
CREATE EVENT IMAGES (SCREENSHOT)
CREATE A CLOUDFRONT DISTRIBUTION
Creating a CloudFront distribution costs extra, but it’s mandatory - it logs
the query string, adds extra log info such as edge locations, and helps to
deliver files via Amazon’s CDN to shorten load times. Access
the CloudFront dashboard and create a web distribution for the image S3
bucket. Make sure that Use Origin Cache Headers is set under Object
Caching (it’s the default setting).
CREATE A CLOUDFRONT DISTRIBUTION
CONT.
Note that the distribution gets a random domain name. It could take a
while before it starts working because the DNS servers need to be
updated to support it. You can also set a more friendly domain using the
Alternate Domain Names (CNAMEs) option under Distribution Settings,
though it requires configuring your DNS settings so that your domain
points to CloudFront’s domain name. See Amazon’s documentation for
more info.
CREATE A CLOUDFRONT DISTRIBUTION
(SCREENSHOT 1)
CREATE A CLOUDFRONT DISTRIBUTION
(SCREENSHOT 2)
TURN LOGGING ON
Still in the CloudFront dashboard, check the distribution on the left, click
Distribution Settings at the top, click Edit under the General tab, enable
logging, and insert the bucket where you want to store the logs.
TURN LOGGING ON (SCREENSHOT 1)
TURN LOGGING ON (SCREENSHOT 2)
CODE A FUNCTION TO CALL EVENTS
Time to get your hands dirty and write a method that registers events, or
call one of your app’s developers to do it for you. The code could be on
the client side, server side, or both depending on the architecture. The
method should simply send an asynchronous HTTP GET request to the
relevant image URL, e.g. to http://logs.xplenty.com/mouse/click.png (links
in this format for demo purposes only, not operational).
If you need to send additional event parameters, use the query
string (don’t forget URL encoding), e.g.
http://logs.xplenty.com/mouse/click.png?id=login&url=http%3A%2F%2Fw
ww.example.com%2Flogin
EXAMPLE CODE TO CALL EVENTS
$.CloudFrontLog = function (attr) {
var url = 'http://logs.xplenty.com/' + attr.category + '/' + attr.action +
'.png',
data = {
id: attr.id,
url: attr.url
};
return $.get(url, data);
};
CALL THE EVENTS
Dig through your app’s code and add event calls using the method
that you’ve just written. This will collect the data that you defined in
step 1. Here’s a jQuery code sample for logging client-side button
clicks:
$('.btn').click(function(e) {
var id = $(this).attr('id');
$.CloudFrontLog({
action: 'click',
category: 'mouse',
id: id,
url: location.href
});
});
TEST
Use your staging environment to call events via the application and check
that the logs are generated accordingly. Patience young padawan, it may
take an hour or so until Amazon writes them.
GO LIVE!
Everything should be ready for you to collect big data like a champ -
update the production environment and let the logging begin. Don't know
what to do with the data? See how to analyze AWS logs in 15 minutes.
XPLENTY DATA
WWW.XPLENTY.COM

Más contenido relacionado

Destacado

Challenges In Pharmacovigilance Dr Vishwas, by Dr. Vishwas Sovani MD ,VP P...
Challenges In Pharmacovigilance   Dr Vishwas, by Dr. Vishwas Sovani  MD ,VP P...Challenges In Pharmacovigilance   Dr Vishwas, by Dr. Vishwas Sovani  MD ,VP P...
Challenges In Pharmacovigilance Dr Vishwas, by Dr. Vishwas Sovani MD ,VP P...
Until ROI
 
Why Flow with Salesforce Flow
Why Flow with Salesforce FlowWhy Flow with Salesforce Flow
Why Flow with Salesforce Flow
Ajeet Singh
 
Diminishing marginal utility
Diminishing marginal utilityDiminishing marginal utility
Diminishing marginal utility
jijopr
 
Presentation introduction to six sigma
Presentation   introduction to six sigmaPresentation   introduction to six sigma
Presentation introduction to six sigma
jpanchpor
 
Basic Six Sigma Presentation
Basic Six Sigma PresentationBasic Six Sigma Presentation
Basic Six Sigma Presentation
vivekissar
 

Destacado (16)

(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...
(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...
(MBL311) Workshop: Build an Android App Using AWS Mobile Services | AWS re:In...
 
Challenges In Pharmacovigilance Dr Vishwas, by Dr. Vishwas Sovani MD ,VP P...
Challenges In Pharmacovigilance   Dr Vishwas, by Dr. Vishwas Sovani  MD ,VP P...Challenges In Pharmacovigilance   Dr Vishwas, by Dr. Vishwas Sovani  MD ,VP P...
Challenges In Pharmacovigilance Dr Vishwas, by Dr. Vishwas Sovani MD ,VP P...
 
Why Flow with Salesforce Flow
Why Flow with Salesforce FlowWhy Flow with Salesforce Flow
Why Flow with Salesforce Flow
 
Diminishing marginal utility
Diminishing marginal utilityDiminishing marginal utility
Diminishing marginal utility
 
Cardinal utility analysis
Cardinal utility analysisCardinal utility analysis
Cardinal utility analysis
 
Adverse Drug Reactions - Identifying, Causality & Reporting
Adverse Drug Reactions - Identifying, Causality & ReportingAdverse Drug Reactions - Identifying, Causality & Reporting
Adverse Drug Reactions - Identifying, Causality & Reporting
 
Bring the Customer Journey to Life with Salesforce Marketing Cloud
Bring the Customer Journey to Life with Salesforce Marketing CloudBring the Customer Journey to Life with Salesforce Marketing Cloud
Bring the Customer Journey to Life with Salesforce Marketing Cloud
 
Mobile Enterprise Trends 2015 - Emergence Capital
Mobile Enterprise Trends 2015 - Emergence CapitalMobile Enterprise Trends 2015 - Emergence Capital
Mobile Enterprise Trends 2015 - Emergence Capital
 
Utility analysis ppt
Utility analysis pptUtility analysis ppt
Utility analysis ppt
 
How Salesforce CRM works & who should use it?
How Salesforce CRM works & who should use it?How Salesforce CRM works & who should use it?
How Salesforce CRM works & who should use it?
 
Presentation introduction to six sigma
Presentation   introduction to six sigmaPresentation   introduction to six sigma
Presentation introduction to six sigma
 
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
 
Six sigma ppt
Six sigma pptSix sigma ppt
Six sigma ppt
 
Basic Six Sigma Presentation
Basic Six Sigma PresentationBasic Six Sigma Presentation
Basic Six Sigma Presentation
 
Six Sigma the best ppt
Six Sigma the best pptSix Sigma the best ppt
Six Sigma the best ppt
 
A Planner's Playbook - Everything I learned about planning at Miami Ad School...
A Planner's Playbook - Everything I learned about planning at Miami Ad School...A Planner's Playbook - Everything I learned about planning at Miami Ad School...
A Planner's Playbook - Everything I learned about planning at Miami Ad School...
 

Último

Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
gajnagarg
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
amitlee9823
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
gajnagarg
 
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
gajnagarg
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
amitlee9823
 
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Just Call Vip call girls kakinada Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls kakinada Escorts ☎️9352988975 Two shot with one girl...Just Call Vip call girls kakinada Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls kakinada Escorts ☎️9352988975 Two shot with one girl...
gajnagarg
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
amitlee9823
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
amitlee9823
 
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
gajnagarg
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
only4webmaster01
 

Último (20)

Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls Bellary Escorts ☎️9352988975 Two shot with one girl ...
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
 
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
 
Just Call Vip call girls kakinada Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls kakinada Escorts ☎️9352988975 Two shot with one girl...Just Call Vip call girls kakinada Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls kakinada Escorts ☎️9352988975 Two shot with one girl...
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Detecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachDetecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning Approach
 
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
 

Collecting Big Data with S3/CloudFront Logging

  • 1. COLLECTING BIG DATA WITH S3/CLOUDFRONT LOGGING Moty Michaely, VP R&D Xplenty Data Integration-as-a-Service
  • 2. In our recent article, “Scale Your Data Collection on the Cloud Like a Champ”, we reviewed several ways of collecting big data, the most promising of which was S3/CloudFront logging. It’s low cost and quick to implement. Now we’d like to dig deeper and show how to setup S3/CloudFront logging with your application.
  • 3. DEFINE APP DATA Sit back and think - which data would you like to collect? Which app events should be logged? These could be page visits, mouse clicks, logins, errors, etc. Some of them may include parameters such as the page visit URL. Write them all down. Be as thorough as possible so you don’t lose any precious data.
  • 4. CREATE AN AWS ACCOUNT If you don’t already have an AWS (Amazon Web Services) account, you can sign up here. Registration is free with the basic support package.
  • 5. CREATE AN S3 BUCKET Go to the S3 dashboard and create a bucket for saving the logs. Note that the bucket must have a unique name across Amazon’s service and adhere to DNS rules: 3-63 characters, only letters numbers and periods, shouldn't look like an IP address, and no underscores. Don’t turn on logging - we will do so via CloudFront. (See the screenshot on the next slide for a visual explanation)
  • 6. CREATE AN S3 BUCKET (SCREENSHOT)
  • 7. CREATE EVENT IMAGES Set up directories in the image bucket, for example /mouse, to organize events by categories, and create 1x1 pixel images (see previous post) for all the events that you defined in the first step, e.g. click.png, login.png, error.png. Don’t worry about event parameters at the moment, we will deal with them shortly. All files uploaded to S3 are set as private, so make sure to change the file permissions to public. You may use tools such as CloudBerry Explorer or S3 Browser to do so and much more.
  • 8. CREATE EVENT IMAGES CONT. Set HTTP headers for all the images so that they will be cached by CloudFront, thus saving GET requests from CloudFront edge locations to S3. Go to the relevant bucket, check the image files on the left, click Actions at the top, choose Properties, and open the Metadata section. Add the following metadata line and click save: ▪ Cache-Control: max-age=31536000
  • 9. CREATE EVENT IMAGES (SCREENSHOT)
  • 10. CREATE A CLOUDFRONT DISTRIBUTION Creating a CloudFront distribution costs extra, but it’s mandatory - it logs the query string, adds extra log info such as edge locations, and helps to deliver files via Amazon’s CDN to shorten load times. Access the CloudFront dashboard and create a web distribution for the image S3 bucket. Make sure that Use Origin Cache Headers is set under Object Caching (it’s the default setting).
  • 11. CREATE A CLOUDFRONT DISTRIBUTION CONT. Note that the distribution gets a random domain name. It could take a while before it starts working because the DNS servers need to be updated to support it. You can also set a more friendly domain using the Alternate Domain Names (CNAMEs) option under Distribution Settings, though it requires configuring your DNS settings so that your domain points to CloudFront’s domain name. See Amazon’s documentation for more info.
  • 12. CREATE A CLOUDFRONT DISTRIBUTION (SCREENSHOT 1)
  • 13. CREATE A CLOUDFRONT DISTRIBUTION (SCREENSHOT 2)
  • 14. TURN LOGGING ON Still in the CloudFront dashboard, check the distribution on the left, click Distribution Settings at the top, click Edit under the General tab, enable logging, and insert the bucket where you want to store the logs.
  • 15. TURN LOGGING ON (SCREENSHOT 1)
  • 16. TURN LOGGING ON (SCREENSHOT 2)
  • 17. CODE A FUNCTION TO CALL EVENTS Time to get your hands dirty and write a method that registers events, or call one of your app’s developers to do it for you. The code could be on the client side, server side, or both depending on the architecture. The method should simply send an asynchronous HTTP GET request to the relevant image URL, e.g. to http://logs.xplenty.com/mouse/click.png (links in this format for demo purposes only, not operational). If you need to send additional event parameters, use the query string (don’t forget URL encoding), e.g. http://logs.xplenty.com/mouse/click.png?id=login&url=http%3A%2F%2Fw ww.example.com%2Flogin
  • 18. EXAMPLE CODE TO CALL EVENTS $.CloudFrontLog = function (attr) { var url = 'http://logs.xplenty.com/' + attr.category + '/' + attr.action + '.png', data = { id: attr.id, url: attr.url }; return $.get(url, data); };
  • 19. CALL THE EVENTS Dig through your app’s code and add event calls using the method that you’ve just written. This will collect the data that you defined in step 1. Here’s a jQuery code sample for logging client-side button clicks: $('.btn').click(function(e) { var id = $(this).attr('id'); $.CloudFrontLog({ action: 'click', category: 'mouse', id: id, url: location.href }); });
  • 20. TEST Use your staging environment to call events via the application and check that the logs are generated accordingly. Patience young padawan, it may take an hour or so until Amazon writes them.
  • 21. GO LIVE! Everything should be ready for you to collect big data like a champ - update the production environment and let the logging begin. Don't know what to do with the data? See how to analyze AWS logs in 15 minutes.