Skip to content

Commit 4dd16cf

Browse files
constanca-mdragonlord93
authored andcommitted
Add log record attributes from category AzureCdnAccessLog (open-telemetry#39820)
#### Description Remove the fields from category AzureCdnAccessLog from the body log record and place them as log record attributes. See a detailed description in open-telemetry#39811. <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes open-telemetry#39811. <!--Describe what testing was performed and which tests were added.--> #### Testing Unit tests added. <!--Describe the documentation added.--> #### Documentation README added with the mapping for AzureCdnAccessLog category. <!--Please delete paragraphs that you did not use before submitting.-->
1 parent 3fca48e commit 4dd16cf

16 files changed

+1288
-247
lines changed

.chloggen/add-azurecdnaccesslog.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Use this changelog template to create an entry for release notes.
2+
3+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
4+
change_type: breaking
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
7+
component: pkg
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: Remove the fields from category AzureCdnAccessLog from the body log record and place them as log record attributes.
11+
12+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
13+
issues: [39811]
14+
15+
# (Optional) One or more lines of additional information to render under the primary note.
16+
# These lines will be padded with 2 spaces and then inserted directly into the document.
17+
# Use pipe (|) for multiline entries.
18+
subtext:
19+
20+
# If your change doesn't affect end users or the exported elements of any package,
21+
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
22+
# Optional: The change log or logs in which this entry should be included.
23+
# e.g. '[user]' or '[user, api]'
24+
# Include 'user' if the change is relevant to end users.
25+
# Include 'api' if there is a change to a library API.
26+
# Default: '[user]'
27+
change_logs: []

pkg/translator/azurelogs/README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Azure Logs
2+
3+
The translator for Azure logs receives azure resource logs as raw data and extracts the logs in OpenTelemetry format.
4+
5+
Currently, it expects the azure resource logs to be coming from event hub.
6+
7+
### Azure CDN Access Logs
8+
9+
The mapping for this category is as follows:
10+
11+
| Original Field (JSON) | Log Record Attribute |
12+
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
13+
| `trackingReference` | `azure.ref` |
14+
| `httpMethod` | `http.request.method` |
15+
| `httpVersion` | `network.protocol.version` |
16+
| `requestUri` | `url.orginal`<br>Also parses it to get fields:<br>1.`url.scheme`<br>2.`url.fragment`<br>3.`url.query`<br>4.`url.path`<br>5.`url.port` |
17+
| `sni` | `tls.server.name` |
18+
| `requestBytes` | `http.request.size` |
19+
| `responseBytes` | `http.response.size` |
20+
| `userAgent` | `user_agent.original` |
21+
| `clientIp` | `client.address` |
22+
| `clientPort` | `client.port` |
23+
| `socketIp` | `source.address` |
24+
| `timeToFirstByte` | `azure.time_to_first_byte` |
25+
| `timeTaken` | `duration` |
26+
| `requestProtocol` | `network.protocol.name` |
27+
| `securityProtocol` | 1. `tls.protocol.name`<br>2. `tls.protocol.version` |
28+
| `httpStatusCode` | `http.response.status_code` |
29+
| `pop` | `azure.pop` |
30+
| `cacheStatus` | `azure.cache_status` |
31+
| `errorInfo` | `exception.type` |
32+
| `ErrorInfo` | Same as `errorInfo` |
33+
| `endpoint` | Either:<br>1. `destination.address` if it is equal to `backendHostname`<br>2. `network.peer.address` otherwise. |
34+
| `isReceivedFromClient` | `network.io.direction`<br>- If `true`, `receive`<br>- Else, `transmit` |
35+
| `backendHostname` | 1. `destination.address` <br>2. `destination.port`, if any |

0 commit comments

Comments
 (0)