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

  1. Open Akamai Control Center.
  2. Go to Properties or Property Manager.
  3. Select the active property that serves this website.
  4. 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:

  1. Open the active property in Property Manager.
  2. Edit a new version.
  3. Go to Default Rule, or the rule that matches the traffic Honeylog should log.
  4. Choose Add Behavior, then add or open Log Request Details.
Section Select
Log Request Details 1. Log User-Agent Header
2. Log Host Header
3. Log Referer Header
4. Log Accept-Language Header
5. 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

  1. Open Common Services, then DataStream.
  2. Click Create stream and choose Delivery products.
  3. In Configuration, enter Honeylog as the Display Name.
  4. For Latency profile, choose Optimized for faster latency.
  5. Under Include groups, select the group that owns the website property.
  6. Under Include properties, select the property whose Hostnames include the website domain.
  7. Click Next to open Data 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

  1. Click Next to open Delivery, then choose Custom HTTPS as the destination.
  2. Paste the generated Honeylog values into the matching fields.
  3. Use Akamai native Basic authentication.
  4. Do not create a custom Authorization header.
  5. Check Send compressed data to enable gzip compression.
  6. Choose 30 seconds as the push frequency.
  7. 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

  1. Open Summary.
  2. Confirm the display name is Honeylog, the latency profile is Optimized for faster latency, and the correct property is included.
  3. Confirm the selected data sets, Json log format, and Custom HTTPS destination.
  4. Save the stream and wait until Akamai shows it as active.

#Step 7: Validate and verify

  1. Open a few public pages through the website domain served by Akamai.
  2. Wait for Akamai to deliver the first log batch, then open Honeylog and look for the new visits.
  3. If the visits appear, the installation is complete.
  4. 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, and Edge IP.
  5. 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.