Getting Started
Akamai
Create an Akamai stream, send it to Honeylog, and verify request delivery.
Use this guide when Akamai serves the website. You will create a DataStream 2 stream that sends the website request data needed by Honeylog.
#Before you open Akamai
Sign in to the Akamai account that manages this website. You need access to Property Manager and Common Services > DataStream, with permission to create a stream and activate a property version. If any of these options are unavailable, send this guide and the private Honeylog installation page to your Akamai administrator.
#Step 1: Open the site property
- Open Akamai Control Center.
- Go to
PropertiesorProperty Manager. - Select the active property that serves this website.
- Confirm that the website domain appears in the property and that the property is active.
Continue only when you are working on the property that serves the website connected to Honeylog.
#Step 2: Configure Log Request Details in Property Manager
Before creating the stream, configure the Property rule that matches the traffic Honeylog should log:
- Open the active property in
Property Manager. - Edit a new version.
- Go to
Default Rule, or the rule that matches the traffic Honeylog should log. - Choose
Add Behavior, then add or openLog Request Details.
| Section | Select |
|---|---|
| Log Request Details | 1. Log User-Agent Header2. Log Host Header3. Log Referer Header4. Log Accept-Language Header5. Log Akamai Edge Server IP Address |
Enable every setting in the right column, in the order shown. Save and activate the new property version before creating the DataStream 2 stream.
Selecting User-Agent as a DataStream field is not enough. Without Log Request Details > Log User-Agent Header on the matching Property rule, Akamai can send UA as -, even when the origin or Nginx correctly receives the browser's User-Agent.
Continue only after Akamai shows that the new property version is active.
#Step 3: Create the DataStream 2 stream
- Open
Common Services, thenDataStream. - Click
Create streamand chooseDelivery products. - In
Configuration, enterHoneylogas theDisplay Name. - For
Latency profile, chooseOptimized for faster latency. - Under
Include groups, select the group that owns the website property. - Under
Include properties, select the property whoseHostnamesinclude the website domain. - Click
Nextto openData sets.
The Akamai wizard then continues through Data sets, Delivery, and Summary. Before continuing, confirm that the correct website property is selected.
#Step 4: Select Data sets and the log format
Select every item in the right column, in the order shown.
Do not use Include all.
| Section | Select |
|---|---|
| Log information | Stream ID, CP code, Request ID, Request time |
| Message exchange data | Bytes, Client IP, HTTP status code, Protocol type, Request host, Request method, Request path, Response Content-Length, Response Content-Type, User-Agent, Query string |
| Request header data | Accept-Language, Referer, X-Forwarded-For |
| Network performance data | Request end time, Error code, Turn around time, Transfer time |
| Cache data | Cache status |
| Geo data | Edge IP, Country/Region |
| Log file | Json |
At the bottom of Data sets, set Log format to Json. Before continuing, compare the selected fields with this list and confirm that none are missing.
Akamai warns that fields marked with an asterisk need an additional Property Manager behavior. Step 2 already configured the behavior needed for User-Agent.
#Step 5: Configure Delivery with Custom HTTPS
- Click
Nextto openDelivery, then chooseCustom HTTPSas the destination. - Paste the generated Honeylog values into the matching fields.
- Use Akamai native Basic authentication.
- Do not create a custom Authorization header.
- Check
Send compressed datato enable gzip compression. - Choose
30 secondsas the push frequency. - If Akamai shows a sampling percentage, keep it at
100%for the first activation.
Akamai uses the Json log format selected in Step 4, so there are no separate format or content type values to enter in Delivery.
Destination values:
Destination: Custom HTTPS
Endpoint URL: https://api.honeylog.io/akamai/events/SITE_DOMAIN
Authentication: Basic
Username: honeylog
Password: SITE_TOKEN
Send compressed data: Checked
Push frequency: 30 seconds
Use the personalized endpoint and password from Settings > Installation > Akamai in Honeylog. Do not use SITE_DOMAIN or SITE_TOKEN literally. Save the destination and continue only when Akamai accepts its validation.
#Step 6: Review Summary and save the stream
- Open
Summary. - Confirm the display name is
Honeylog, the latency profile isOptimized for faster latency, and the correct property is included. - Confirm the selected data sets,
Jsonlog format, andCustom HTTPSdestination. - Save the stream and wait until Akamai shows it as active.
#Step 7: Validate and verify
- Open a few public pages through the website domain served by Akamai.
- Wait for Akamai to deliver the first log batch, then open Honeylog and look for the new visits.
- If the visits appear, the installation is complete.
- If they do not appear, open the first records in DataStream and confirm they contain
User-Agent,Referer,Accept-Language,Request host,Request path,Client IP, andEdge IP. - Send any validation or delivery error to your Akamai administrator or Honeylog support.
DataStream is not available on every Akamai account. A Linode or Akamai Cloud account alone is not enough; the account must include Akamai Control Center access with DataStream 2 enabled.