blob: d6ffe6a0541274120298d1b059d821139f86cb5a [file] [log] [blame] [edit]
subject: namespace:ns
revision: "2022"
adapters:
- name: default
kind: quotas
impl: memQuota
params:
- name: default
impl: stdioLogger
params:
logStream: STDERR
- name: prometheus
kind: metrics
impl: prometheus
params:
- name: default
impl: denyChecker
- name: default
kind: attributes
impl: kubernetes
params:
# when running from mixer root, use the following config after adding a
# symbolic link to a kubernetes config file via:
#
# $ ln -s ~/.kube/config adapter/kubernetes/kubeconfig
#
# kubeconfig_path: "adapter/kubernetes/kubeconfig"
manifests:
- name: istio-proxy
revision: "1"
attributes:
- name: source.uid
value_type: STRING
- name: target.uid
value_type: STRING
- name: origin.uid
value_type: STRING
- name: source.name
value_type: STRING
- name: source.labels
value_type: STRING_MAP
- name: target.name
value_type: STRING
- name: target.service
value_type: STRING
- name: source.namespace
value_type: STRING
- name: target.namespace
value_type: STRING
- name: source.service
value_type: STRING
- name: target.service
value_type: STRING
- name: source.ip
value_type: IP_ADDRESS
- name: origin.ip
value_type: IP_ADDRESS
- name: origin.user
value_type: STRING
- name: source.serviceAccount
value_type: STRING
- name: request.time
value_type: TIMESTAMP
- name: request.method
value_type: STRING
- name: request.path
value_type: STRING
- name: request.host
value_type: STRING
- name: request.headers
value_type: STRING_MAP
- name: request.scheme
value_type: STRING
- name: response.size
value_type: INT64
- name: response.code
value_type: INT64
- name: response.duration
value_type: DURATION
# TODO: we really need to remove these, they're not part of the attribute vocab.
- name: api.name
value_type: STRING
- name: api.method
value_type: STRING
# Enums as struct fields can be symbolic names.
# However enums inside maps *cannot* be symbolic names.
metrics:
- name: request_count
kind: COUNTER
value: INT64
description: request count by source, target, service, and code
labels:
source: 1 # STRING
target: 1 # STRING
service: 1 # STRING
method: 1 # STRING
response_code: 2 # INT64
- name: request_latency
kind: DISTRIBUTION
value: DURATION
description: request latency by source, target, and service
buckets:
explicit_buckets:
bounds: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10]
# Examples of other possible bucket configurations:
# linear_buckets:
# num_finite_buckets: 10
# offset: 0.001
# width: 0.1
# exponential_buckets:
# num_finite_buckets: 15
# scale: 0.001
# growth_factor: 4
labels:
source: 1 # STRING
target: 1 # STRING
service: 1 # STRING
method: 1 # STRING
response_code: 2 # INT64
quotas:
- name: RequestCount
rate_limit: true
logs:
- name: accesslog.common
display_name: Apache Common Log Format
log_template: '{{or (.originIp) "-"}} - {{or (.sourceUser) "-"}} [{{or (.timestamp.Format "02/Jan/2006:15:04:05 -0700") "-"}}] "{{or (.method) "-"}} {{or (.url) "-"}} {{or (.protocol) "-"}}" {{or (.responseCode) "-"}} {{or (.responseSize) "-"}}'
labels:
originIp: 6 # IP_ADDRESS
sourceUser: 1 # STRING
timestamp: 5 # TIMESTAMP
method: 1 # STRING
url: 1 # STRING
protocol: 1 # STRING
responseCode: 2 # INT64
responseSize: 2 # INT64
- name: accesslog.combined
display_name: Apache Combined Log Format
log_template: '{{or (.originIp) "-"}} - {{or (.sourceUser) "-"}} [{{or (.timestamp.Format "02/Jan/2006:15:04:05 -0700") "-"}}] "{{or (.method) "-"}} {{or (.url) "-"}} {{or (.protocol) "-"}}" {{or (.responseCode) "-"}} {{or (.responseSize) "-"}} {{or (.referer) "-"}} {{or (.userAgent) "-"}}'
labels:
originIp: 6 # IP_ADDRESS
sourceUser: 1 # STRING
timestamp: 5 # TIMESTAMP
method: 1 # STRING
url: 1 # STRING
protocol: 1 # STRING
responseCode: 2 # INT64
responseSize: 2 # INT64
referer: 1 # STRING
userAgent: 1 # STRING