forked from istio/istio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrules.yml
57 lines (57 loc) · 1.88 KB
/
rules.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
subject: namespace:ns
revision: "2022"
rules:
- selector: # must be empty for preprocessing adapters
aspects:
- kind: quotas
params:
quotas:
- descriptorName: RequestCount
maxAmount: 5000
expiration: 1s
- kind: metrics
adapter: prometheus
params:
metrics:
- descriptor_name: request_count
# we want to increment this counter by 1 for each unique (source, target, service, method, response_code) tuple
value: "1"
labels:
source: source.labels["app"] | "unknown"
target: target.service | "unknown"
service: target.labels["app"] | "unknown"
method: request.path | "unknown"
version: target.labels["version"] | "unknown"
response_code: response.code | 200
- descriptor_name: request_duration
value: response.latency | response.duration | "0ms"
labels:
source: source.labels["app"] | "unknown"
target: target.service | "unknown"
service: target.labels["app"] | "unknown"
method: request.path | "unknown"
version: target.labels["version"] | "unknown"
response_code: response.code | 200
- kind: access-logs
params:
logName: access_log
log:
descriptor_name: accesslog.common
template_expressions:
originIp: origin.ip
sourceUser: origin.user
timestamp: request.time
method: request.method
url: request.path
protocol: request.scheme
responseCode: response.code
responseSize: response.size
labels:
originIp: origin.ip
sourceUser: origin.user
timestamp: request.time
method: request.method
url: request.path
protocol: request.scheme
responseCode: response.code
responseSize: response.size