Skip to content

Commit 1f1d008

Browse files
Sync ngrok with logs-backend (#2068)
1 parent 95da0ab commit 1f1d008

File tree

2 files changed

+263
-0
lines changed

2 files changed

+263
-0
lines changed

ngrok/assets/logs/ngrok.yaml

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
id: ngrok
2+
facets:
3+
- name: Event Name
4+
source: log
5+
path: evt.name
6+
groups:
7+
- Event
8+
- name: Method
9+
source: log
10+
path: http.method
11+
groups:
12+
- Web Access
13+
- name: Status Code
14+
source: log
15+
path: http.status_code
16+
groups:
17+
- Web Access
18+
- name: URL Path
19+
source: log
20+
path: http.url_details.path
21+
groups:
22+
- Web Access
23+
- name: Version
24+
source: log
25+
path: http.version
26+
groups:
27+
- Web Access
28+
- name: City Name
29+
source: log
30+
path: network.client.geoip.city.name
31+
groups:
32+
- Geoip
33+
- name: Continent Code
34+
source: log
35+
path: network.client.geoip.continent.code
36+
groups:
37+
- Geoip
38+
- name: Continent Name
39+
source: log
40+
path: network.client.geoip.continent.name
41+
groups:
42+
- Geoip
43+
- name: Country ISO Code
44+
source: log
45+
path: network.client.geoip.country.iso_code
46+
groups:
47+
- Geoip
48+
- name: Country Name
49+
source: log
50+
path: network.client.geoip.country.name
51+
groups:
52+
- Geoip
53+
- name: Subdivision ISO Code
54+
source: log
55+
path: network.client.geoip.subdivision.iso_code
56+
groups:
57+
- Geoip
58+
- name: Subdivision Name
59+
source: log
60+
path: network.client.geoip.subdivision.name
61+
groups:
62+
- Geoip
63+
- name: Client IP
64+
source: log
65+
path: network.client.ip
66+
groups:
67+
- Web Access
68+
- name: Destination Port
69+
source: log
70+
path: network.destination.port
71+
groups:
72+
- Web Access
73+
- path: object.conn.server_name
74+
source: log
75+
name: Ngrok Endpoint
76+
groups:
77+
- Ngrok
78+
pipeline:
79+
type: pipeline
80+
name: ngrok
81+
enabled: true
82+
filter:
83+
query: source:ngrok
84+
processors:
85+
- type: attribute-remapper
86+
name: Map `object.conn.client_ip` to `network.client.ip`
87+
enabled: true
88+
sources:
89+
- object.conn.client_ip
90+
sourceType: attribute
91+
target: network.client.ip
92+
targetType: attribute
93+
preserveSource: false
94+
overrideOnConflict: false
95+
- type: attribute-remapper
96+
name: Map `object.conn.server_port` to `network.destination.port`
97+
enabled: true
98+
sources:
99+
- object.conn.server_port
100+
sourceType: attribute
101+
target: network.destination.port
102+
targetType: attribute
103+
preserveSource: false
104+
overrideOnConflict: false
105+
- type: attribute-remapper
106+
name: Map `event_type` to `evt.name`
107+
enabled: true
108+
sources:
109+
- event_type
110+
sourceType: attribute
111+
target: evt.name
112+
targetType: attribute
113+
preserveSource: false
114+
overrideOnConflict: false
115+
- type: date-remapper
116+
name: Define `event_timestamp` as the official date of the log
117+
enabled: true
118+
sources:
119+
- event_timestamp
120+
- type: attribute-remapper
121+
name: Map `object.http.request.method` to `http.method`
122+
enabled: true
123+
sources:
124+
- object.http.request.method
125+
sourceType: attribute
126+
target: http.method
127+
targetType: attribute
128+
preserveSource: false
129+
overrideOnConflict: false
130+
- type: attribute-remapper
131+
name: Map `object.http.request.url.path` to `http.url_details.path`
132+
enabled: true
133+
sources:
134+
- object.http.request.url.path
135+
sourceType: attribute
136+
target: http.url_details.path
137+
targetType: attribute
138+
preserveSource: false
139+
overrideOnConflict: false
140+
- type: attribute-remapper
141+
name: Map `object.http.request.version` to `http.version`
142+
enabled: true
143+
sources:
144+
- object.http.request.version
145+
sourceType: attribute
146+
target: http.version
147+
targetType: attribute
148+
preserveSource: false
149+
overrideOnConflict: false
150+
- type: attribute-remapper
151+
name: Map `object.http.response.status_code` to `http.status_code`
152+
enabled: true
153+
sources:
154+
- object.http.response.status_code
155+
sourceType: attribute
156+
target: http.status_code
157+
targetType: attribute
158+
preserveSource: false
159+
overrideOnConflict: false
160+
- type: geo-ip-parser
161+
name: geoip parser
162+
enabled: true
163+
sources:
164+
- network.client.ip
165+
target: network.client.geoip
166+
ip_processing_behavior: do-nothing
167+
- type: status-remapper
168+
name: Define `status` as the official status of the log
169+
enabled: true
170+
sources:
171+
- status

ngrok/assets/logs/ngrok_tests.yaml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
id: "ngrok"
2+
tests:
3+
-
4+
sample: |-
5+
{
6+
"account_id" : "ac_2OtNvAlhso10Gx6s7eupzX3F98q",
7+
"event_id" : "ev_25X3yFS6TDkig1KDJWIc4nnJO0c",
8+
"event_type" : "http_request_complete.v0",
9+
"event_timestamp" : "2022-02-23T23:44:16Z",
10+
"object" : {
11+
"conn" : {
12+
"server_name" : "ngrok-docs-example.ngrok.io",
13+
"client_ip" : "2601:0:8200:9e:4cd7:0:c97f:7823",
14+
"server_port" : "443"
15+
},
16+
"http" : {
17+
"request" : {
18+
"method" : "GET",
19+
"version" : "HTTP/2.0",
20+
"url" : {
21+
"path" : "/docs/events"
22+
}
23+
},
24+
"response" : {
25+
"first_byte_ts" : "2022-02-23T23:44:16.732791273Z",
26+
"status_code" : 200,
27+
"last_byte_ts" : "2022-02-23T23:44:16.737257209Z",
28+
"body_length" : 13079
29+
}
30+
}
31+
}
32+
}
33+
result:
34+
custom:
35+
account_id: "ac_2OtNvAlhso10Gx6s7eupzX3F98q"
36+
event_id: "ev_25X3yFS6TDkig1KDJWIc4nnJO0c"
37+
event_timestamp: "2022-02-23T23:44:16Z"
38+
evt:
39+
name: "http_request_complete.v0"
40+
http:
41+
method: "GET"
42+
status_code: 200
43+
url_details:
44+
path: "/docs/events"
45+
version: "HTTP/2.0"
46+
network:
47+
client:
48+
geoip: {}
49+
ip: "2601:0:8200:9e:4cd7:0:c97f:7823"
50+
destination:
51+
port: "443"
52+
object:
53+
conn:
54+
server_name: "ngrok-docs-example.ngrok.io"
55+
http:
56+
response:
57+
body_length: 13079
58+
first_byte_ts: "2022-02-23T23:44:16.732791273Z"
59+
last_byte_ts: "2022-02-23T23:44:16.737257209Z"
60+
message: |-
61+
{
62+
"account_id" : "ac_2OtNvAlhso10Gx6s7eupzX3F98q",
63+
"event_id" : "ev_25X3yFS6TDkig1KDJWIc4nnJO0c",
64+
"event_type" : "http_request_complete.v0",
65+
"event_timestamp" : "2022-02-23T23:44:16Z",
66+
"object" : {
67+
"conn" : {
68+
"server_name" : "ngrok-docs-example.ngrok.io",
69+
"client_ip" : "2601:0:8200:9e:4cd7:0:c97f:7823",
70+
"server_port" : "443"
71+
},
72+
"http" : {
73+
"request" : {
74+
"method" : "GET",
75+
"version" : "HTTP/2.0",
76+
"url" : {
77+
"path" : "/docs/events"
78+
}
79+
},
80+
"response" : {
81+
"first_byte_ts" : "2022-02-23T23:44:16.732791273Z",
82+
"status_code" : 200,
83+
"last_byte_ts" : "2022-02-23T23:44:16.737257209Z",
84+
"body_length" : 13079
85+
}
86+
}
87+
}
88+
}
89+
tags:
90+
- "source:LOGS_SOURCE"
91+
timestamp: 1645659856000
92+

0 commit comments

Comments
 (0)