Attribute Vocabulary

Attributes are a central concept used throughout Istio. You can find a description of what attributes are and what they are used for here.

A given Istio deployment has a fixed vocabulary of attributes that it understands. The specific vocabulary is determined by the set of attribute producers being used in the deployment. The primary attribute producer in Istio is Envoy, although Mixer and services can also introduce attributes.

Standard Istio attribute vocabulary

The table below shows the set of canonical attributes and their respective types. Most Istio deployments will have agents (Envoy or Mixer adapters) that produce these attributes.

NameTypeDescriptionKubernetes Example
source.ipip_addressClient IP address.
source.servicestringThe fully qualified name of the service that the client belongs
source.namestringThe short name part of the source service.redis-master
source.namespacestringThe namespace part of the source
source.domainstringThe domain suffix part of the source service, excluding the name and the namespace.svc.cluster.local
source.uidstringPlatform-specific unique identifier for the client instance of the source service.kubernetes://
source.labelsmap[string, string]A map of key-value pairs attached to the client instance.version => v1
source.userstringThe identity of the immediate sender of the request, authenticated by mTLS.service-account-foo
target.ipip_addressServer IP address.
target.portint64The recipient port on the server IP address.8080
target.servicestringThe fully qualified name of the service that the server belongs
target.namestringThe short name part of the target
target.namespacestringThe namespace part of the target
target.domainstringThe domain suffix part of the target service, excluding the name and the namespace.svc.cluster.local
target.uidstringPlatform-specific unique identifier for the server instance of the target service.kubernetes://
target.labelsmap[string, string]A map of key-value pairs attached to the server instance.version => v2
target.userstringThe user running the target application.service-account
request.headersmap[string, string]HTTP request headers. 
request.idstringAn ID for the request with statistically low probability of collision. 
request.pathstringThe HTTP URL path including query string 
request.hoststringHTTP/1.x host header or HTTP/2 authority header.redis-master:3337
request.methodstringThe HTTP method. 
request.reasonstringThe request reason used by auditing systems. 
request.refererstringThe HTTP referer header. 
request.schemestringURI Scheme of the request 
request.sizeint64Size of the request in bytes. For HTTP requests this is equivalent to the Content-Length header. 
request.timetimestampThe timestamp when the target receives the request. This should be equivalent to Firebase “now”. 
request.useragentstringThe HTTP User-Agent header. 
response.headersmap[string, string]HTTP response headers. 
response.sizeint64Size of the response body in bytes 
response.timetimestampThe timestamp when the target produced the response. 
response.durationdurationThe amount of time the response took to generate. 
response.codeint64The response’s HTTP status code