| 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 |