Client Log
- Client logs ultimately take a HTTP request and log a HAR 1.2 file.
- This file can then be enriched by the Enrichment Platform.
- The enriched log is then logged to the Opensearch database.
- Once in the Opensearch database, the log can be queried and analyzed.
##S3
###S3 Bucket
Bucket convention is slaops-logs-{data}-{region}-{customer}-{id}
Clients will be logged into the slaops-logs-raw-{region}-{customer}-{id} S3 bucket.
S3 Prefix
The logs will be configured as following
{customer}/{tenant}/{account-id}/{region}/{service-name}/{semantic-version}/{yyyy}/{mm}/{dd}/{hh}/{mm}/{id}.log
| Component | Description |
|---|---|
{customer} | The customer name |
{tenant} | The tenant name |
{account-id} | The account id |
{region} | The region |
{service-name} | The name of the service |
{semantic-version} | The semantic version of the service |
{yyyy} | The year |
{mm} | The month |
{dd} | The day |
{hh} | The hour |
{mm} | The minute |
{id} | The unique identifier for the log |
Customers can have multiple tenants, and each tenants.
Example:
acme-corp/production/123456789012/us-east-1/payment-service/1.2.3/2025/01/15/14/30/PL8sO2A7.log
This example represents:
- Customer:
acme-corp - Tenant:
production - Account ID:
123456789012 - Region:
us-east-1 - Service Name:
payment-service - Semantic Version:
1.2.3 - Timestamp: January 15, 2025 at 14:30 (2:30 PM)
- Unique Identifier:
PL8sO2A7
Then when logs are enriched, they will be logged to opensearch at index: slaops-logs-enriched-{region}-{customer}-{id}.
Request and Response Logging
Full request and response logging is disabled by default. One must configure the
No authentication credentials are logged, only whitelisted headers are logged by default for security purposes. Headers which are logged can be configured via the SAAS portal. In addition, any other parameters as part of the authentication settings in an openapi specification will not be logged.
Request and responses are logged as JSON Line files with each line being in the HAR 1.2 specification. Many requests could be in the one file if they are grouped together.
_metadata
In the HAR format, fields starting with an underscore are extension fields. The following will be added to the logs:
client : ClientInfo,
buildInfo: BuildInfo,
Logs Location
If the request is logged, it will be logged at: slaops-{region}-logs-har-{customer}-{id} S3 bucket.
S3 Prefix
The prefix will be the id
{customer}/{tenant}/{account-id}/{region}/{service-name}/{semantic-version}/{yyyy}/{mm}/{dd}/{hh}/{mm}/{id}.log
{customer}/{deployment}/{service-name}/{semantic-version}/{yyyy}/{mm}/{dd}/{hh}/{mm}/{id}.log
Client Request & Response Logging
S3 Bucket
If the request is logged, it will be logged at: slaops-{region}-{customer}-{id} S3 bucket.
{customer}/{tenant}/{account-id}/{region}/{service-name}/{semantic-version}/{yyyy}/{mm}/{dd}/{hh}/{mm}/{id}.log
{customer}/{deployment}/{service-name}/{semantic-version}/{yyyy}/{mm}/{dd}/{hh}/{mm}/{id}.log
Client Response
If the response is logged, the response is logged at:
Retention
You can optionally log all requests ans responses, but then set the retention for a long duration. Then requests and response can analyzed for what issue has occurred.
- Log on Error
- Log on SLA Failure
- Log on Request Timeout
- Log on Response Timeout
- Log on Request Validation Failure
- Log on Response Validation Failure
- Log on Request Validation Success
- Log on Response Validation Success
- Log on Request Validation Success