-
-
Save maximilien/ba103bcd67f4d8f733d654cf38928454 to your computer and use it in GitHub Desktop.
knative failed
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# PATCH #1: Creating the istio-system namespace. | |
apiVersion: v1 | |
kind: Namespace | |
metadata: | |
name: istio-system | |
# PATCH #1 ends. | |
--- | |
# Source: istio/charts/mixer/templates/configmap.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-statsd-prom-bridge | |
namespace: istio-system | |
labels: | |
app: istio-statsd-prom-bridge | |
chart: mixer-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: mixer | |
data: | |
mapping.conf: |- | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-mixer-custom-resources | |
namespace: istio-system | |
labels: | |
app: istio-mixer | |
chart: mixer-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: mixer | |
data: | |
custom-resources.yaml: |- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: attributemanifest | |
metadata: | |
name: istioproxy | |
namespace: istio-system | |
spec: | |
attributes: | |
origin.ip: | |
valueType: IP_ADDRESS | |
origin.uid: | |
valueType: STRING | |
origin.user: | |
valueType: STRING | |
request.headers: | |
valueType: STRING_MAP | |
request.id: | |
valueType: STRING | |
request.host: | |
valueType: STRING | |
request.method: | |
valueType: STRING | |
request.path: | |
valueType: STRING | |
request.reason: | |
valueType: STRING | |
request.referer: | |
valueType: STRING | |
request.scheme: | |
valueType: STRING | |
request.total_size: | |
valueType: INT64 | |
request.size: | |
valueType: INT64 | |
request.time: | |
valueType: TIMESTAMP | |
request.useragent: | |
valueType: STRING | |
response.code: | |
valueType: INT64 | |
response.duration: | |
valueType: DURATION | |
response.headers: | |
valueType: STRING_MAP | |
response.total_size: | |
valueType: INT64 | |
response.size: | |
valueType: INT64 | |
response.time: | |
valueType: TIMESTAMP | |
source.uid: | |
valueType: STRING | |
source.user: | |
valueType: STRING | |
destination.uid: | |
valueType: STRING | |
connection.id: | |
valueType: STRING | |
connection.received.bytes: | |
valueType: INT64 | |
connection.received.bytes_total: | |
valueType: INT64 | |
connection.sent.bytes: | |
valueType: INT64 | |
connection.sent.bytes_total: | |
valueType: INT64 | |
connection.duration: | |
valueType: DURATION | |
connection.mtls: | |
valueType: BOOL | |
context.protocol: | |
valueType: STRING | |
context.timestamp: | |
valueType: TIMESTAMP | |
context.time: | |
valueType: TIMESTAMP | |
api.service: | |
valueType: STRING | |
api.version: | |
valueType: STRING | |
api.operation: | |
valueType: STRING | |
api.protocol: | |
valueType: STRING | |
request.auth.principal: | |
valueType: STRING | |
request.auth.audiences: | |
valueType: STRING | |
request.auth.presenter: | |
valueType: STRING | |
request.auth.claims: | |
valueType: STRING_MAP | |
request.auth.raw_claims: | |
valueType: STRING | |
request.api_key: | |
valueType: STRING | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: attributemanifest | |
metadata: | |
name: kubernetes | |
namespace: istio-system | |
spec: | |
attributes: | |
source.ip: | |
valueType: IP_ADDRESS | |
source.labels: | |
valueType: STRING_MAP | |
source.name: | |
valueType: STRING | |
source.namespace: | |
valueType: STRING | |
source.service: | |
valueType: STRING | |
source.serviceAccount: | |
valueType: STRING | |
destination.ip: | |
valueType: IP_ADDRESS | |
destination.labels: | |
valueType: STRING_MAP | |
destination.name: | |
valueType: STRING | |
destination.namespace: | |
valueType: STRING | |
destination.service: | |
valueType: STRING | |
destination.serviceAccount: | |
valueType: STRING | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: stdio | |
metadata: | |
name: handler | |
namespace: istio-system | |
spec: | |
outputAsJson: true | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: logentry | |
metadata: | |
name: accesslog | |
namespace: istio-system | |
spec: | |
severity: '"Info"' | |
timestamp: request.time | |
variables: | |
originIp: origin.ip | ip("0.0.0.0") | |
sourceIp: source.ip | ip("0.0.0.0") | |
sourceService: source.service | "" | |
sourceUser: source.user | source.uid | "" | |
sourceNamespace: source.namespace | "" | |
destinationIp: destination.ip | ip("0.0.0.0") | |
destinationService: destination.service | "" | |
destinationNamespace: destination.namespace | "" | |
apiName: api.service | "" | |
apiVersion: api.version | "" | |
apiClaims: request.headers["sec-istio-auth-userinfo"]| "" | |
apiKey: request.api_key | request.headers["x-api-key"] | "" | |
requestOperation: api.operation | "" | |
protocol: request.scheme | "http" | |
method: request.method | "" | |
url: request.path | "" | |
responseCode: response.code | 0 | |
responseSize: response.size | 0 | |
requestSize: request.size | 0 | |
latency: response.duration | "0ms" | |
connectionMtls: connection.mtls | false | |
userAgent: request.useragent | "" | |
responseTimestamp: response.time | |
receivedBytes: request.total_size | connection.received.bytes | 0 | |
sentBytes: response.total_size | connection.sent.bytes | 0 | |
referer: request.referer | "" | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: rule | |
metadata: | |
name: stdio | |
namespace: istio-system | |
spec: | |
match: "true" # If omitted match is true. | |
actions: | |
- handler: handler.stdio | |
instances: | |
- accesslog.logentry | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: requestcount | |
namespace: istio-system | |
spec: | |
value: "1" | |
dimensions: | |
source_service: source.service | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_service: destination.service | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
response_code: response.code | 200 | |
connection_mtls: connection.mtls | false | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: requestduration | |
namespace: istio-system | |
spec: | |
value: response.duration | "0ms" | |
dimensions: | |
source_service: source.service | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_service: destination.service | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
response_code: response.code | 200 | |
connection_mtls: connection.mtls | false | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: requestsize | |
namespace: istio-system | |
spec: | |
value: request.size | 0 | |
dimensions: | |
source_service: source.service | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_service: destination.service | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
response_code: response.code | 200 | |
connection_mtls: connection.mtls | false | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: responsesize | |
namespace: istio-system | |
spec: | |
value: response.size | 0 | |
dimensions: | |
source_service: source.service | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_service: destination.service | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
response_code: response.code | 200 | |
connection_mtls: connection.mtls | false | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: tcpbytesent | |
namespace: istio-system | |
labels: | |
istio-protocol: tcp # needed so that mixer will only generate when context.protocol == tcp | |
spec: | |
value: connection.sent.bytes | 0 | |
dimensions: | |
source_service: source.service | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_service: destination.service | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
connection_mtls: connection.mtls | false | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: tcpbytereceived | |
namespace: istio-system | |
labels: | |
istio-protocol: tcp # needed so that mixer will only generate when context.protocol == tcp | |
spec: | |
value: connection.received.bytes | 0 | |
dimensions: | |
source_service: source.service | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_service: destination.service | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
connection_mtls: connection.mtls | false | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: prometheus | |
metadata: | |
name: handler | |
namespace: istio-system | |
spec: | |
metrics: | |
- name: request_count | |
instance_name: requestcount.metric.istio-system | |
kind: COUNTER | |
label_names: | |
- source_service | |
- source_version | |
- destination_service | |
- destination_version | |
- response_code | |
- connection_mtls | |
- name: request_duration | |
instance_name: requestduration.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- source_service | |
- source_version | |
- destination_service | |
- destination_version | |
- response_code | |
- connection_mtls | |
buckets: | |
explicit_buckets: | |
bounds: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10] | |
- name: request_size | |
instance_name: requestsize.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- source_service | |
- source_version | |
- destination_service | |
- destination_version | |
- response_code | |
- connection_mtls | |
buckets: | |
exponentialBuckets: | |
numFiniteBuckets: 8 | |
scale: 1 | |
growthFactor: 10 | |
- name: response_size | |
instance_name: responsesize.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- source_service | |
- source_version | |
- destination_service | |
- destination_version | |
- response_code | |
- connection_mtls | |
buckets: | |
exponentialBuckets: | |
numFiniteBuckets: 8 | |
scale: 1 | |
growthFactor: 10 | |
- name: tcp_bytes_sent | |
instance_name: tcpbytesent.metric.istio-system | |
kind: COUNTER | |
label_names: | |
- source_service | |
- source_version | |
- destination_service | |
- destination_version | |
- connection_mtls | |
- name: tcp_bytes_received | |
instance_name: tcpbytereceived.metric.istio-system | |
kind: COUNTER | |
label_names: | |
- source_service | |
- source_version | |
- destination_service | |
- destination_version | |
- connection_mtls | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: rule | |
metadata: | |
name: promhttp | |
namespace: istio-system | |
labels: | |
istio-protocol: http | |
spec: | |
actions: | |
- handler: handler.prometheus | |
instances: | |
- requestcount.metric | |
- requestduration.metric | |
- requestsize.metric | |
- responsesize.metric | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: rule | |
metadata: | |
name: promtcp | |
namespace: istio-system | |
labels: | |
istio-protocol: tcp # needed so that mixer will only execute when context.protocol == TCP | |
spec: | |
actions: | |
- handler: handler.prometheus | |
instances: | |
- tcpbytesent.metric | |
- tcpbytereceived.metric | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: kubernetesenv | |
metadata: | |
name: handler | |
namespace: istio-system | |
spec: | |
# when running from mixer root, use the following config after adding a | |
# symbolic link to a kubernetes config file via: | |
# | |
# $ ln -s ~/.kube/config mixer/adapter/kubernetes/kubeconfig | |
# | |
# kubeconfig_path: "mixer/adapter/kubernetes/kubeconfig" | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: rule | |
metadata: | |
name: kubeattrgenrulerule | |
namespace: istio-system | |
spec: | |
actions: | |
- handler: handler.kubernetesenv | |
instances: | |
- attributes.kubernetes | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: rule | |
metadata: | |
name: tcpkubeattrgenrulerule | |
namespace: istio-system | |
spec: | |
match: context.protocol == "tcp" | |
actions: | |
- handler: handler.kubernetesenv | |
instances: | |
- attributes.kubernetes | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: kubernetes | |
metadata: | |
name: attributes | |
namespace: istio-system | |
spec: | |
# Pass the required attribute data to the adapter | |
source_uid: source.uid | "" | |
source_ip: source.ip | ip("0.0.0.0") # default to unspecified ip addr | |
destination_uid: destination.uid | "" | |
origin_uid: '""' | |
origin_ip: ip("0.0.0.0") # default to unspecified ip addr | |
attribute_bindings: | |
# Fill the new attributes from the adapter produced output. | |
# $out refers to an instance of OutputTemplate message | |
source.ip: $out.source_pod_ip | ip("0.0.0.0") | |
source.labels: $out.source_labels | emptyStringMap() | |
source.namespace: $out.source_namespace | "default" | |
source.service: $out.source_service | "unknown" | |
source.serviceAccount: $out.source_service_account_name | "unknown" | |
destination.ip: $out.destination_pod_ip | ip("0.0.0.0") | |
destination.labels: $out.destination_labels | emptyStringMap() | |
destination.namespace: $out.destination_namespace | "default" | |
destination.service: $out.destination_service | "unknown" | |
destination.serviceAccount: $out.destination_service_account_name | "unknown" | |
--- | |
# Configuration needed by Mixer. | |
# Mixer cluster is delivered via CDS | |
# Specify mixer cluster settings | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: DestinationRule | |
metadata: | |
name: istio-policy | |
namespace: istio-system | |
spec: | |
host: istio-policy.istio-system.svc.cluster.local | |
trafficPolicy: | |
connectionPool: | |
http: | |
http2MaxRequests: 10000 | |
maxRequestsPerConnection: 10000 | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: DestinationRule | |
metadata: | |
name: istio-telemetry | |
namespace: istio-system | |
spec: | |
host: istio-telemetry.istio-system.svc.cluster.local | |
trafficPolicy: | |
connectionPool: | |
http: | |
http2MaxRequests: 10000 | |
maxRequestsPerConnection: 10000 | |
--- | |
--- | |
# Source: istio/templates/configmap.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio | |
namespace: istio-system | |
labels: | |
app: istio | |
chart: istio-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
data: | |
mesh: |- | |
# | |
# Edit this list to avoid using mTLS to connect to these services. | |
# Typically, these are control services (e.g kubernetes API server) that don't have istio sidecar | |
# to transparently terminate mTLS authentication. | |
# mtlsExcludedServices: ["kubernetes.default.svc.cluster.local"] | |
# Set the following variable to true to disable policy checks by the Mixer. | |
# Note that metrics will still be reported to the Mixer. | |
disablePolicyChecks: false | |
# Set enableTracing to false to disable request tracing. | |
enableTracing: true | |
# | |
# To disable the mixer completely (including metrics), comment out | |
# the following lines | |
mixerCheckServer: istio-policy.istio-system.svc.cluster.local:15004 | |
mixerReportServer: istio-telemetry.istio-system.svc.cluster.local:15004 | |
# This is the ingress service name, update if you used a different name | |
ingressService: istio-ingress | |
# | |
# Along with discoveryRefreshDelay, this setting determines how | |
# frequently should Envoy fetch and update its internal configuration | |
# from istio Pilot. Lower refresh delay results in higher CPU | |
# utilization and potential performance loss in exchange for faster | |
# convergence. Tweak this value according to your setup. | |
rdsRefreshDelay: 10s | |
# | |
defaultConfig: | |
# NOTE: If you change any values in this section, make sure to make | |
# the same changes in start up args in istio-ingress pods. | |
# See rdsRefreshDelay for explanation about this setting. | |
discoveryRefreshDelay: 10s | |
# | |
# TCP connection timeout between Envoy & the application, and between Envoys. | |
connectTimeout: 10s | |
# | |
### ADVANCED SETTINGS ############# | |
# Where should envoy's configuration be stored in the istio-proxy container | |
configPath: "/etc/istio/proxy" | |
binaryPath: "/usr/local/bin/envoy" | |
# The pseudo service name used for Envoy. | |
serviceCluster: istio-proxy | |
# These settings that determine how long an old Envoy | |
# process should be kept alive after an occasional reload. | |
drainDuration: 45s | |
parentShutdownDuration: 1m0s | |
# | |
# The mode used to redirect inbound connections to Envoy. This setting | |
# has no effect on outbound traffic: iptables REDIRECT is always used for | |
# outbound connections. | |
# If "REDIRECT", use iptables REDIRECT to NAT and redirect to Envoy. | |
# The "REDIRECT" mode loses source addresses during redirection. | |
# If "TPROXY", use iptables TPROXY to redirect to Envoy. | |
# The "TPROXY" mode preserves both the source and destination IP | |
# addresses and ports, so that they can be used for advanced filtering | |
# and manipulation. | |
# The "TPROXY" mode also configures the sidecar to run with the | |
# CAP_NET_ADMIN capability, which is required to use TPROXY. | |
#interceptionMode: REDIRECT | |
# | |
# Port where Envoy listens (on local host) for admin commands | |
# You can exec into the istio-proxy container in a pod and | |
# curl the admin port (curl http://localhost:15000/) to obtain | |
# diagnostic information from Envoy. See | |
# https://lyft.github.io/envoy/docs/operations/admin.html | |
# for more details | |
proxyAdminPort: 15000 | |
# | |
# Zipkin trace collector | |
zipkinAddress: zipkin.istio-system:9411 | |
# | |
# Statsd metrics collector converts statsd metrics into Prometheus metrics. | |
statsdUdpAddress: istio-statsd-prom-bridge.istio-system:9125 | |
# | |
# Mutual TLS authentication between sidecars and istio control plane. | |
controlPlaneAuthPolicy: NONE | |
# | |
# Address where istio Pilot service is running | |
discoveryAddress: istio-pilot.istio-system:15007 | |
--- | |
# Source: istio/templates/sidecar-injector-configmap.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
labels: | |
app: istio | |
chart: istio-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: sidecar-injector | |
data: | |
config: |- | |
policy: enabled | |
template: |- | |
initContainers: | |
- name: istio-init | |
image: docker.io/istio/proxy_init:0.8.0 | |
args: | |
- "-p" | |
- [[ .MeshConfig.ProxyListenPort ]] | |
- "-u" | |
- 1337 | |
- "-m" | |
- [[ or (index .ObjectMeta.Annotations "sidecar.istio.io/interceptionMode") .ProxyConfig.InterceptionMode.String ]] | |
- "-i" | |
[[ if (isset .ObjectMeta.Annotations "traffic.sidecar.istio.io/includeOutboundIPRanges") -]] | |
- "[[ index .ObjectMeta.Annotations "traffic.sidecar.istio.io/includeOutboundIPRanges" ]]" | |
[[ else -]] | |
- "*" | |
[[ end -]] | |
- "-x" | |
[[ if (isset .ObjectMeta.Annotations "traffic.sidecar.istio.io/excludeOutboundIPRanges") -]] | |
- "[[ index .ObjectMeta.Annotations "traffic.sidecar.istio.io/excludeOutboundIPRanges" ]]" | |
[[ else -]] | |
- "" | |
[[ end -]] | |
- "-b" | |
[[ if (isset .ObjectMeta.Annotations "traffic.sidecar.istio.io/includeInboundPorts") -]] | |
- "[[ index .ObjectMeta.Annotations "traffic.sidecar.istio.io/includeInboundPorts" ]]" | |
[[ else -]] | |
- [[ range .Spec.Containers -]][[ range .Ports -]][[ .ContainerPort -]], [[ end -]][[ end -]][[ end]] | |
- "-d" | |
[[ if (isset .ObjectMeta.Annotations "traffic.sidecar.istio.io/excludeInboundPorts") -]] | |
- "[[ index .ObjectMeta.Annotations "traffic.sidecar.istio.io/excludeInboundPorts" ]]" | |
[[ else -]] | |
- "" | |
[[ end -]] | |
imagePullPolicy: IfNotPresent | |
securityContext: | |
capabilities: | |
add: | |
- NET_ADMIN | |
privileged: true | |
restartPolicy: Always | |
containers: | |
- name: istio-proxy | |
# PATCH #2: Add a prestop sleep. | |
lifecycle: | |
preStop: | |
exec: | |
command: | |
- /bin/sleep | |
- "20" | |
# PATCH #2 ends. | |
image: [[ if (isset .ObjectMeta.Annotations "sidecar.istio.io/proxyImage") -]] | |
"[[ index .ObjectMeta.Annotations "sidecar.istio.io/proxyImage" ]]" | |
[[ else -]] | |
docker.io/istio/proxyv2:0.8.0 | |
[[ end -]] | |
args: | |
- proxy | |
- sidecar | |
- --configPath | |
- [[ .ProxyConfig.ConfigPath ]] | |
- --binaryPath | |
- [[ .ProxyConfig.BinaryPath ]] | |
- --serviceCluster | |
[[ if ne "" (index .ObjectMeta.Labels "app") -]] | |
- [[ index .ObjectMeta.Labels "app" ]] | |
[[ else -]] | |
- "istio-proxy" | |
[[ end -]] | |
- --drainDuration | |
- [[ formatDuration .ProxyConfig.DrainDuration ]] | |
- --parentShutdownDuration | |
- [[ formatDuration .ProxyConfig.ParentShutdownDuration ]] | |
- --discoveryAddress | |
- [[ .ProxyConfig.DiscoveryAddress ]] | |
- --discoveryRefreshDelay | |
- [[ formatDuration .ProxyConfig.DiscoveryRefreshDelay ]] | |
- --zipkinAddress | |
- [[ .ProxyConfig.ZipkinAddress ]] | |
- --connectTimeout | |
- [[ formatDuration .ProxyConfig.ConnectTimeout ]] | |
- --statsdUdpAddress | |
- [[ .ProxyConfig.StatsdUdpAddress ]] | |
- --proxyAdminPort | |
- [[ .ProxyConfig.ProxyAdminPort ]] | |
- --controlPlaneAuthPolicy | |
- [[ .ProxyConfig.ControlPlaneAuthPolicy ]] | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
fieldPath: status.podIP | |
- name: ISTIO_META_POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
- name: ISTIO_META_INTERCEPTION_MODE | |
value: [[ or (index .ObjectMeta.Annotations "sidecar.istio.io/interceptionMode") .ProxyConfig.InterceptionMode.String ]] | |
imagePullPolicy: IfNotPresent | |
securityContext: | |
privileged: false | |
readOnlyRootFilesystem: true | |
[[ if eq (or (index .ObjectMeta.Annotations "sidecar.istio.io/interceptionMode") .ProxyConfig.InterceptionMode.String) "TPROXY" -]] | |
capabilities: | |
add: | |
- NET_ADMIN | |
[[ else -]] | |
runAsUser: 1337 | |
[[ end -]] | |
restartPolicy: Always | |
resources: | |
requests: | |
cpu: 100m | |
memory: 128Mi | |
volumeMounts: | |
- mountPath: /etc/istio/proxy | |
name: istio-envoy | |
- mountPath: /etc/certs/ | |
name: istio-certs | |
readOnly: true | |
volumes: | |
- emptyDir: | |
medium: Memory | |
name: istio-envoy | |
- name: istio-certs | |
secret: | |
optional: true | |
[[ if eq .Spec.ServiceAccountName "" -]] | |
secretName: istio.default | |
[[ else -]] | |
secretName: [[ printf "istio.%s" .Spec.ServiceAccountName ]] | |
[[ end -]] | |
--- | |
# Source: istio/charts/egressgateway/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-egressgateway-service-account | |
namespace: istio-system | |
labels: | |
app: egressgateway | |
chart: egressgateway-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
--- | |
# Source: istio/charts/ingress/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-ingress-service-account | |
namespace: istio-system | |
labels: | |
app: ingress | |
chart: ingress-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
--- | |
# Source: istio/charts/ingressgateway/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-ingressgateway-service-account | |
namespace: istio-system | |
labels: | |
app: ingressgateway | |
chart: ingressgateway-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
--- | |
# Source: istio/charts/mixer/templates/create-custom-resources-job.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-mixer-post-install-account | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: istio-mixer-post-install-istio-system | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
rules: | |
- apiGroups: ["config.istio.io"] # istio CRD watcher | |
resources: ["*"] | |
verbs: ["create", "get", "list", "watch", "patch"] | |
- apiGroups: ["networking.istio.io"] # needed to create mixer destination rules | |
resources: ["*"] | |
verbs: ["*"] | |
- apiGroups: ["apiextensions.k8s.io"] | |
resources: ["customresourcedefinitions"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: [""] | |
resources: ["configmaps", "endpoints", "pods", "services", "namespaces", "secrets"] | |
verbs: ["get", "list", "watch"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-mixer-post-install-role-binding-istio-system | |
labels: | |
app: mixer | |
chart: mixer-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-mixer-post-install-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-mixer-post-install-account | |
namespace: istio-system | |
--- | |
apiVersion: batch/v1 | |
kind: Job | |
metadata: | |
name: istio-mixer-post-install | |
namespace: istio-system | |
annotations: | |
"helm.sh/hook": post-install | |
"helm.sh/hook-delete-policy": before-hook-creation | |
labels: | |
app: mixer | |
chart: mixer-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
spec: | |
template: | |
metadata: | |
name: istio-mixer-post-install | |
labels: | |
app: mixer | |
release: RELEASE-NAME | |
spec: | |
serviceAccountName: istio-mixer-post-install-account | |
containers: | |
- name: hyperkube | |
image: "quay.io/coreos/hyperkube:v1.7.6_coreos.0" | |
command: | |
- ./kubectl | |
- apply | |
- -f | |
- /tmp/mixer/custom-resources.yaml | |
volumeMounts: | |
- mountPath: "/tmp/mixer" | |
name: tmp-configmap-mixer | |
volumes: | |
- name: tmp-configmap-mixer | |
configMap: | |
name: istio-mixer-custom-resources | |
restartPolicy: Never # CRD might take some time till they are available to consume | |
--- | |
# Source: istio/charts/mixer/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-mixer-service-account | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
--- | |
# Source: istio/charts/pilot/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-pilot-service-account | |
namespace: istio-system | |
labels: | |
app: istio-pilot | |
chart: pilot-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
--- | |
# Source: istio/charts/security/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-citadel-service-account | |
namespace: istio-system | |
labels: | |
app: security | |
chart: security-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-cleanup-old-ca-service-account | |
namespace: istio-system | |
labels: | |
app: security | |
chart: security-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-sidecar-injector-service-account | |
namespace: istio-system | |
labels: | |
app: istio-sidecar-injector | |
chart: sidecarInjectorWebhook-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
--- | |
# Source: istio/charts/mixer/templates/crds.yaml | |
# Mixer CRDs | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: rules.config.istio.io | |
labels: | |
app: mixer | |
package: istio.io.mixer | |
istio: core | |
spec: | |
group: config.istio.io | |
names: | |
kind: rule | |
plural: rules | |
singular: rule | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: attributemanifests.config.istio.io | |
labels: | |
app: mixer | |
package: istio.io.mixer | |
istio: core | |
spec: | |
group: config.istio.io | |
names: | |
kind: attributemanifest | |
plural: attributemanifests | |
singular: attributemanifest | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: circonuses.config.istio.io | |
labels: | |
app: mixer | |
package: circonus | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: circonus | |
plural: circonuses | |
singular: circonus | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: deniers.config.istio.io | |
labels: | |
app: mixer | |
package: denier | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: denier | |
plural: deniers | |
singular: denier | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: fluentds.config.istio.io | |
labels: | |
app: mixer | |
package: fluentd | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: fluentd | |
plural: fluentds | |
singular: fluentd | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: kubernetesenvs.config.istio.io | |
labels: | |
app: mixer | |
package: kubernetesenv | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: kubernetesenv | |
plural: kubernetesenvs | |
singular: kubernetesenv | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: listcheckers.config.istio.io | |
labels: | |
app: mixer | |
package: listchecker | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: listchecker | |
plural: listcheckers | |
singular: listchecker | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: memquotas.config.istio.io | |
labels: | |
app: mixer | |
package: memquota | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: memquota | |
plural: memquotas | |
singular: memquota | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: noops.config.istio.io | |
labels: | |
app: mixer | |
package: noop | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: noop | |
plural: noops | |
singular: noop | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: opas.config.istio.io | |
labels: | |
app: mixer | |
package: opa | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: opa | |
plural: opas | |
singular: opa | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: prometheuses.config.istio.io | |
labels: | |
app: mixer | |
package: prometheus | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: prometheus | |
plural: prometheuses | |
singular: prometheus | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: rbacs.config.istio.io | |
labels: | |
app: mixer | |
package: rbac | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: rbac | |
plural: rbacs | |
singular: rbac | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: servicecontrols.config.istio.io | |
labels: | |
app: mixer | |
package: servicecontrol | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: servicecontrol | |
plural: servicecontrols | |
singular: servicecontrol | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: solarwindses.config.istio.io | |
labels: | |
app: mixer | |
package: solarwinds | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: solarwinds | |
plural: solarwindses | |
singular: solarwinds | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: stackdrivers.config.istio.io | |
labels: | |
app: mixer | |
package: stackdriver | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: stackdriver | |
plural: stackdrivers | |
singular: stackdriver | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: statsds.config.istio.io | |
labels: | |
app: mixer | |
package: statsd | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: statsd | |
plural: statsds | |
singular: statsd | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: stdios.config.istio.io | |
labels: | |
app: mixer | |
package: stdio | |
istio: mixer-adapter | |
spec: | |
group: config.istio.io | |
names: | |
kind: stdio | |
plural: stdios | |
singular: stdio | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: apikeys.config.istio.io | |
labels: | |
app: mixer | |
package: apikey | |
istio: mixer-instance | |
spec: | |
group: config.istio.io | |
names: | |
kind: apikey | |
plural: apikeys | |
singular: apikey | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: authorizations.config.istio.io | |
labels: | |
app: mixer | |
package: authorization | |
istio: mixer-instance | |
spec: | |
group: config.istio.io | |
names: | |
kind: authorization | |
plural: authorizations | |
singular: authorization | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: checknothings.config.istio.io | |
labels: | |
app: mixer | |
package: checknothing | |
istio: mixer-instance | |
spec: | |
group: config.istio.io | |
names: | |
kind: checknothing | |
plural: checknothings | |
singular: checknothing | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: kuberneteses.config.istio.io | |
labels: | |
app: mixer | |
package: adapter.template.kubernetes | |
istio: mixer-instance | |
spec: | |
group: config.istio.io | |
names: | |
kind: kubernetes | |
plural: kuberneteses | |
singular: kubernetes | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: listentries.config.istio.io | |
labels: | |
app: mixer | |
package: listentry | |
istio: mixer-instance | |
spec: | |
group: config.istio.io | |
names: | |
kind: listentry | |
plural: listentries | |
singular: listentry | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: logentries.config.istio.io | |
labels: | |
app: mixer | |
package: logentry | |
istio: mixer-instance | |
spec: | |
group: config.istio.io | |
names: | |
kind: logentry | |
plural: logentries | |
singular: logentry | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: metrics.config.istio.io | |
labels: | |
app: mixer | |
package: metric | |
istio: mixer-instance | |
spec: | |
group: config.istio.io | |
names: | |
kind: metric | |
plural: metrics | |
singular: metric | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: quotas.config.istio.io | |
labels: | |
app: mixer | |
package: quota | |
istio: mixer-instance | |
spec: | |
group: config.istio.io | |
names: | |
kind: quota | |
plural: quotas | |
singular: quota | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: reportnothings.config.istio.io | |
labels: | |
app: mixer | |
package: reportnothing | |
istio: mixer-instance | |
spec: | |
group: config.istio.io | |
names: | |
kind: reportnothing | |
plural: reportnothings | |
singular: reportnothing | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: servicecontrolreports.config.istio.io | |
labels: | |
app: mixer | |
package: servicecontrolreport | |
istio: mixer-instance | |
spec: | |
group: config.istio.io | |
names: | |
kind: servicecontrolreport | |
plural: servicecontrolreports | |
singular: servicecontrolreport | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: tracespans.config.istio.io | |
labels: | |
app: mixer | |
package: tracespan | |
istio: mixer-instance | |
spec: | |
group: config.istio.io | |
names: | |
kind: tracespan | |
plural: tracespans | |
singular: tracespan | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: serviceroles.config.istio.io | |
labels: | |
app: mixer | |
package: istio.io.mixer | |
istio: rbac | |
spec: | |
group: config.istio.io | |
names: | |
kind: ServiceRole | |
plural: serviceroles | |
singular: servicerole | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: servicerolebindings.config.istio.io | |
labels: | |
app: mixer | |
package: istio.io.mixer | |
istio: rbac | |
spec: | |
group: config.istio.io | |
names: | |
kind: ServiceRoleBinding | |
plural: servicerolebindings | |
singular: servicerolebinding | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
# Source: istio/charts/pilot/templates/crds.yaml | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: destinationpolicies.config.istio.io | |
labels: | |
app: istio-pilot | |
spec: | |
group: config.istio.io | |
names: | |
kind: DestinationPolicy | |
listKind: DestinationPolicyList | |
plural: destinationpolicies | |
singular: destinationpolicy | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: egressrules.config.istio.io | |
labels: | |
app: istio-pilot | |
spec: | |
group: config.istio.io | |
names: | |
kind: EgressRule | |
listKind: EgressRuleList | |
plural: egressrules | |
singular: egressrule | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: routerules.config.istio.io | |
labels: | |
app: istio-pilot | |
spec: | |
group: config.istio.io | |
names: | |
kind: RouteRule | |
listKind: RouteRuleList | |
plural: routerules | |
singular: routerule | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: virtualservices.networking.istio.io | |
labels: | |
app: istio-pilot | |
spec: | |
group: networking.istio.io | |
names: | |
kind: VirtualService | |
listKind: VirtualServiceList | |
plural: virtualservices | |
singular: virtualservice | |
scope: Namespaced | |
version: v1alpha3 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: destinationrules.networking.istio.io | |
labels: | |
app: istio-pilot | |
spec: | |
group: networking.istio.io | |
names: | |
kind: DestinationRule | |
listKind: DestinationRuleList | |
plural: destinationrules | |
singular: destinationrule | |
scope: Namespaced | |
version: v1alpha3 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: serviceentries.networking.istio.io | |
labels: | |
app: istio-pilot | |
spec: | |
group: networking.istio.io | |
names: | |
kind: ServiceEntry | |
listKind: ServiceEntryList | |
plural: serviceentries | |
singular: serviceentry | |
scope: Namespaced | |
version: v1alpha3 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: gateways.networking.istio.io | |
labels: | |
app: istio-pilot | |
spec: | |
group: networking.istio.io | |
names: | |
kind: Gateway | |
plural: gateways | |
singular: gateway | |
scope: Namespaced | |
version: v1alpha3 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: policies.authentication.istio.io | |
spec: | |
group: authentication.istio.io | |
names: | |
kind: Policy | |
plural: policies | |
singular: policy | |
scope: Namespaced | |
version: v1alpha1 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: httpapispecbindings.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
kind: HTTPAPISpecBinding | |
plural: httpapispecbindings | |
singular: httpapispecbinding | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: httpapispecs.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
kind: HTTPAPISpec | |
plural: httpapispecs | |
singular: httpapispec | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: quotaspecbindings.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
kind: QuotaSpecBinding | |
plural: quotaspecbindings | |
singular: quotaspecbinding | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: quotaspecs.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
kind: QuotaSpec | |
plural: quotaspecs | |
singular: quotaspec | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
# Source: istio/charts/ingress/templates/clusterrole.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
labels: | |
app: ingress | |
chart: ingress-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
name: istio-ingress-istio-system | |
rules: | |
- apiGroups: ["extensions"] | |
resources: ["thirdpartyresources", "ingresses"] | |
verbs: ["get", "watch", "list", "update"] | |
- apiGroups: [""] | |
resources: ["configmaps", "pods", "endpoints", "services"] | |
verbs: ["get", "watch", "list"] | |
--- | |
# Source: istio/charts/mixer/templates/clusterrole.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: istio-mixer-istio-system | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
rules: | |
- apiGroups: ["config.istio.io"] # istio CRD watcher | |
resources: ["*"] | |
verbs: ["create", "get", "list", "watch", "patch"] | |
- apiGroups: ["apiextensions.k8s.io"] | |
resources: ["customresourcedefinitions"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: [""] | |
resources: ["configmaps", "endpoints", "pods", "services", "namespaces", "secrets"] | |
verbs: ["get", "list", "watch"] | |
--- | |
# Source: istio/charts/pilot/templates/clusterrole.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: istio-pilot-istio-system | |
namespace: istio-system | |
labels: | |
app: istio-pilot | |
chart: pilot-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
rules: | |
- apiGroups: ["config.istio.io"] | |
resources: ["*"] | |
verbs: ["*"] | |
- apiGroups: ["networking.istio.io"] | |
resources: ["*"] | |
verbs: ["*"] | |
- apiGroups: ["authentication.istio.io"] | |
resources: ["*"] | |
verbs: ["*"] | |
- apiGroups: ["apiextensions.k8s.io"] | |
resources: ["customresourcedefinitions"] | |
verbs: ["*"] | |
- apiGroups: ["extensions"] | |
resources: ["thirdpartyresources", "thirdpartyresources.extensions", "ingresses", "ingresses/status"] | |
verbs: ["*"] | |
- apiGroups: [""] | |
resources: ["configmaps"] | |
verbs: ["create", "get", "list", "watch", "update"] | |
- apiGroups: [""] | |
resources: ["endpoints", "pods", "services"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: [""] | |
resources: ["namespaces", "nodes", "secrets"] | |
verbs: ["get", "list", "watch"] | |
--- | |
# Source: istio/charts/security/templates/clusterrole.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: istio-citadel-istio-system | |
namespace: istio-system | |
labels: | |
app: security | |
chart: security-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
rules: | |
- apiGroups: [""] | |
resources: ["secrets"] | |
verbs: ["create", "get", "watch", "list", "update", "delete"] | |
- apiGroups: [""] | |
resources: ["serviceaccounts"] | |
verbs: ["get", "watch", "list"] | |
- apiGroups: [""] | |
resources: ["services"] | |
verbs: ["get", "watch", "list"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: Role | |
metadata: | |
name: istio-cleanup-old-ca-istio-system | |
namespace: istio-system | |
labels: | |
app: security | |
chart: security-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
rules: | |
- apiGroups: [""] | |
resources: ["deployments", "serviceaccounts", "services"] | |
verbs: ["get", "delete"] | |
- apiGroups: ["extensions"] | |
resources: ["deployments", "replicasets"] | |
verbs: ["get", "list", "update", "delete"] | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/clusterrole.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: istio-sidecar-injector-istio-system | |
labels: | |
app: istio-sidecar-injector | |
chart: sidecarInjectorWebhook-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
rules: | |
- apiGroups: ["*"] | |
resources: ["configmaps"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["admissionregistration.k8s.io"] | |
resources: ["mutatingwebhookconfigurations"] | |
verbs: ["get", "list", "watch", "patch"] | |
--- | |
# Source: istio/charts/ingress/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-ingress-istio-system | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-pilot-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-ingress-service-account | |
namespace: istio-system | |
--- | |
# Source: istio/charts/mixer/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-mixer-admin-role-binding-istio-system | |
labels: | |
app: mixer | |
chart: mixer-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-mixer-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-mixer-service-account | |
namespace: istio-system | |
--- | |
# Source: istio/charts/pilot/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-pilot-istio-system | |
labels: | |
app: istio-pilot | |
chart: pilot-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-pilot-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-pilot-service-account | |
namespace: istio-system | |
--- | |
# Source: istio/charts/security/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-citadel-istio-system | |
labels: | |
app: security | |
chart: security-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-citadel-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-citadel-service-account | |
namespace: istio-system | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: RoleBinding | |
metadata: | |
name: istio-cleanup-old-ca-istio-system | |
namespace: istio-system | |
labels: | |
app: security | |
chart: security-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: istio-cleanup-old-ca-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-cleanup-old-ca-service-account | |
namespace: istio-system | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-sidecar-injector-admin-role-binding-istio-system | |
labels: | |
app: istio-sidecar-injector | |
chart: sidecarInjectorWebhook-0.8.0 | |
heritage: Tiller | |
release: RELEASE-NAME | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-sidecar-injector-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-sidecar-injector-service-account | |
namespace: istio-system | |
--- | |
# Source: istio/charts/egressgateway/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-egressgateway | |
namespace: istio-system | |
labels: | |
chart: egressgateway-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: egressgateway | |
spec: | |
type: ClusterIP | |
selector: | |
istio: egressgateway | |
ports: | |
- | |
name: http | |
port: 80 | |
- | |
name: https | |
port: 443 | |
--- | |
# Source: istio/charts/ingress/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-ingress | |
namespace: istio-system | |
labels: | |
chart: ingress-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: ingress | |
spec: | |
type: LoadBalancer | |
selector: | |
istio: ingress | |
ports: | |
- | |
name: http | |
nodePort: 32000 | |
port: 80 | |
- | |
name: https | |
port: 443 | |
--- | |
--- | |
# Source: istio/charts/ingressgateway/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-ingressgateway | |
namespace: istio-system | |
labels: | |
chart: ingressgateway-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: ingressgateway | |
spec: | |
type: LoadBalancer | |
selector: | |
istio: ingressgateway | |
ports: | |
- | |
name: http | |
nodePort: 31380 | |
port: 80 | |
- | |
name: https | |
nodePort: 31390 | |
port: 443 | |
- | |
name: tcp | |
nodePort: 31400 | |
port: 31400 | |
--- | |
# Source: istio/charts/mixer/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-policy | |
namespace: istio-system | |
labels: | |
chart: mixer-0.8.0 | |
release: RELEASE-NAME | |
istio: mixer | |
spec: | |
ports: | |
- name: grpc-mixer | |
port: 9091 | |
- name: grpc-mixer-mtls | |
port: 15004 | |
- name: http-monitoring | |
port: 9093 | |
selector: | |
istio: mixer | |
istio-mixer-type: policy | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-telemetry | |
namespace: istio-system | |
labels: | |
chart: mixer-0.8.0 | |
release: RELEASE-NAME | |
istio: mixer | |
spec: | |
ports: | |
- name: grpc-mixer | |
port: 9091 | |
- name: grpc-mixer-mtls | |
port: 15004 | |
- name: http-monitoring | |
port: 9093 | |
- name: prometheus | |
port: 42422 | |
selector: | |
istio: mixer | |
istio-mixer-type: telemetry | |
--- | |
--- | |
# Source: istio/charts/mixer/templates/statsdtoprom.yaml | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-statsd-prom-bridge | |
namespace: istio-system | |
labels: | |
chart: mixer-0.8.0 | |
release: RELEASE-NAME | |
istio: statsd-prom-bridge | |
spec: | |
ports: | |
- name: statsd-prom | |
port: 9102 | |
- name: statsd-udp | |
port: 9125 | |
protocol: UDP | |
selector: | |
istio: statsd-prom-bridge | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-statsd-prom-bridge | |
namespace: istio-system | |
labels: | |
chart: mixer-0.8.0 | |
release: RELEASE-NAME | |
istio: mixer | |
spec: | |
template: | |
metadata: | |
labels: | |
istio: statsd-prom-bridge | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-mixer-service-account | |
volumes: | |
- name: config-volume | |
configMap: | |
name: istio-statsd-prom-bridge | |
containers: | |
- name: statsd-prom-bridge | |
image: "prom/statsd-exporter:latest" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 9102 | |
- containerPort: 9125 | |
protocol: UDP | |
args: | |
- '-statsd.mapping-config=/etc/statsd/mapping.conf' | |
resources: | |
{} | |
volumeMounts: | |
- name: config-volume | |
mountPath: /etc/statsd | |
--- | |
# Source: istio/charts/pilot/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-pilot | |
namespace: istio-system | |
labels: | |
app: istio-pilot | |
chart: pilot-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
spec: | |
ports: | |
- port: 15003 | |
name: http-old-discovery # mTLS or non-mTLS depending on auth setting | |
- port: 15005 | |
name: https-discovery # always mTLS | |
- port: 15007 | |
name: http-discovery # always plain-text | |
- port: 15010 | |
name: grpc-xds # direct | |
- port: 15011 | |
name: https-xds # mTLS | |
- port: 8080 | |
name: http-legacy-discovery # direct | |
- port: 9093 | |
name: http-monitoring | |
selector: | |
istio: pilot | |
--- | |
# Source: istio/charts/security/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
# we use the normal name here (e.g. 'prometheus') | |
# as grafana is configured to use this as a data source | |
name: istio-citadel | |
namespace: istio-system | |
labels: | |
app: istio-citadel | |
spec: | |
ports: | |
- name: grpc-citadel | |
port: 8060 | |
targetPort: 8060 | |
protocol: TCP | |
- name: http-monitoring | |
port: 9093 | |
selector: | |
istio: citadel | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
labels: | |
istio: sidecar-injector | |
spec: | |
ports: | |
- port: 443 | |
selector: | |
istio: sidecar-injector | |
--- | |
# Source: istio/charts/egressgateway/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-egressgateway | |
namespace: istio-system | |
labels: | |
app: egressgateway | |
chart: egressgateway-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: egressgateway | |
spec: | |
replicas: | |
template: | |
metadata: | |
labels: | |
istio: egressgateway | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-egressgateway-service-account | |
containers: | |
- name: egressgateway | |
image: "docker.io/istio/proxyv2:0.8.0" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 80 | |
- containerPort: 443 | |
args: | |
- proxy | |
- router | |
- -v | |
- "2" | |
- --discoveryRefreshDelay | |
- '1s' #discoveryRefreshDelay | |
- --drainDuration | |
- '45s' #drainDuration | |
- --parentShutdownDuration | |
- '1m0s' #parentShutdownDuration | |
- --connectTimeout | |
- '10s' #connectTimeout | |
- --serviceCluster | |
- istio-egressgateway | |
- --zipkinAddress | |
- zipkin:9411 | |
- --statsdUdpAddress | |
- istio-statsd-prom-bridge:9125 | |
- --proxyAdminPort | |
- "15000" | |
- --controlPlaneAuthPolicy | |
- NONE | |
- --discoveryAddress | |
- istio-pilot:8080 | |
resources: | |
{} | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
fieldPath: status.podIP | |
- name: ISTIO_META_POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
volumeMounts: | |
- name: istio-certs | |
mountPath: /etc/certs | |
readOnly: true | |
volumes: | |
- name: istio-certs | |
secret: | |
secretName: "istio.default" | |
optional: true | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/ingress/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-ingress | |
namespace: istio-system | |
labels: | |
app: ingress | |
chart: ingress-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: ingress | |
spec: | |
replicas: | |
template: | |
metadata: | |
labels: | |
istio: ingress | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-ingress-service-account | |
containers: | |
- name: ingress | |
image: "docker.io/istio/proxy:0.8.0" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 80 | |
- containerPort: 443 | |
args: | |
- proxy | |
- ingress | |
- -v | |
- "2" | |
- --discoveryRefreshDelay | |
- '1s' #discoveryRefreshDelay | |
- --drainDuration | |
- '45s' #drainDuration | |
- --parentShutdownDuration | |
- '1m0s' #parentShutdownDuration | |
- --connectTimeout | |
- '10s' #connectTimeout | |
- --serviceCluster | |
- istio-ingress | |
- --zipkinAddress | |
- zipkin:9411 | |
- --statsdUdpAddress | |
- istio-statsd-prom-bridge:9125 | |
- --proxyAdminPort | |
- "15000" | |
- --controlPlaneAuthPolicy | |
- NONE | |
- --discoveryAddress | |
- istio-pilot:8080 | |
resources: | |
{} | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: status.podIP | |
volumeMounts: | |
- name: istio-certs | |
mountPath: /etc/certs | |
readOnly: true | |
- name: ingress-certs | |
mountPath: /etc/istio/ingress-certs | |
readOnly: true | |
volumes: | |
- name: istio-certs | |
secret: | |
secretName: "istio.default" | |
optional: true | |
- name: ingress-certs | |
secret: | |
secretName: istio-ingress-certs | |
optional: true | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/ingressgateway/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-ingressgateway | |
namespace: istio-system | |
labels: | |
app: ingressgateway | |
chart: ingressgateway-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: ingressgateway | |
spec: | |
replicas: | |
template: | |
metadata: | |
labels: | |
istio: ingressgateway | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-ingressgateway-service-account | |
containers: | |
- name: ingressgateway | |
image: "docker.io/istio/proxyv2:0.8.0" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 80 | |
- containerPort: 443 | |
- containerPort: 31400 | |
args: | |
- proxy | |
- router | |
- -v | |
- "2" | |
- --discoveryRefreshDelay | |
- '1s' #discoveryRefreshDelay | |
- --drainDuration | |
- '45s' #drainDuration | |
- --parentShutdownDuration | |
- '1m0s' #parentShutdownDuration | |
- --connectTimeout | |
- '10s' #connectTimeout | |
- --serviceCluster | |
- istio-ingressgateway | |
- --zipkinAddress | |
- zipkin:9411 | |
- --statsdUdpAddress | |
- istio-statsd-prom-bridge:9125 | |
- --proxyAdminPort | |
- "15000" | |
- --controlPlaneAuthPolicy | |
- NONE | |
- --discoveryAddress | |
- istio-pilot:8080 | |
resources: | |
{} | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: status.podIP | |
- name: ISTIO_META_POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
volumeMounts: | |
- name: istio-certs | |
mountPath: /etc/certs | |
readOnly: true | |
- name: ingressgateway-certs | |
mountPath: "/etc/istio/ingressgateway-certs" | |
readOnly: true | |
volumes: | |
- name: istio-certs | |
secret: | |
secretName: "istio.default" | |
optional: true | |
- name: ingressgateway-certs | |
secret: | |
secretName: "istio-ingressgateway-certs" | |
optional: true | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/mixer/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-policy | |
namespace: istio-system | |
labels: | |
chart: mixer-0.8.0 | |
release: RELEASE-NAME | |
istio: mixer | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
istio: mixer | |
istio-mixer-type: policy | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-mixer-service-account | |
volumes: | |
- name: istio-certs | |
secret: | |
secretName: istio.istio-mixer-service-account | |
optional: true | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
containers: | |
- name: mixer | |
image: "docker.io/istio/mixer:0.8.0" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 9092 | |
- containerPort: 9093 | |
- containerPort: 42422 | |
args: | |
- --address | |
- tcp://127.0.0.1:9092 | |
- --configStoreURL=k8s:// | |
- --configDefaultNamespace=istio-system | |
- --trace_zipkin_url=http://zipkin:9411/api/v1/spans | |
resources: | |
{} | |
- name: istio-proxy | |
image: "docker.io/istio/proxyv2:0.8.0" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 9091 | |
- containerPort: 15004 | |
args: | |
- proxy | |
- --serviceCluster | |
- istio-policy | |
- --templateFile | |
- /etc/istio/proxy/envoy_policy.yaml.tmpl | |
- --controlPlaneAuthPolicy | |
- NONE | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: status.podIP | |
resources: | |
requests: | |
cpu: 100m | |
memory: 128Mi | |
volumeMounts: | |
- name: istio-certs | |
mountPath: /etc/certs | |
readOnly: true | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-telemetry | |
namespace: istio-system | |
labels: | |
chart: mixer-0.8.0 | |
release: RELEASE-NAME | |
istio: mixer | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
istio: mixer | |
istio-mixer-type: telemetry | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-mixer-service-account | |
volumes: | |
- name: istio-certs | |
secret: | |
secretName: istio.istio-mixer-service-account | |
optional: true | |
containers: | |
- name: mixer | |
image: "docker.io/istio/mixer:0.8.0" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 9092 | |
- containerPort: 9093 | |
- containerPort: 42422 | |
args: | |
- --address | |
- tcp://127.0.0.1:9092 | |
- --configStoreURL=k8s:// | |
- --configDefaultNamespace=istio-system | |
- --trace_zipkin_url=http://zipkin:9411/api/v1/spans | |
resources: | |
{} | |
- name: istio-proxy | |
image: "docker.io/istio/proxyv2:0.8.0" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 9091 | |
- containerPort: 15004 | |
args: | |
- proxy | |
- --serviceCluster | |
- istio-telemetry | |
- --templateFile | |
- /etc/istio/proxy/envoy_telemetry.yaml.tmpl | |
- --controlPlaneAuthPolicy | |
- NONE | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: status.podIP | |
resources: | |
requests: | |
cpu: 100m | |
memory: 128Mi | |
volumeMounts: | |
- name: istio-certs | |
mountPath: /etc/certs | |
readOnly: true | |
--- | |
--- | |
# Source: istio/charts/pilot/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-pilot | |
namespace: istio-system | |
# TODO: default tempate doesn't have this, which one is right ? | |
labels: | |
app: istio-pilot | |
chart: pilot-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: pilot | |
annotations: | |
checksum/config-volume: f8da08b6b8c170dde721efd680270b2901e750d4aa186ebb6c22bef5b78a43f9 | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
istio: pilot | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-pilot-service-account | |
containers: | |
- name: discovery | |
image: "docker.io/istio/pilot:0.8.0" | |
imagePullPolicy: IfNotPresent | |
args: | |
- "discovery" | |
# TODO(sdake) remove when secrets are automagically registered | |
ports: | |
- containerPort: 8080 | |
- containerPort: 15010 | |
readinessProbe: | |
httpGet: | |
path: /v1/registration | |
port: 8080 | |
initialDelaySeconds: 30 | |
periodSeconds: 30 | |
timeoutSeconds: 5 | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: PILOT_THROTTLE | |
value: "500" | |
- name: PILOT_CACHE_SQUASH | |
value: "5" | |
resources: | |
{} | |
volumeMounts: | |
- name: config-volume | |
mountPath: /etc/istio/config | |
- name: istio-certs | |
mountPath: /etc/certs | |
readOnly: true | |
- name: istio-proxy | |
image: "docker.io/istio/proxyv2:0.8.0" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 15003 | |
- containerPort: 15005 | |
- containerPort: 15007 | |
- containerPort: 15011 | |
args: | |
- proxy | |
- --serviceCluster | |
- istio-pilot | |
- --templateFile | |
- /etc/istio/proxy/envoy_pilot.yaml.tmpl | |
- --controlPlaneAuthPolicy | |
- NONE | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: status.podIP | |
resources: | |
requests: | |
cpu: 100m | |
memory: 128Mi | |
volumeMounts: | |
- name: istio-certs | |
mountPath: /etc/certs | |
readOnly: true | |
volumes: | |
- name: config-volume | |
configMap: | |
name: istio | |
- name: istio-certs | |
secret: | |
secretName: "istio.istio-pilot-service-account" | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/security/templates/deployment.yaml | |
# istio CA watching all namespaces | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-citadel | |
namespace: istio-system | |
labels: | |
app: security | |
chart: security-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: citadel | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
istio: citadel | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-citadel-service-account | |
containers: | |
- name: citadel | |
image: "docker.io/istio/citadel:0.8.0" | |
imagePullPolicy: IfNotPresent | |
args: | |
- --append-dns-names=true | |
- --grpc-port=8060 | |
- --grpc-hostname=citadel | |
- --self-signed-ca=true | |
- --citadel-storage-namespace=istio-system | |
resources: | |
{} | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
labels: | |
app: sidecarInjectorWebhook | |
chart: sidecarInjectorWebhook-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
istio: sidecar-injector | |
spec: | |
replicas: | |
template: | |
metadata: | |
labels: | |
istio: sidecar-injector | |
spec: | |
serviceAccountName: istio-sidecar-injector-service-account | |
containers: | |
- name: sidecar-injector-webhook | |
image: "docker.io/istio/sidecar_injector:0.8.0" | |
imagePullPolicy: IfNotPresent | |
args: | |
- --caCertFile=/etc/istio/certs/root-cert.pem | |
- --tlsCertFile=/etc/istio/certs/cert-chain.pem | |
- --tlsKeyFile=/etc/istio/certs/key.pem | |
- --injectConfig=/etc/istio/inject/config | |
- --meshConfig=/etc/istio/config/mesh | |
- --healthCheckInterval=2s | |
- --healthCheckFile=/health | |
volumeMounts: | |
- name: config-volume | |
mountPath: /etc/istio/config | |
readOnly: true | |
- name: certs | |
mountPath: /etc/istio/certs | |
readOnly: true | |
- name: inject-config | |
mountPath: /etc/istio/inject | |
readOnly: true | |
livenessProbe: | |
exec: | |
command: | |
- /usr/local/bin/sidecar-injector | |
- probe | |
- --probe-path=/health | |
- --interval=2s | |
initialDelaySeconds: 4 | |
periodSeconds: 4 | |
readinessProbe: | |
exec: | |
command: | |
- /usr/local/bin/sidecar-injector | |
- probe | |
- --probe-path=/health | |
- --interval=2s | |
initialDelaySeconds: 4 | |
periodSeconds: 4 | |
volumes: | |
- name: config-volume | |
configMap: | |
name: istio | |
- name: certs | |
secret: | |
secretName: istio.istio-sidecar-injector-service-account | |
- name: inject-config | |
configMap: | |
name: istio-sidecar-injector | |
items: | |
- key: config | |
path: config | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/security/templates/cleanup-old-ca.yaml | |
apiVersion: batch/v1 | |
kind: Job | |
metadata: | |
name: istio-cleanup-old-ca | |
namespace: istio-system | |
annotations: | |
"helm.sh/hook": post-install | |
"helm.sh/hook-delete-policy": hook-succeeded | |
labels: | |
app: security | |
chart: security-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
spec: | |
template: | |
metadata: | |
name: istio-cleanup-old-ca | |
labels: | |
app: security | |
release: RELEASE-NAME | |
spec: | |
serviceAccountName: istio-cleanup-old-ca-service-account | |
containers: | |
- name: hyperkube | |
image: "quay.io/coreos/hyperkube:v1.7.6_coreos.0" | |
command: | |
- /bin/bash | |
- -c | |
- > | |
NS="-n istio-system"; | |
./kubectl get deploy istio-ca $NS; | |
if [[ $? = 0 ]]; then ./kubectl delete deploy istio-ca $NS; fi; | |
./kubectl get serviceaccount istio-ca-service-account $NS; | |
if [[ $? = 0 ]]; then ./kubectl delete serviceaccount istio-ca-service-account $NS; fi; | |
./kubectl get service istio-ca-ilb $NS; | |
if [[ $? = 0 ]]; then ./kubectl delete service istio-ca-ilb $NS; fi | |
restartPolicy: Never | |
--- | |
# Source: istio/charts/egressgateway/templates/autoscale.yaml | |
apiVersion: autoscaling/v2beta1 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
name: istio-egressgateway | |
namespace: istio-system | |
spec: | |
maxReplicas: 1 | |
minReplicas: 1 | |
scaleTargetRef: | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
name: istio-egressgateway | |
metrics: | |
- type: Resource | |
resource: | |
name: cpu | |
targetAverageUtilization: 80 | |
--- | |
# Source: istio/charts/ingress/templates/autoscale.yaml | |
apiVersion: autoscaling/v2beta1 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
name: istio-ingress | |
namespace: istio-system | |
spec: | |
maxReplicas: 1 | |
minReplicas: 1 | |
scaleTargetRef: | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
name: istio-ingress | |
metrics: | |
- type: Resource | |
resource: | |
name: cpu | |
targetAverageUtilization: 80 | |
--- | |
# Source: istio/charts/ingressgateway/templates/autoscale.yaml | |
apiVersion: autoscaling/v2beta1 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
name: istio-ingressgateway | |
namespace: istio-system | |
spec: | |
maxReplicas: 1 | |
minReplicas: 1 | |
scaleTargetRef: | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
name: istio-ingressgateway | |
metrics: | |
- type: Resource | |
resource: | |
name: cpu | |
targetAverageUtilization: 80 | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/mutatingwebhook.yaml | |
apiVersion: admissionregistration.k8s.io/v1beta1 | |
kind: MutatingWebhookConfiguration | |
metadata: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
labels: | |
app: istio-sidecar-injector | |
chart: sidecarInjectorWebhook-0.8.0 | |
release: RELEASE-NAME | |
heritage: Tiller | |
webhooks: | |
- name: sidecar-injector.istio.io | |
clientConfig: | |
service: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
path: "/inject" | |
caBundle: "" | |
rules: | |
- operations: [ "CREATE" ] | |
apiGroups: [""] | |
apiVersions: ["v1"] | |
resources: ["pods"] | |
failurePolicy: Fail | |
namespaceSelector: | |
matchLabels: | |
istio-injection: enabled | |
--- | |
# Source: istio/charts/mixer/templates/config.yaml | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
apiVersion: v1 | |
kind: Namespace | |
metadata: | |
name: knative-build | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: knative-build-admin | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- pods | |
- namespaces | |
- secrets | |
- events | |
- serviceaccounts | |
- configmaps | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
- apiGroups: | |
- extensions | |
resources: | |
- deployments | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
- apiGroups: | |
- admissionregistration.k8s.io | |
resources: | |
- mutatingwebhookconfigurations | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
- apiGroups: | |
- apiextensions.k8s.io | |
resources: | |
- customresourcedefinitions | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
- apiGroups: | |
- build.knative.dev | |
resources: | |
- builds | |
- buildtemplates | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: build-controller | |
namespace: knative-build | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: build-controller-admin | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: knative-build-admin | |
subjects: | |
- kind: ServiceAccount | |
name: build-controller | |
namespace: knative-build | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: builds.build.knative.dev | |
spec: | |
group: build.knative.dev | |
names: | |
kind: Build | |
plural: builds | |
scope: Namespaced | |
version: v1alpha1 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: buildtemplates.build.knative.dev | |
spec: | |
group: build.knative.dev | |
names: | |
kind: BuildTemplate | |
plural: buildtemplates | |
scope: Namespaced | |
version: v1alpha1 | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: build-controller | |
name: build-controller | |
namespace: knative-build | |
spec: | |
ports: | |
- name: metrics | |
port: 9090 | |
protocol: TCP | |
targetPort: 9090 | |
selector: | |
app: build-controller | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
role: build-webhook | |
name: build-webhook | |
namespace: knative-build | |
spec: | |
ports: | |
- port: 443 | |
targetPort: 443 | |
selector: | |
role: build-webhook | |
--- | |
apiVersion: v1 | |
data: | |
loglevel.autoscaler: info | |
loglevel.controller: info | |
loglevel.queueproxy: info | |
loglevel.webhook: info | |
zap-logger-config: | | |
{ | |
"level": "info", | |
"development": false, | |
"sampling": { | |
"initial": 100, | |
"thereafter": 100 | |
}, | |
"outputPaths": ["stdout"], | |
"errorOutputPaths": ["stderr"], | |
"encoding": "json", | |
"encoderConfig": { | |
"timeKey": "", | |
"levelKey": "level", | |
"nameKey": "logger", | |
"callerKey": "caller", | |
"messageKey": "msg", | |
"stacktraceKey": "stacktrace", | |
"lineEnding": "", | |
"levelEncoder": "", | |
"timeEncoder": "", | |
"durationEncoder": "", | |
"callerEncoder": "" | |
} | |
} | |
kind: ConfigMap | |
metadata: | |
name: config-logging | |
namespace: knative-build | |
--- | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
metadata: | |
name: build-controller | |
namespace: knative-build | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: build-controller | |
spec: | |
containers: | |
- args: | |
- -builder | |
- cluster | |
- -logtostderr | |
- -stderrthreshold | |
- INFO | |
- -creds-image | |
- gcr.io/build-crd/github.com/knative/build/cmd/creds-init@sha256:cfcc14889abe29b54d17ff6cf414918d9d92ff02bb112525742ec2e30117899f | |
- -git-image | |
- gcr.io/build-crd/github.com/knative/build/cmd/git-init@sha256:d52c29a4a1d83712b048bd32dbb5f97b7d2791af9b892f68fe94e162932ac66e | |
image: gcr.io/build-crd/github.com/knative/build/cmd/controller@sha256:9220968c9aae7e6edac97effc7b693fcf5bbb17edf78aa14347de87b15ac8840 | |
name: build-controller | |
serviceAccountName: build-controller | |
--- | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
metadata: | |
name: build-webhook | |
namespace: knative-build | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: build-webhook | |
role: build-webhook | |
spec: | |
containers: | |
- args: | |
- -builder | |
- cluster | |
- -logtostderr | |
- -stderrthreshold | |
- INFO | |
image: gcr.io/build-crd/github.com/knative/build/cmd/webhook@sha256:a7ed8fb8828f71a6aba3f9f9899eff6c867ceb5a8ceeaed903008c2296f919fb | |
name: build-webhook | |
volumeMounts: | |
- mountPath: /etc/config-logging | |
name: config-logging | |
serviceAccountName: build-controller | |
volumes: | |
- configMap: | |
name: config-logging | |
name: config-logging | |
--- | |
--- | |
apiVersion: v1 | |
kind: Namespace | |
metadata: | |
labels: | |
istio-injection: enabled | |
name: knative-serving | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: knative-serving-admin | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- pods | |
- namespaces | |
- secrets | |
- configmaps | |
- endpoints | |
- services | |
- events | |
- serviceaccounts | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
- apiGroups: | |
- extensions | |
resources: | |
- ingresses | |
- deployments | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
- apiGroups: | |
- apps | |
resources: | |
- deployments | |
- statefulsets | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
- apiGroups: | |
- admissionregistration.k8s.io | |
resources: | |
- mutatingwebhookconfigurations | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
- apiGroups: | |
- apiextensions.k8s.io | |
resources: | |
- customresourcedefinitions | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
- apiGroups: | |
- serving.knative.dev | |
resources: | |
- configurations | |
- configurationgenerations | |
- routes | |
- revisions | |
- revisionuids | |
- autoscalers | |
- services | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
- apiGroups: | |
- build.knative.dev | |
resources: | |
- builds | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
- apiGroups: | |
- networking.istio.io | |
resources: | |
- virtualservices | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: knative-serving-write | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- pods | |
- namespaces | |
- secrets | |
- configmaps | |
- endpoints | |
- services | |
- events | |
- serviceaccounts | |
verbs: | |
- get | |
- list | |
- update | |
- patch | |
- watch | |
- apiGroups: | |
- extensions | |
resources: | |
- ingresses | |
- deployments | |
verbs: | |
- get | |
- list | |
- update | |
- patch | |
- watch | |
- apiGroups: | |
- apps | |
resources: | |
- deployments | |
- statefulsets | |
verbs: | |
- get | |
- list | |
- update | |
- patch | |
- watch | |
- apiGroups: | |
- admissionregistration.k8s.io | |
resources: | |
- mutatingwebhookconfigurations | |
verbs: | |
- get | |
- list | |
- update | |
- patch | |
- watch | |
- apiGroups: | |
- apiextensions.k8s.io | |
resources: | |
- customresourcedefinitions | |
verbs: | |
- get | |
- list | |
- update | |
- patch | |
- watch | |
- apiGroups: | |
- serving.knative.dev | |
resources: | |
- configurations | |
- configurationgenerations | |
- routes | |
- revisions | |
- revisionuids | |
- autoscalers | |
- services | |
verbs: | |
- get | |
- list | |
- update | |
- patch | |
- watch | |
- apiGroups: | |
- build.knative.dev | |
resources: | |
- builds | |
verbs: | |
- get | |
- list | |
- update | |
- patch | |
- watch | |
- apiGroups: | |
- networking.istio.io | |
resources: | |
- virtualservices | |
verbs: | |
- get | |
- list | |
- create | |
- update | |
- delete | |
- patch | |
- watch | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: controller | |
namespace: knative-serving | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: autoscaler | |
namespace: knative-serving | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: knative-serving-controller-admin | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: knative-serving-admin | |
subjects: | |
- kind: ServiceAccount | |
name: controller | |
namespace: knative-serving | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: knative-serving-autoscaler-write | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: knative-serving-write | |
subjects: | |
- kind: ServiceAccount | |
name: autoscaler | |
namespace: knative-serving | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: Gateway | |
metadata: | |
name: knative-shared-gateway | |
namespace: knative-serving | |
spec: | |
selector: | |
knative: ingressgateway | |
servers: | |
- hosts: | |
- '*' | |
port: | |
name: http | |
number: 80 | |
protocol: HTTP | |
- hosts: | |
- '*' | |
port: | |
name: https | |
number: 443 | |
protocol: HTTPS | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
chart: ingressgateway-0.8.0 | |
heritage: Tiller | |
knative: ingressgateway | |
release: RELEASE-NAME | |
name: knative-ingressgateway | |
namespace: istio-system | |
spec: | |
ports: | |
- name: http | |
nodePort: 32380 | |
port: 80 | |
- name: https | |
nodePort: 32390 | |
port: 443 | |
- name: tcp | |
nodePort: 32400 | |
port: 32400 | |
selector: | |
knative: ingressgateway | |
type: LoadBalancer | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
labels: | |
app: knative-ingressgateway | |
chart: ingressgateway-0.8.0 | |
heritage: Tiller | |
knative: ingressgateway | |
release: RELEASE-NAME | |
name: knative-ingressgateway | |
namespace: istio-system | |
spec: | |
replicas: null | |
template: | |
metadata: | |
annotations: | |
sidecar.istio.io/inject: "false" | |
labels: | |
knative: ingressgateway | |
spec: | |
affinity: | |
nodeAffinity: | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
weight: 2 | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
weight: 2 | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
weight: 2 | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
containers: | |
- args: | |
- proxy | |
- router | |
- -v | |
- "2" | |
- --discoveryRefreshDelay | |
- 1s | |
- --drainDuration | |
- 45s | |
- --parentShutdownDuration | |
- 1m0s | |
- --connectTimeout | |
- 10s | |
- --serviceCluster | |
- knative-ingressgateway | |
- --zipkinAddress | |
- zipkin:9411 | |
- --statsdUdpAddress | |
- istio-statsd-prom-bridge:9125 | |
- --proxyAdminPort | |
- "15000" | |
- --controlPlaneAuthPolicy | |
- NONE | |
- --discoveryAddress | |
- istio-pilot:8080 | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: status.podIP | |
- name: ISTIO_META_POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
image: docker.io/istio/proxyv2:0.8.0 | |
imagePullPolicy: IfNotPresent | |
name: ingressgateway | |
ports: | |
- containerPort: 80 | |
- containerPort: 443 | |
- containerPort: 32400 | |
resources: {} | |
volumeMounts: | |
- mountPath: /etc/certs | |
name: istio-certs | |
readOnly: true | |
- mountPath: /etc/istio/ingressgateway-certs | |
name: ingressgateway-certs | |
readOnly: true | |
serviceAccountName: istio-ingressgateway-service-account | |
volumes: | |
- name: istio-certs | |
secret: | |
optional: true | |
secretName: istio.default | |
- name: ingressgateway-certs | |
secret: | |
optional: true | |
secretName: istio-ingressgateway-certs | |
--- | |
apiVersion: autoscaling/v2beta1 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
name: knative-ingressgateway | |
namespace: istio-system | |
spec: | |
maxReplicas: 10 | |
metrics: | |
- resource: | |
name: cpu | |
targetAverageUtilization: 60 | |
type: Resource | |
minReplicas: 1 | |
scaleTargetRef: | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
name: knative-ingressgateway | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: configurations.serving.knative.dev | |
spec: | |
group: serving.knative.dev | |
names: | |
kind: Configuration | |
plural: configurations | |
scope: Namespaced | |
version: v1alpha1 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: revisions.serving.knative.dev | |
spec: | |
group: serving.knative.dev | |
names: | |
kind: Revision | |
plural: revisions | |
scope: Namespaced | |
version: v1alpha1 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: routes.serving.knative.dev | |
spec: | |
group: serving.knative.dev | |
names: | |
kind: Route | |
plural: routes | |
scope: Namespaced | |
version: v1alpha1 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: services.serving.knative.dev | |
spec: | |
group: serving.knative.dev | |
names: | |
kind: Service | |
plural: services | |
scope: Namespaced | |
version: v1alpha1 | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: activator | |
name: activator-service | |
namespace: knative-serving | |
spec: | |
ports: | |
- name: http | |
port: 80 | |
protocol: TCP | |
targetPort: 8080 | |
selector: | |
app: activator | |
type: NodePort | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: controller | |
name: controller | |
namespace: knative-serving | |
spec: | |
ports: | |
- name: metrics | |
port: 9090 | |
protocol: TCP | |
targetPort: 9090 | |
selector: | |
app: controller | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
role: webhook | |
name: webhook | |
namespace: knative-serving | |
spec: | |
ports: | |
- port: 443 | |
targetPort: 443 | |
selector: | |
role: webhook | |
--- | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
metadata: | |
name: activator | |
namespace: knative-serving | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
annotations: | |
sidecar.istio.io/inject: "true" | |
labels: | |
app: activator | |
role: activator | |
spec: | |
containers: | |
- args: | |
- -logtostderr=true | |
- -stderrthreshold=INFO | |
image: gcr.io/knative-releases/github.com/knative/serving/cmd/activator@sha256:563847ff7f453f9cc6aa90e867f7fd34d699114a7de3d5e6a682b0fe062d8d45 | |
name: activator | |
ports: | |
- containerPort: 8080 | |
name: http | |
volumeMounts: | |
- mountPath: /etc/config-logging | |
name: config-logging | |
serviceAccountName: controller | |
volumes: | |
- configMap: | |
name: config-logging | |
name: config-logging | |
--- | |
apiVersion: v1 | |
data: | |
concurrency-quantum-of-time: 100ms | |
enable-scale-to-zero: "true" | |
enable-vertical-pod-autoscaling: "false" | |
max-scale-up-rate: "10" | |
multi-concurrency-target: "1.0" | |
panic-window: 6s | |
scale-to-zero-threshold: 5m | |
single-concurrency-target: "0.9" | |
stable-window: 60s | |
vpa-multi-concurrency-target: "10.0" | |
kind: ConfigMap | |
metadata: | |
name: config-autoscaler | |
namespace: knative-serving | |
--- | |
apiVersion: v1 | |
data: | |
autoscalerImage: gcr.io/knative-releases/github.com/knative/serving/cmd/autoscaler@sha256:bd112a7d5a4f1b522d4a5c35e226c7c9cf5995c7449b5a9f05fb93cb596c393c | |
queueSidecarImage: gcr.io/knative-releases/github.com/knative/serving/cmd/queue@sha256:db4688aa0527de107d21e8eba3e5d25a07adffbbc43afd559b221c2feadd50fa | |
registriesSkippingTagResolving: ko.local,dev.local | |
kind: ConfigMap | |
metadata: | |
name: config-controller | |
namespace: knative-serving | |
--- | |
apiVersion: v1 | |
data: | |
example.com: "" | |
kind: ConfigMap | |
metadata: | |
name: config-domain | |
namespace: knative-serving | |
--- | |
apiVersion: v1 | |
data: | |
loglevel.activator: info | |
loglevel.autoscaler: info | |
loglevel.controller: info | |
loglevel.queueproxy: info | |
loglevel.webhook: info | |
zap-logger-config: | | |
{ | |
"level": "info", | |
"development": false, | |
"outputPaths": ["stdout"], | |
"errorOutputPaths": ["stderr"], | |
"encoding": "json", | |
"encoderConfig": { | |
"timeKey": "ts", | |
"levelKey": "level", | |
"nameKey": "logger", | |
"callerKey": "caller", | |
"messageKey": "msg", | |
"stacktraceKey": "stacktrace", | |
"lineEnding": "", | |
"levelEncoder": "", | |
"timeEncoder": "iso8601", | |
"durationEncoder": "", | |
"callerEncoder": "" | |
} | |
} | |
kind: ConfigMap | |
metadata: | |
name: config-logging | |
namespace: knative-serving | |
--- | |
apiVersion: v1 | |
data: | |
istio.sidecar.includeOutboundIPRanges: '*' | |
kind: ConfigMap | |
metadata: | |
name: config-network | |
namespace: knative-serving | |
--- | |
apiVersion: v1 | |
data: | |
logging.enable-var-log-collection: "false" | |
logging.fluentd-sidecar-image: k8s.gcr.io/fluentd-elasticsearch:v2.0.4 | |
logging.fluentd-sidecar-output-config: | | |
# Parse json log before sending to Elastic Search | |
<filter **> | |
@type parser | |
key_name log | |
<parse> | |
@type multi_format | |
<pattern> | |
format json | |
time_key fluentd-time # fluentd-time is reserved for structured logs | |
time_format %Y-%m-%dT%H:%M:%S.%NZ | |
</pattern> | |
<pattern> | |
format none | |
message_key log | |
</pattern> | |
</parse> | |
</filter> | |
# Send to Elastic Search | |
<match **> | |
@id elasticsearch | |
@type elasticsearch | |
@log_level info | |
include_tag_key true | |
# Elasticsearch service is in monitoring namespace. | |
host elasticsearch-logging.monitoring | |
port 9200 | |
logstash_format true | |
<buffer> | |
@type file | |
path /var/log/fluentd-buffers/kubernetes.system.buffer | |
flush_mode interval | |
retry_type exponential_backoff | |
flush_thread_count 2 | |
flush_interval 5s | |
retry_forever | |
retry_max_interval 30 | |
chunk_limit_size 2M | |
queue_limit_length 8 | |
overflow_action block | |
</buffer> | |
</match> | |
logging.revision-url-template: | | |
http://localhost:8001/api/v1/namespaces/monitoring/services/kibana-logging/proxy/app/kibana#/discover?_a=(query:(match:(kubernetes.labels.knative-dev%2FrevisionUID:(query:'${REVISION_UID}',type:phrase)))) | |
kind: ConfigMap | |
metadata: | |
name: config-observability | |
namespace: knative-serving | |
--- | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
metadata: | |
name: controller | |
namespace: knative-serving | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
annotations: | |
sidecar.istio.io/inject: "false" | |
labels: | |
app: controller | |
spec: | |
containers: | |
- image: gcr.io/knative-releases/github.com/knative/serving/cmd/controller@sha256:dcb11313b289c52a12dafdc2cceec11bcf3733f1196945f4bee6b9ecb5d6d28f | |
name: controller | |
ports: | |
- containerPort: 9090 | |
name: metrics | |
volumeMounts: | |
- mountPath: /etc/config-logging | |
name: config-logging | |
serviceAccountName: controller | |
volumes: | |
- configMap: | |
name: config-logging | |
name: config-logging | |
--- | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
metadata: | |
name: webhook | |
namespace: knative-serving | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
annotations: | |
sidecar.istio.io/inject: "false" | |
labels: | |
app: webhook | |
role: webhook | |
spec: | |
containers: | |
- image: gcr.io/knative-releases/github.com/knative/serving/cmd/webhook@sha256:3c282052425325a060cae154b52c55c65c643ca8b517986712dcc2c97bdd6715 | |
name: webhook | |
volumeMounts: | |
- mountPath: /etc/config-logging | |
name: config-logging | |
serviceAccountName: controller | |
volumes: | |
- configMap: | |
name: config-logging | |
name: config-logging | |
--- | |
--- | |
apiVersion: v1 | |
kind: Namespace | |
metadata: | |
name: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
100.system.conf: |- | |
<system> | |
root_dir /tmp/fluentd-buffers/ | |
</system> | |
200.containers.input.conf: |- | |
<source> | |
@id fluentd-containers.log | |
@type tail | |
path /var/log/containers/*user-container-*.log,/var/log/containers/*build-step-*.log | |
pos_file /var/log/es-containers.log.pos | |
time_format %Y-%m-%dT%H:%M:%S.%NZ | |
tag raw.kubernetes.* | |
format json | |
read_from_head true | |
</source> | |
# Combine multi line logs which form an exception stack trace into a single log entry | |
<match raw.kubernetes.**> | |
@id raw.kubernetes | |
@type detect_exceptions | |
remove_tag_prefix raw | |
message log | |
stream stream | |
multiline_flush_interval 5 | |
max_bytes 500000 | |
max_lines 1000 | |
</match> | |
# Add Kubernetes metadata | |
<filter kubernetes.**> | |
@type kubernetes_metadata | |
</filter> | |
300.forward.input.conf: |- | |
# Takes the messages sent over TCP, e.g. request logs from Istio | |
<source> | |
@type forward | |
port 24224 | |
</source> | |
900.output.conf: |- | |
# Send to Elastic Search | |
<match **> | |
@id elasticsearch | |
@type elasticsearch | |
@log_level info | |
include_tag_key true | |
host elasticsearch-logging | |
port 9200 | |
logstash_format true | |
<buffer> | |
@type file | |
path /var/log/fluentd-buffers/kubernetes.system.buffer | |
flush_mode interval | |
retry_type exponential_backoff | |
flush_thread_count 2 | |
flush_interval 5s | |
retry_forever | |
retry_max_interval 30 | |
chunk_limit_size 2M | |
queue_limit_length 8 | |
overflow_action block | |
</buffer> | |
</match> | |
kind: ConfigMap | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
name: fluentd-ds-config | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
scaling-dashboard.json: |- | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"description": "Knative Serving - Scaling", | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"iteration": 1525724908045, | |
"links": [], | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 17, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 2, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "Panic Mode", | |
"color": "#f29191", | |
"dashes": true, | |
"fill": 2, | |
"linewidth": 2, | |
"steppedLine": true, | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": true, | |
"targets": [ | |
{ | |
"expr": "autoscaler_actual_pod_count{configuration_namespace=\"$namespace\", configuration=\"$configuration\", revision=\"$revision\"}", | |
"format": "time_series", | |
"interval": "1s", | |
"intervalFactor": 1, | |
"legendFormat": "Actual Pods", | |
"refId": "A" | |
}, | |
{ | |
"expr": "autoscaler_desired_pod_count{configuration_namespace=\"$namespace\", configuration=\"$configuration\", revision=\"$revision\"} ", | |
"format": "time_series", | |
"interval": "1s", | |
"intervalFactor": 1, | |
"legendFormat": "Desired Pods", | |
"refId": "B" | |
}, | |
{ | |
"expr": "autoscaler_requested_pod_count{configuration_namespace=\"$namespace\", configuration=\"$configuration\", revision=\"$revision\"} ", | |
"format": "time_series", | |
"interval": "1s", | |
"intervalFactor": 1, | |
"legendFormat": "Requested Pods", | |
"refId": "C" | |
}, | |
{ | |
"expr": "autoscaler_panic_mode{configuration_namespace=\"$namespace\", configuration=\"$configuration\", revision=\"$revision\"} ", | |
"format": "time_series", | |
"hide": false, | |
"instant": false, | |
"interval": "1s", | |
"intervalFactor": 1, | |
"legendFormat": "Panic Mode", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Revision Pod Counts", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"decimals": null, | |
"format": "short", | |
"label": "Panic Mode", | |
"logBase": 1, | |
"max": "1.0", | |
"min": "0", | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 0, | |
"y": 17 | |
}, | |
"id": 4, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(kube_pod_container_resource_requests_cpu_cores{namespace=\"$namespace\", pod=~\"$revision-deployment-.*\"})", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "Cores requested", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod_name=~\"$revision-deployment-.*\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Cores used", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(kube_pod_container_resource_limits_cpu_cores{namespace=\"$namespace\", pod=~\"$revision-deployment-.*\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Core limit", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Revision CPU Usage", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 12, | |
"y": 17 | |
}, | |
"id": 6, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(kube_pod_container_resource_requests_memory_bytes{namespace=\"$namespace\", pod=~\"$revision-deployment-.*\"})", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "Memory requested", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace=\"$namespace\", pod_name=~\"$revision-deployment-.*\"})", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Memory used", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(kube_pod_container_resource_limits_memory_bytes{namespace=\"$namespace\", pod=~\"$revision-deployment-.*\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Pod Memory Usage", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Namespace", | |
"multi": false, | |
"name": "namespace", | |
"options": [], | |
"query": "label_values(autoscaler_actual_pod_count, configuration_namespace)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Configuration", | |
"multi": false, | |
"name": "configuration", | |
"options": [], | |
"query": "label_values(autoscaler_actual_pod_count{configuration_namespace=\"$namespace\"}, configuration)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Revision", | |
"multi": false, | |
"name": "revision", | |
"options": [], | |
"query": "label_values(autoscaler_actual_pod_count{configuration_namespace=\"$namespace\", configuration=\"$configuration\"}, revision)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 2, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-15m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "", | |
"title": "Knative Serving - Scaling", | |
"uid": "u_-9SIMiz", | |
"version": 4 | |
} | |
kind: ConfigMap | |
metadata: | |
name: scaling-config | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
istio-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"iteration": 1518735681119, | |
"links": [ | |
{ | |
"icon": "external link", | |
"tags": [], | |
"title": "istio.io", | |
"tooltip": "Istio Home", | |
"type": "link", | |
"url": "https://istio.io/" | |
} | |
], | |
"panels": [ | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 50, | |
"panels": [], | |
"repeat": null, | |
"title": "Row title", | |
"type": "row" | |
}, | |
{ | |
"content": "<div>\n <div style=\"position: absolute; bottom: 0\">\n <a href=\"https://istio.io\" target=\"_blank\" style=\"font-size: 30px; text-decoration: none; color: inherit\"><img src=\"https://istio.io/img/istio-logo.svg\" style=\"height: 50px\"> Istio</a>\n </div>\n <div style=\"position: absolute; bottom: 0; right: 0; font-size: 15px\">\n Istio is an <a href=\"https://github.com/istio/istio\" target=\"_blank\">open platform</a> that provides a uniform way to connect,\n <a href=\"https://istio.io/docs/concepts/traffic-management/overview.html\" target=\"_blank\">manage</a>, and \n <a href=\"https://istio.io/docs/concepts/network-and-auth/auth.html\" target=\"_blank\">secure</a> microservices.\n <br>\n Need help? Join the <a href=\"https://istio.io/community/\" target=\"_blank\">Istio community</a>.\n </div>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 1 | |
}, | |
"height": "50px", | |
"id": 13, | |
"links": [], | |
"mode": "html", | |
"style": { | |
"font-size": "18pt" | |
}, | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 4 | |
}, | |
"id": 51, | |
"panels": [], | |
"repeat": null, | |
"title": "Dashboard Row", | |
"type": "row" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 0, | |
"y": 5 | |
}, | |
"id": 20, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_request_count[1m])), 0.001)", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Global Request Volume", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 80, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 6, | |
"y": 5 | |
}, | |
"id": 21, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(rate(istio_request_count{response_code!~\"5.*\"}[1m])) / sum(rate(istio_request_count[1m]))", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "95, 99, 99.5", | |
"title": "Global Success Rate (non-5xx responses)", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 12, | |
"y": 5 | |
}, | |
"id": 22, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_request_count{response_code=~\"4.*\"}[1m])) ", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "4xxs", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 18, | |
"y": 5 | |
}, | |
"id": 23, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_request_count{response_code=~\"5.*\"}[1m])) ", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "5xxs", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 8 | |
}, | |
"id": 52, | |
"panels": [], | |
"repeat": null, | |
"title": "Service Mesh", | |
"type": "row" | |
}, | |
{ | |
"content": "<div class=\"text-center dashboard-header\">\n <span>Service Mesh</span>\n</div>\n", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 9 | |
}, | |
"height": "30px", | |
"id": 24, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 0, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 12 | |
}, | |
"id": 1, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_request_count{source_service=~\"$source\",source_version=~\"$source_version\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\"}[1m])), 0.001)", | |
"intervalFactor": 1, | |
"legendFormat": "All", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_request_count{source_service=~\"$source\",source_version=~\"$source_version\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",response_code=\"200\"}[1m])), 0.001)", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "200s", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_request_count{source_service=~\"$source\",source_version=~\"$source_version\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",response_code=~\"4.*\"}[1m])), 0.001)", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "400s", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_request_count{source_service=~\"$source\",source_version=~\"$source_version\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",connection_mtls=\"true\"}[1m])), 0.001)", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "All Secured Requests", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_request_count{source_service=~\"$source\",source_version=~\"$source_version\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",connection_mtls=\"false\"}[1m])), 0.001)", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "All Unsecured Requests", | |
"refId": "E", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Request Volume", | |
"tooltip": { | |
"shared": false, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
"total" | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 12 | |
}, | |
"id": 7, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(sum(irate(istio_request_count{destination_service=~\"$http_destination\",source_service=~\"$source\",response_code!~\"5.*\",destination_version=~\"$destination_version\"}[1m])) by (destination_service) / sum(irate(istio_request_count{destination_service=~\"$http_destination\",source_service=~\"$source\",destination_version=~\"$destination_version\"}[1m])) by (destination_service), \"destination_service\", \"$1\", \"destination_service\", \"(.*).svc.cluster.local\")", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Success Rate by Service (non-5xx responses)", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"label": null, | |
"logBase": 1, | |
"max": "1.01", | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 12 | |
}, | |
"id": 8, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(sum(irate(istio_request_count{source_service=~\"$source\",source_version=~\"$source_version\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",response_code=~\"4.*\"}[1m])) by (destination_service), \"destination_service\", \"$1\", \"destination_service\", \"(.*).svc.cluster.local\")", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "4xxs by Service", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 12 | |
}, | |
"id": 25, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(sum(irate(istio_request_count{source_service=~\"$source\",source_version=~\"$source_version\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",response_code=~\"5.*\"}[1m])) by (destination_service) , \"destination_service\", \"$1\", \"destination_service\", \"(.*).svc.cluster.local\")", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "5xxs by Service", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 19 | |
}, | |
"id": 53, | |
"panels": [], | |
"repeat": null, | |
"title": "Services", | |
"type": "row" | |
}, | |
{ | |
"content": "<div class=\"text-center dashboard-header\">\n <span>HTTP Services</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 20 | |
}, | |
"height": "50px", | |
"id": 26, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 23 | |
}, | |
"id": 54, | |
"panels": [], | |
"repeat": "http_destination", | |
"title": "$http_destination", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 0, | |
"y": 24 | |
}, | |
"id": 27, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(round(sum(irate(istio_request_count{destination_service=~\"$http_destination\",destination_version=~\"$destination_version\"}[1m])) by (source_service, source_version, destination_version, response_code), 0.001), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_service }}-{{ source_version}} -> {{destination_version}} : {{ response_code }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Requests by Source, Version, and Response Code", | |
"tooltip": { | |
"shared": false, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
"total" | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 6, | |
"y": 24 | |
}, | |
"id": 30, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(sum(irate(istio_request_count{source_version=~\"$source_version\",destination_service=~\"$http_destination\",source_service=~\"$source\",destination_version=~\"$destination_version\",response_code!~\"5.*\"}[1m])) by (source_service, source_version, destination_version) / sum(irate(istio_request_count{source_version=~\"$source_version\",destination_service=~\"$http_destination\",source_service=~\"$source\",destination_version=~\"$destination_version\"}[1m])) by (source_service, source_version, destination_version), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_service}}-{{source_version}} -> {{destination_version}}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Success Rate by Source and Version (non-5xx responses)", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"label": null, | |
"logBase": 1, | |
"max": "1.01", | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 12, | |
"y": 24 | |
}, | |
"id": 28, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(histogram_quantile(0.50, sum(irate(istio_request_duration_bucket{source_service=~\"$source\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",source_version=~\"$source_version\"}[1m])) by (source_service, source_version, destination_version, le)), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_service }}-{{ source_version }} -> {{ destination_version }} (p50)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.90, sum(irate(istio_request_duration_bucket{source_service=~\"$source\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",source_version=~\"$source_version\"}[1m])) by (source_service, source_version,destination_version, le)), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_service }}-{{source_version}} -> {{ destination_version }} (p90)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.95, sum(irate(istio_request_duration_bucket{source_service=~\"$source\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",source_version=~\"$source_version\"}[1m])) by (source_service, source_version,destination_version, le)), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_service }}-{{source_version}} -> {{ destination_version }} (p95)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.99, sum(irate(istio_request_duration_bucket{source_service=~\"$source\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",source_version=~\"$source_version\"}[1m])) by (source_service, source_version, destination_version, le)), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_service }}-{{source_version}} -> {{ destination_version }} (p99)", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Time by Source and Version", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 18, | |
"y": 24 | |
}, | |
"id": 29, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(histogram_quantile(0.50, sum(irate(istio_response_size_bucket{source_service=~\"$source\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",source_version=~\"$source_version\"}[1m])) by (source_service, source_version, destination_version, le)), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_service }}-{{ source_version }} -> {{ destination_version }} (p50)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.90, sum(irate(istio_response_size_bucket{source_service=~\"$source\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",source_version=~\"$source_version\"}[1m])) by (source_service, source_version, destination_version, le)), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_service }}-{{ source_version }} -> {{ destination_version }} (p90)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.95, sum(irate(istio_response_size_bucket{source_service=~\"$source\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",source_version=~\"$source_version\"}[1m])) by (source_service, source_version, destination_version, le)), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_service }}-{{ source_version }} -> {{ destination_version }} (p95)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.99, sum(irate(istio_response_size_bucket{source_service=~\"$source\",destination_service=~\"$http_destination\",destination_version=~\"$destination_version\",source_version=~\"$source_version\"}[1m])) by (source_service, source_version, destination_version, le)), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_service }}-{{ source_version }} -> {{ destination_version }} (p99)", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Size by Source and Version", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 30 | |
}, | |
"id": 55, | |
"panels": [], | |
"repeat": null, | |
"title": "TCP Services", | |
"type": "row" | |
}, | |
{ | |
"content": "<div class=\"text-center dashboard-header\">\n <span>TCP Services</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 31 | |
}, | |
"height": "50px", | |
"id": 49, | |
"links": [], | |
"mode": "html", | |
"repeat": null, | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 34 | |
}, | |
"id": 56, | |
"panels": [], | |
"repeat": "tcp_destination", | |
"title": "$tcp_destination", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 35 | |
}, | |
"id": 47, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(round(sum(irate(istio_tcp_bytes_received{destination_service=~\"$tcp_destination\",destination_version=~\"$destination_version\", source_service=~\"$source\", source_version=~\"$source_version\"}[1m])) by (source_service, source_version, destination_version), 0.001), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_service }}-{{ source_version}} -> {{ destination_version }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Received", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 35 | |
}, | |
"id": 48, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(round(sum(irate(istio_tcp_bytes_sent{destination_service=~\"$tcp_destination\",destination_version=~\"$destination_version\", source_service=~\"$source\", source_version=~\"$source_version\"}[1m])) by (source_service, source_version, destination_version), 0.001), \"source_service\", \"$1\", \"source_service\", \"(.*).svc.cluster.local\")", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_version }} -> {{ source_service }}-{{source_version}} ", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Sent", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Source", | |
"multi": true, | |
"name": "source", | |
"options": [], | |
"query": "label_values(source_service)", | |
"refresh": 1, | |
"regex": ".+", | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Source Version", | |
"multi": true, | |
"name": "source_version", | |
"options": [], | |
"query": "label_values(source_version)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 2, | |
"includeAll": true, | |
"label": "Destination", | |
"multi": true, | |
"name": "destination", | |
"options": [], | |
"query": "label_values(destination_service)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "HTTP Destination", | |
"multi": true, | |
"name": "http_destination", | |
"options": [], | |
"query": "label_values(istio_request_count, destination_service)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "TCP Destination", | |
"multi": true, | |
"name": "tcp_destination", | |
"options": [], | |
"query": "label_values(istio_tcp_bytes_received, destination_service)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Destination Version", | |
"multi": true, | |
"name": "destination_version", | |
"options": [], | |
"query": "label_values(destination_version)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-5m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Istio Dashboard", | |
"uid": "1", | |
"version": 1 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-istio | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
mixer-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"name": "prometheus", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 1, | |
"id": null, | |
"iteration": 1520470122238, | |
"links": [], | |
"panels": [ | |
{ | |
"content": "<center><h2>Resource Usage</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"height": "40", | |
"id": 29, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 3 | |
}, | |
"id": 5, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(process_virtual_memory_bytes{job=~\"mixer-.*\"}) by (job)", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Virtual Memory ({{ job }})", | |
"refId": "I" | |
}, | |
{ | |
"expr": "sum(process_resident_memory_bytes{job=~\"mixer-.*\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Resident Memory ({{ job }})", | |
"refId": "H" | |
}, | |
{ | |
"expr": "sum(go_memstats_heap_sys_bytes{job=~\"mixer-.*\"}) by (job)", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap sys ({{ job }})", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(go_memstats_heap_alloc_bytes{job=~\"mixer-.*\"}) by (job)", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap alloc ({{ job }})", | |
"refId": "D" | |
}, | |
{ | |
"expr": "sum(go_memstats_alloc_bytes{job=~\"mixer-.*\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Alloc ({{ job }})", | |
"refId": "F" | |
}, | |
{ | |
"expr": "sum(go_memstats_heap_inuse_bytes{job=~\"mixer-.*\"}) by (job)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Heap in-use ({{ job }})", | |
"refId": "E" | |
}, | |
{ | |
"expr": "sum(go_memstats_stack_inuse_bytes{job=~\"mixer-.*\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Stack in-use ({{ job }})", | |
"refId": "G" | |
}, | |
{ | |
"expr": "sum(label_replace(container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (service)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} total (k8s)", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(label_replace(container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} - {{ container_name }} (k8s)", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Memory", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 3 | |
}, | |
"id": 6, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(label_replace(container_cpu_usage_seconds_total{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (service)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} total (k8s)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(label_replace(container_cpu_usage_seconds_total{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} - {{ container_name }} (k8s)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(irate(process_cpu_seconds_total{job=~\"mixer-.*\"}[1m])) by (job)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ job }} (self-reported)", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "CPU", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 3 | |
}, | |
"id": 7, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(process_open_fds{job=~\"mixer-.*\"}) by (job)", | |
"format": "time_series", | |
"hide": true, | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "Open FDs ({{ job }})", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(label_replace(container_fs_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} - {{ container_name }}", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Disk", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"decimals": null, | |
"format": "none", | |
"label": "", | |
"logBase": 1024, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 3 | |
}, | |
"id": 4, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": false, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(go_goroutines{job=~\"mixer-.*\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Number of Goroutines ({{ job }})", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Goroutines", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"content": "<center><h2>Mixer Overview</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 10 | |
}, | |
"height": "40px", | |
"id": 30, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 0, | |
"y": 13 | |
}, | |
"id": 9, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(envoy_cluster_mixer_check_server_upstream_rq_total[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "envoy (Check)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "rate(envoy_cluster_mixer_report_server_upstream_rq_total[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "envoy (Report)", | |
"refId": "D" | |
}, | |
{ | |
"expr": "sum(rate(grpc_server_handled_total[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "mixer (Total)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "rate(grpc_server_handled_total[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "mixer ({{ grpc_method }})", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Requests", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 6, | |
"y": 13 | |
}, | |
"id": 8, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "{}", | |
"yaxis": 1 | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "envoy_cluster_mixer_check_server_upstream_rq_time", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ quantile }} (envoy Check)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "envoy_cluster_mixer_report_server_upstream_rq_time", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ quantile }} (envoy Report)", | |
"refId": "E" | |
}, | |
{ | |
"expr": "histogram_quantile(0.5, sum(rate(grpc_server_handling_seconds_bucket{}[1m])) by (grpc_method, le)) * 1000", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ grpc_method }} 0.5", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.9, sum(rate(grpc_server_handling_seconds_bucket{}[1m])) by (grpc_method, le)) * 1000", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ grpc_method }} 0.9", | |
"refId": "C" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(rate(grpc_server_handling_seconds_bucket{}[1m])) by (grpc_method, le)) * 1000", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ grpc_method }} 0.99", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Durations", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ms", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 12, | |
"y": 13 | |
}, | |
"id": 11, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(envoy_cluster_mixer_check_server_upstream_rq_5xx[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Envoy Check", | |
"refId": "A" | |
}, | |
{ | |
"expr": "rate(envoy_cluster_mixer_report_server_upstream_rq_5xx[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Envoy Report", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(rate(grpc_server_handled_total{grpc_code=~\"Unknown|Unimplemented|Internal|DataLoss\"}[1m])) by (grpc_method)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Mixer {{ grpc_method }}", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Server Error Rate (5xx responses)", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 18, | |
"y": 13 | |
}, | |
"id": 12, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "irate(envoy_cluster_mixer_check_server_upstream_rq_4xx[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Envoy Check", | |
"refId": "A" | |
}, | |
{ | |
"expr": "irate(envoy_cluster_mixer_report_server_upstream_rq_4xx[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Envoy Report", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(irate(grpc_server_handled_total{grpc_code!=\"OK\",grpc_service=~\".*Mixer\"}[1m])) by (grpc_method)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Mixer {{ grpc_method }}", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Non-successes (4xxs)", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 19 | |
}, | |
"id": 10, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "envoy_cluster_mixer_check_server_upstream_cx_active", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Active (mixer_check_server)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "envoy_cluster_mixer_report_server_upstream_cx_active", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Active (mixer_report_server)", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Connections", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 19 | |
}, | |
"id": 1, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "envoy_cluster_mixer_check_server_membership_healthy", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Healthy (mixer_check_server)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "envoy_cluster_mixer_check_server_membership_total", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total (mixer_check_server)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "envoy_cluster_mixer_report_server_membership_healthy", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Healthy (mixer_report_server)", | |
"refId": "C" | |
}, | |
{ | |
"expr": "envoy_cluster_mixer_report_server_membership_total", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total (mixer_report_server)", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Cluster Membership", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 19 | |
}, | |
"id": 35, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(envoy_cluster_mixer_check_server_outlier_detection_ejections_enforced_total[1m])", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total Ejections (mixer_check_server)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "rate(envoy_cluster_mixer_check_server_outlier_detection_ejections_overflow[1m])", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Overflow Ejections (mixer_check_server)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "envoy_cluster_mixer_check_server_outlier_detection_ejections_active", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Active Ejections (mixer_check_server)", | |
"refId": "C" | |
}, | |
{ | |
"expr": "rate(envoy_cluster_mixer_report_server_outlier_detection_ejections_enforced_total[1m])", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total Ejections (mixer_report_server)", | |
"refId": "D" | |
}, | |
{ | |
"expr": "rate(envoy_cluster_mixer_report_server_outlier_detection_ejections_overflow[1m])", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Overflow Ejections (mixer_report_server)", | |
"refId": "E" | |
}, | |
{ | |
"expr": "envoy_cluster_mixer_report_server_outlier_detection_ejections_active", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Active Ejections (mixer_report_server)", | |
"refId": "F" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Outliers", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 19 | |
}, | |
"id": 36, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "irate(envoy_cluster_mixer_check_server_upstream_rq_retry[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Total (mixer_check_server)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "irate(envoy_cluster_mixer_check_server_upstream_rq_retry_success[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Success (mixer_check_server)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "irate(envoy_cluster_mixer_check_server_upstream_rq_retry_overflow[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Overflow (mixer_check_server)", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Client Retries", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"content": "<center><h2>Adapters and Config</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 26 | |
}, | |
"id": 28, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 0, | |
"y": 29 | |
}, | |
"id": 13, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(mixer_runtime_dispatch_count{adapter=~\"$adapter\"}[1m])) by (adapter)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Adapter Dispatch Count", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 12, | |
"y": 29 | |
}, | |
"id": 14, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.5, sum(irate(mixer_runtime_dispatch_duration_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }} - p50", | |
"refId": "A" | |
}, | |
{ | |
"expr": "histogram_quantile(0.9, sum(irate(mixer_runtime_dispatch_duration_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }} - p90 ", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(mixer_runtime_dispatch_duration_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }} - p99", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Adapter Dispatch Duration", | |
"tooltip": { | |
"shared": true, | |
"sort": 1, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 36 | |
}, | |
"id": 60, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_rule_config_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Rules", | |
"refId": "A" | |
}, | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_rule_config_error_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Config Errors", | |
"refId": "B" | |
}, | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_rule_config_match_error_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Match Errors", | |
"refId": "C" | |
}, | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_unsatisfied_action_handler_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Unsatisfied Actions", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Rules", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 36 | |
}, | |
"id": 56, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_instance_config_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Instances", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Instances in Latest Config", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 36 | |
}, | |
"id": 54, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_handler_config_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Handlers", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Handlers in Latest Config", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 36 | |
}, | |
"id": 58, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_attribute_count) by (configID)))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "Attributes", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Attributes in Latest Config", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"content": "<center><h2>Individual Adapters</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 43 | |
}, | |
"id": 23, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 46 | |
}, | |
"id": 46, | |
"panels": [], | |
"repeat": "adapter", | |
"title": "$adapter Adapter", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 0, | |
"y": 47 | |
}, | |
"id": 17, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(irate(mixer_runtime_dispatch_count{adapter=\"$adapter\"}[1m]),\"handler\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ handler }} (error: {{ error }})", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Dispatch Count By Handler", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 12, | |
"y": 47 | |
}, | |
"id": 18, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(histogram_quantile(0.5, sum(rate(mixer_runtime_dispatch_duration_bucket{adapter=\"$adapter\"}[1m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "p50 - {{ handler_short }} (error: {{ error }})", | |
"refId": "A" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.9, sum(irate(mixer_runtime_dispatch_duration_bucket{adapter=\"$adapter\"}[1m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "p90 - {{ handler_short }} (error: {{ error }})", | |
"refId": "D" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.99, sum(irate(mixer_runtime_dispatch_duration_bucket{adapter=\"$adapter\"}[1m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "p99 - {{ handler_short }} (error: {{ error }})", | |
"refId": "E" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Dispatch Duration By Handler", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Adapter", | |
"multi": true, | |
"name": "adapter", | |
"options": [], | |
"query": "label_values(adapter)", | |
"refresh": 2, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-5m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "", | |
"title": "Mixer Dashboard", | |
"uid": "2", | |
"version": 9 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-mixer | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
pilot-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"name": "prometheus", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 1, | |
"id": null, | |
"links": [], | |
"panels": [ | |
{ | |
"content": "<center><h2>Resource Usage</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"height": "40", | |
"id": 29, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 3 | |
}, | |
"id": 5, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "process_virtual_memory_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Virtual Memory", | |
"refId": "I", | |
"step": 2 | |
}, | |
{ | |
"expr": "process_resident_memory_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Resident Memory", | |
"refId": "H", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_heap_sys_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap sys", | |
"refId": "A" | |
}, | |
{ | |
"expr": "go_memstats_heap_alloc_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap alloc", | |
"refId": "D" | |
}, | |
{ | |
"expr": "go_memstats_alloc_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Alloc", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_heap_inuse_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Heap in-use", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_stack_inuse_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Stack in-use", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"})", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total (k8s)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ container_name }} (k8s)", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Memory", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 3 | |
}, | |
"id": 6, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total (k8s)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[1m])) by (container_name)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ container_name }} (k8s)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "irate(process_cpu_seconds_total{job=\"pilot\"}[1m])", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "pilot (self-reported)", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "CPU", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 3 | |
}, | |
"id": 7, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "process_open_fds{job=\"pilot\"}", | |
"format": "time_series", | |
"hide": true, | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "Open FDs (pilot)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "container_fs_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ container_name }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Disk", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"decimals": null, | |
"format": "none", | |
"label": "", | |
"logBase": 1024, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 3 | |
}, | |
"id": 4, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": false, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "go_goroutines{job=\"pilot\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Number of Goroutines", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Goroutines", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"content": "<center><h2>Pilot Overview</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 10 | |
}, | |
"height": "40px", | |
"id": 30, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 13 | |
}, | |
"id": 9, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(pilot_discovery_calls[1m])) by (method)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ method }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Discovery Calls", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 13 | |
}, | |
"id": 12, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(pilot_discovery_errors[1m])) by (method)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ method }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Discovery Errors", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 13 | |
}, | |
"id": 38, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(pilot_discovery_cache_size) by (cache_name)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ cache_name }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Discovery Cache Sizes", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 13 | |
}, | |
"id": 39, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.5, sum(irate(pilot_discovery_resources_bucket[1m])) by (le, method))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ method }} - p50", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.9, sum(irate(pilot_discovery_resources_bucket[1m])) by (le, method))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ method }} - p90", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(pilot_discovery_resources_bucket[1m])) by (le, method))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ method }} - p99", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Discovery Returned Resource Counts", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 20 | |
}, | |
"id": 37, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(pilot_discovery_cache_hit{cache_name=\"cds\"}[1m]))", | |
"intervalFactor": 2, | |
"legendFormat": "Hits", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(pilot_discovery_cache_miss{cache_name=\"cds\"}[1m]))", | |
"intervalFactor": 2, | |
"legendFormat": "MIsses", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "CDS Cache", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 20 | |
}, | |
"id": 46, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(pilot_discovery_cache_hit{cache_name=\"lds\"}[1m])) ", | |
"intervalFactor": 2, | |
"legendFormat": "Hits", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(pilot_discovery_cache_miss{cache_name=\"lds\"}[1m])) ", | |
"intervalFactor": 2, | |
"legendFormat": "Misses", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "LDS Cache", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 20 | |
}, | |
"id": 47, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(pilot_discovery_cache_hit{cache_name=\"rds\"}[1m]))", | |
"intervalFactor": 2, | |
"legendFormat": "Hits", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(pilot_discovery_cache_miss{cache_name=\"rds\"}[1m]))", | |
"intervalFactor": 2, | |
"legendFormat": "Misses", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "RDS Cache", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 20 | |
}, | |
"id": 48, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(pilot_discovery_cache_hit{cache_name=\"sds\"}[1m]))", | |
"intervalFactor": 2, | |
"legendFormat": "Hits", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(pilot_discovery_cache_miss{cache_name=\"sds\"}[1m]))", | |
"intervalFactor": 2, | |
"legendFormat": "Misses", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "SDS Cache", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 0, | |
"y": 27 | |
}, | |
"id": 45, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(envoy_cluster_rds_membership_healthy)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Pilot (healthy)", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(envoy_cluster_rds_membership_total)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Pilot (total)", | |
"refId": "F", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Cluster Membership", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 12, | |
"y": 27 | |
}, | |
"id": 50, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(envoy_cluster_rds_upstream_rq_time) by (quantile)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ quantile }}", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Request Latency", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ms", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"content": "<center><h2>xDS</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 34 | |
}, | |
"id": 28, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 37 | |
}, | |
"id": 40, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(envoy_cluster_manager_cds_update_attempt[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "CDS Attempts", | |
"refId": "F" | |
}, | |
{ | |
"expr": "sum(irate(envoy_cluster_manager_cds_update_success[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "CDS Successes", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(irate(envoy_listener_manager_lds_update_attempt[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "LDS Attempts", | |
"refId": "E" | |
}, | |
{ | |
"expr": "sum(irate(envoy_listener_manager_lds_update_success[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "LDS Successes", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(irate(envoy_cluster_rds_update_attempt[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "RDS Attempts", | |
"refId": "G" | |
}, | |
{ | |
"expr": "sum(irate(envoy_cluster_rds_update_success[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "RDS Successes", | |
"refId": "I" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Updates", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 37 | |
}, | |
"id": 42, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(envoy_cluster_manager_cds_update_failure[1m]))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "CDS", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(envoy_listener_manager_lds_update_failure[1m]))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "LDS", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(envoy_cluster_rds_update_attempt[1m])) - sum(irate(envoy_cluster_rds_update_success[1m]))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "RDS", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Failures", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 37 | |
}, | |
"id": 41, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(envoy_cluster_rds_upstream_cx_active)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Pilot (RDS)", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Active Connections", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-5m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Pilot Dashboard", | |
"uid": "3", | |
"version": 2 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-pilot | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
app: fluentd-ds | |
kubernetes.io/cluster-service: "true" | |
name: fluentd-ds | |
namespace: monitoring | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
app: fluentd-ds | |
kubernetes.io/cluster-service: "true" | |
name: fluentd-ds | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- namespaces | |
- pods | |
verbs: | |
- get | |
- watch | |
- list | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
app: fluentd-ds | |
kubernetes.io/cluster-service: "true" | |
name: fluentd-ds | |
roleRef: | |
apiGroup: "" | |
kind: ClusterRole | |
name: fluentd-ds | |
subjects: | |
- apiGroup: "" | |
kind: ServiceAccount | |
name: fluentd-ds | |
namespace: monitoring | |
--- | |
apiVersion: apps/v1 | |
kind: DaemonSet | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
app: fluentd-ds | |
kubernetes.io/cluster-service: "true" | |
version: v2.0.4 | |
name: fluentd-ds | |
namespace: monitoring | |
spec: | |
selector: | |
matchLabels: | |
app: fluentd-ds | |
version: v2.0.4 | |
template: | |
metadata: | |
annotations: | |
scheduler.alpha.kubernetes.io/critical-pod: "" | |
labels: | |
app: fluentd-ds | |
kubernetes.io/cluster-service: "true" | |
version: v2.0.4 | |
spec: | |
containers: | |
- env: | |
- name: FLUENTD_ARGS | |
value: --no-supervisor -q | |
image: k8s.gcr.io/fluentd-elasticsearch:v2.0.4 | |
name: fluentd-ds | |
resources: | |
limits: | |
memory: 500Mi | |
requests: | |
cpu: 100m | |
memory: 200Mi | |
volumeMounts: | |
- mountPath: /var/log/containers | |
name: varlogcontainers | |
readOnly: true | |
- mountPath: /var/log/pods | |
name: varlogpods | |
readOnly: true | |
- mountPath: /var/lib/docker/containers | |
name: varlibdockercontainers | |
readOnly: true | |
- mountPath: /host/lib | |
name: libsystemddir | |
readOnly: true | |
- mountPath: /etc/fluent/config.d | |
name: config-volume | |
nodeSelector: | |
beta.kubernetes.io/fluentd-ds-ready: "true" | |
priorityClassName: system-node-critical | |
serviceAccountName: fluentd-ds | |
terminationGracePeriodSeconds: 30 | |
volumes: | |
- hostPath: | |
path: /var/log/containers | |
name: varlogcontainers | |
- hostPath: | |
path: /var/log/pods | |
name: varlogpods | |
- hostPath: | |
path: /var/lib/docker/containers | |
name: varlibdockercontainers | |
- hostPath: | |
path: /usr/lib64 | |
name: libsystemddir | |
- configMap: | |
name: fluentd-ds-config | |
name: config-volume | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: kube-state-metrics | |
namespace: monitoring | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: Role | |
metadata: | |
name: kube-state-metrics-resizer | |
namespace: monitoring | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- pods | |
verbs: | |
- get | |
- apiGroups: | |
- extensions | |
resourceNames: | |
- kube-state-metrics | |
resources: | |
- deployments | |
verbs: | |
- get | |
- update | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: RoleBinding | |
metadata: | |
name: kube-state-metrics | |
namespace: monitoring | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: kube-state-metrics-resizer | |
subjects: | |
- kind: ServiceAccount | |
name: kube-state-metrics | |
namespace: monitoring | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: kube-state-metrics | |
namespace: monitoring | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- configmaps | |
- secrets | |
- nodes | |
- pods | |
- services | |
- resourcequotas | |
- replicationcontrollers | |
- limitranges | |
- persistentvolumeclaims | |
- persistentvolumes | |
- namespaces | |
- endpoints | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- extensions | |
resources: | |
- daemonsets | |
- deployments | |
- replicasets | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- apps | |
resources: | |
- statefulsets | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- batch | |
resources: | |
- cronjobs | |
- jobs | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- autoscaling | |
resources: | |
- horizontalpodautoscalers | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- authentication.k8s.io | |
resources: | |
- tokenreviews | |
verbs: | |
- create | |
- apiGroups: | |
- authorization.k8s.io | |
resources: | |
- subjectaccessreviews | |
verbs: | |
- create | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: kube-state-metrics | |
namespace: monitoring | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: kube-state-metrics | |
subjects: | |
- kind: ServiceAccount | |
name: kube-state-metrics | |
namespace: monitoring | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: kube-state-metrics | |
namespace: monitoring | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: kube-state-metrics | |
spec: | |
containers: | |
- args: | |
- --secure-listen-address=:8443 | |
- --upstream=http://127.0.0.1:8081/ | |
image: quay.io/coreos/kube-rbac-proxy:v0.3.0 | |
name: kube-rbac-proxy-main | |
ports: | |
- containerPort: 8443 | |
name: https-main | |
resources: | |
limits: | |
cpu: 20m | |
memory: 40Mi | |
requests: | |
cpu: 10m | |
memory: 20Mi | |
- args: | |
- --secure-listen-address=:9443 | |
- --upstream=http://127.0.0.1:8082/ | |
image: quay.io/coreos/kube-rbac-proxy:v0.3.0 | |
name: kube-rbac-proxy-self | |
ports: | |
- containerPort: 9443 | |
name: https-self | |
resources: | |
limits: | |
cpu: 20m | |
memory: 40Mi | |
requests: | |
cpu: 10m | |
memory: 20Mi | |
- args: | |
- --host=127.0.0.1 | |
- --port=8081 | |
- --telemetry-host=127.0.0.1 | |
- --telemetry-port=8082 | |
image: quay.io/coreos/kube-state-metrics:v1.3.0 | |
name: kube-state-metrics | |
- command: | |
- /pod_nanny | |
- --container=kube-state-metrics | |
- --cpu=100m | |
- --extra-cpu=1m | |
- --memory=100Mi | |
- --extra-memory=2Mi | |
- --threshold=5 | |
- --deployment=kube-state-metrics | |
env: | |
- name: MY_POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
- name: MY_POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
image: k8s.gcr.io/addon-resizer:1.7 | |
name: addon-resizer | |
resources: | |
limits: | |
cpu: 100m | |
memory: 30Mi | |
requests: | |
cpu: 100m | |
memory: 30Mi | |
securityContext: | |
runAsNonRoot: true | |
runAsUser: 65534 | |
serviceAccountName: kube-state-metrics | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: kube-state-metrics | |
name: kube-state-metrics | |
namespace: monitoring | |
spec: | |
clusterIP: None | |
ports: | |
- name: https-main | |
port: 8443 | |
protocol: TCP | |
targetPort: https-main | |
- name: https-self | |
port: 9443 | |
protocol: TCP | |
targetPort: https-self | |
selector: | |
app: kube-state-metrics | |
--- | |
apiVersion: v1 | |
data: | |
kubernetes-deployment-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"links": [], | |
"rows": [ | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "200px", | |
"panels": [ | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 8, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "cores", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 4, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\"}[3m]))", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "CPU", | |
"type": "singlestat", | |
"valueFontSize": "110%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 9, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "GB", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "80%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 4, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\"}) / 1024^3", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Memory", | |
"type": "singlestat", | |
"valueFontSize": "110%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "Bps", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"id": 7, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 4, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_network_transmit_bytes_total{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\"}[3m])) + sum(rate(container_network_receive_bytes_total{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\"}[3m]))", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Network", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
} | |
], | |
"showTitle": false, | |
"title": "Dashboard Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "100px", | |
"panels": [ | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"id": 5, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "max(kube_deployment_spec_replicas{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"metric": "kube_deployment_spec_replicas", | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Desired Replicas", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 6, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "min(kube_deployment_status_replicas_available{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Available Replicas", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 3, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "max(kube_deployment_status_observed_generation{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Observed Generation", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 2, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "max(kube_deployment_metadata_generation{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Metadata Generation", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
} | |
], | |
"showTitle": false, | |
"title": "Dashboard Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "350px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 1, | |
"isNew": true, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 12, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "max(kube_deployment_status_replicas{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"legendFormat": "current replicas", | |
"refId": "A", | |
"step": 30 | |
}, | |
{ | |
"expr": "min(kube_deployment_status_replicas_available{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"legendFormat": "available", | |
"refId": "B", | |
"step": 30 | |
}, | |
{ | |
"expr": "max(kube_deployment_status_replicas_unavailable{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"legendFormat": "unavailable", | |
"refId": "C", | |
"step": 30 | |
}, | |
{ | |
"expr": "min(kube_deployment_status_replicas_updated{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"legendFormat": "updated", | |
"refId": "D", | |
"step": 30 | |
}, | |
{ | |
"expr": "max(kube_deployment_spec_replicas{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"legendFormat": "desired", | |
"refId": "E", | |
"step": 30 | |
} | |
], | |
"title": "Replicas", | |
"tooltip": { | |
"msResolution": true, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "none", | |
"label": "", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": "", | |
"logBase": 1, | |
"show": false | |
} | |
] | |
} | |
], | |
"showTitle": false, | |
"title": "Dashboard Row", | |
"titleSize": "h6" | |
} | |
], | |
"schemaVersion": 14, | |
"sharedCrosshair": false, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": ".*", | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Namespace", | |
"multi": false, | |
"name": "deployment_namespace", | |
"options": [], | |
"query": "label_values(kube_deployment_metadata_generation, namespace)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 0, | |
"tagValuesQuery": null, | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Deployment", | |
"multi": false, | |
"name": "deployment_name", | |
"options": [], | |
"query": "label_values(kube_deployment_metadata_generation{namespace=\"$deployment_namespace\"}, deployment)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "deployment", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-6h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Deployment", | |
"version": 1 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-kubernetes-deployment | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
kubernetes-capacity-planning-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"links": [], | |
"refresh": false, | |
"rows": [ | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 3, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 6, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(node_cpu{mode=\"idle\"}[2m])) * 100", | |
"hide": false, | |
"intervalFactor": 10, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 50 | |
} | |
], | |
"title": "Idle CPU", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percent", | |
"label": "cpu usage", | |
"logBase": 1, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 9, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 6, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(node_load1)", | |
"intervalFactor": 4, | |
"legendFormat": "load 1m", | |
"refId": "A", | |
"step": 20, | |
"target": "" | |
}, | |
{ | |
"expr": "sum(node_load5)", | |
"intervalFactor": 4, | |
"legendFormat": "load 5m", | |
"refId": "B", | |
"step": 20, | |
"target": "" | |
}, | |
{ | |
"expr": "sum(node_load15)", | |
"intervalFactor": 4, | |
"legendFormat": "load 15m", | |
"refId": "C", | |
"step": 20, | |
"target": "" | |
} | |
], | |
"title": "System Load", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
} | |
], | |
"showTitle": false, | |
"title": "New Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 4, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "node_memory_SwapFree{instance=\"172.17.0.1:9100\",job=\"prometheus\"}", | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"span": 9, | |
"stack": true, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(node_memory_MemTotal) - sum(node_memory_MemFree) - sum(node_memory_Buffers) - sum(node_memory_Cached)", | |
"intervalFactor": 2, | |
"legendFormat": "memory usage", | |
"metric": "memo", | |
"refId": "A", | |
"step": 10, | |
"target": "" | |
}, | |
{ | |
"expr": "sum(node_memory_Buffers)", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "memory buffers", | |
"metric": "memo", | |
"refId": "B", | |
"step": 10, | |
"target": "" | |
}, | |
{ | |
"expr": "sum(node_memory_Cached)", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "memory cached", | |
"metric": "memo", | |
"refId": "C", | |
"step": 10, | |
"target": "" | |
}, | |
{ | |
"expr": "sum(node_memory_MemFree)", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "memory free", | |
"metric": "memo", | |
"refId": "D", | |
"step": 10, | |
"target": "" | |
} | |
], | |
"title": "Memory Usage", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 5, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "((sum(node_memory_MemTotal) - sum(node_memory_MemFree) - sum(node_memory_Buffers) - sum(node_memory_Cached)) / sum(node_memory_MemTotal)) * 100", | |
"intervalFactor": 2, | |
"metric": "", | |
"refId": "A", | |
"step": 60, | |
"target": "" | |
} | |
], | |
"thresholds": "80, 90", | |
"title": "Memory Usage", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
} | |
], | |
"showTitle": false, | |
"title": "New Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "246px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 6, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "read", | |
"yaxis": 1 | |
}, | |
{ | |
"alias": "{instance=\"172.17.0.1:9100\"}", | |
"yaxis": 2 | |
}, | |
{ | |
"alias": "io time", | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"span": 9, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(node_disk_bytes_read[5m]))", | |
"hide": false, | |
"intervalFactor": 4, | |
"legendFormat": "read", | |
"refId": "A", | |
"step": 20, | |
"target": "" | |
}, | |
{ | |
"expr": "sum(rate(node_disk_bytes_written[5m]))", | |
"intervalFactor": 4, | |
"legendFormat": "written", | |
"refId": "B", | |
"step": 20 | |
}, | |
{ | |
"expr": "sum(rate(node_disk_io_time_ms[5m]))", | |
"intervalFactor": 4, | |
"legendFormat": "io time", | |
"refId": "C", | |
"step": 20 | |
} | |
], | |
"title": "Disk I/O", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "ms", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 1, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 12, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "(sum(node_filesystem_size{device!=\"rootfs\"}) - sum(node_filesystem_free{device!=\"rootfs\"})) / sum(node_filesystem_size{device!=\"rootfs\"})", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 60, | |
"target": "" | |
} | |
], | |
"thresholds": "0.75, 0.9", | |
"title": "Disk Space Usage", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
} | |
], | |
"showTitle": false, | |
"title": "New Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 8, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "transmitted", | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"span": 6, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(node_network_receive_bytes{device!~\"lo\"}[5m]))", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 10, | |
"target": "" | |
} | |
], | |
"title": "Network Received", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 10, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "transmitted", | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"span": 6, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(node_network_transmit_bytes{device!~\"lo\"}[5m]))", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "B", | |
"step": 10, | |
"target": "" | |
} | |
], | |
"title": "Network Transmitted", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
} | |
], | |
"showTitle": false, | |
"title": "New Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "276px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 11, | |
"isNew": true, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 11, | |
"span": 9, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(kube_pod_info)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Current number of Pods", | |
"refId": "A", | |
"step": 10 | |
}, | |
{ | |
"expr": "sum(kube_node_status_capacity_pods)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Maximum capacity of pods", | |
"refId": "B", | |
"step": 10 | |
} | |
], | |
"title": "Cluster Pod Utilization", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 7, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "100 - (sum(kube_node_status_capacity_pods) - sum(kube_pod_info)) / sum(kube_node_status_capacity_pods) * 100", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 60, | |
"target": "" | |
} | |
], | |
"thresholds": "80, 90", | |
"title": "Pod Utilization", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
} | |
], | |
"showTitle": false, | |
"title": "New Row", | |
"titleSize": "h6" | |
} | |
], | |
"schemaVersion": 14, | |
"sharedCrosshair": false, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-1h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Kubernetes Capacity Planning", | |
"version": 4 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-kubernetes-capacity-planning | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
kubernetes-cluster-health-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"links": [], | |
"refresh": "10s", | |
"rows": [ | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "254px", | |
"panels": [ | |
{ | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 1, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(up{job=~\"apiserver|kube-scheduler|kube-controller-manager\"} == 0)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "1, 3", | |
"title": "Control Plane Components Down", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "Everything UP and healthy", | |
"value": "null" | |
}, | |
{ | |
"op": "=", | |
"text": "", | |
"value": "" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 2, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(ALERTS{alertstate=\"firing\",alertname!=\"DeadMansSwitch\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "1, 3", | |
"title": "Alerts Firing", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 3, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(ALERTS{alertstate=\"pending\",alertname!=\"DeadMansSwitch\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "3, 5", | |
"title": "Alerts Pending", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 4, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "count(increase(kube_pod_container_status_restarts[1h]) > 5)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "1, 3", | |
"title": "Crashlooping Pods", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
} | |
], | |
"showTitle": false, | |
"title": "Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 5, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(kube_node_status_condition{condition=\"Ready\",status!=\"true\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "1, 3", | |
"title": "Node Not Ready", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 6, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(kube_node_status_condition{condition=\"DiskPressure\",status=\"true\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "1, 3", | |
"title": "Node Disk Pressure", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 7, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(kube_node_status_condition{condition=\"MemoryPressure\",status=\"true\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "1, 3", | |
"title": "Node Memory Pressure", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 8, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(kube_node_spec_unschedulable)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "1, 3", | |
"title": "Nodes Unschedulable", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
} | |
], | |
"showTitle": false, | |
"title": "Row", | |
"titleSize": "h6" | |
} | |
], | |
"schemaVersion": 14, | |
"sharedCrosshair": false, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-6h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Kubernetes Cluster Health", | |
"version": 9 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-kubernetes-cluster-health | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
kubernetes-cluster-status-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"editable": false, | |
"graphTooltip": 0, | |
"hideControls": false, | |
"links": [], | |
"rows": [ | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "129px", | |
"panels": [ | |
{ | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 5, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 6, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(up{job=~\"apiserver|kube-scheduler|kube-controller-manager\"} == 0)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "1, 3", | |
"title": "Control Plane UP", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "UP", | |
"value": "null" | |
} | |
], | |
"valueName": "total" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 6, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 6, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(ALERTS{alertstate=\"firing\",alertname!=\"DeadMansSwitch\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "3, 5", | |
"title": "Alerts Firing", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
} | |
], | |
"showTitle": true, | |
"title": "Cluster Health", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "168px", | |
"panels": [ | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 1, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "(sum(up{job=\"apiserver\"} == 1) / count(up{job=\"apiserver\"})) * 100", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "50, 80", | |
"title": "API Servers UP", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 2, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "(sum(up{job=\"kube-controller-manager\"} == 1) / count(up{job=\"kube-controller-manager\"})) * 100", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "50, 80", | |
"title": "Controller Managers UP", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 3, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "(sum(up{job=\"kube-scheduler\"} == 1) / count(up{job=\"kube-scheduler\"})) * 100", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "50, 80", | |
"title": "Schedulers UP", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 4, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "count(increase(kube_pod_container_status_restarts{namespace=~\"kube-system|tectonic-system\"}[1h]) > 5)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "1, 3", | |
"title": "Crashlooping Control Plane Pods", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
} | |
], | |
"showTitle": true, | |
"title": "Control Plane Status", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "158px", | |
"panels": [ | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 8, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(100 - (avg by (instance) (rate(node_cpu{job=\"node-exporter\",mode=\"idle\"}[5m])) * 100)) / count(node_cpu{job=\"node-exporter\",mode=\"idle\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "80, 90", | |
"title": "CPU Utilization", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 7, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "((sum(node_memory_MemTotal) - sum(node_memory_MemFree) - sum(node_memory_Buffers) - sum(node_memory_Cached)) / sum(node_memory_MemTotal)) * 100", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "80, 90", | |
"title": "Memory Utilization", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 9, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "(sum(node_filesystem_size{device!=\"rootfs\"}) - sum(node_filesystem_free{device!=\"rootfs\"})) / sum(node_filesystem_size{device!=\"rootfs\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "80, 90", | |
"title": "Filesystem Utilization", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 10, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "100 - (sum(kube_node_status_capacity_pods) - sum(kube_pod_info)) / sum(kube_node_status_capacity_pods) * 100", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "80, 90", | |
"title": "Pod Utilization", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
} | |
], | |
"showTitle": true, | |
"title": "Capacity Planning", | |
"titleSize": "h6" | |
} | |
], | |
"schemaVersion": 14, | |
"sharedCrosshair": false, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-6h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Kubernetes Cluster Status", | |
"version": 3 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-kubernetes-cluster-status | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
kubernetes-control-plane-status-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"editable": false, | |
"graphTooltip": 0, | |
"hideControls": false, | |
"links": [], | |
"rows": [ | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 1, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "(sum(up{job=\"apiserver\"} == 1) / sum(up{job=\"apiserver\"})) * 100", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "50, 80", | |
"title": "API Servers UP", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 2, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "(sum(up{job=\"kube-controller-manager\"} == 1) / sum(up{job=\"kube-controller-manager\"})) * 100", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "50, 80", | |
"title": "Controller Managers UP", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 3, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "(sum(up{job=\"kube-scheduler\"} == 1) / sum(up{job=\"kube-scheduler\"})) * 100", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "50, 80", | |
"title": "Schedulers UP", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 4, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "max(sum by(instance) (rate(apiserver_request_count{code=~\"5..\"}[5m])) / sum by(instance) (rate(apiserver_request_count[5m]))) * 100", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"thresholds": "5, 10", | |
"title": "API Server Request Error Rate", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
} | |
], | |
"showTitle": false, | |
"title": "Dashboard Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 7, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 12, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum by(verb) (rate(apiserver_latency_seconds:quantile[5m]) >= 0)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 30 | |
} | |
], | |
"title": "API Server Request Latency", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
} | |
], | |
"showTitle": false, | |
"title": "Dashboard Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 5, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 6, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "cluster:scheduler_e2e_scheduling_latency_seconds:quantile", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 60 | |
} | |
], | |
"title": "End to End Scheduling Latency", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "dtdurations", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 6, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 6, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum by(instance) (rate(apiserver_request_count{code!~\"2..\"}[5m]))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Error Rate", | |
"refId": "A", | |
"step": 60 | |
}, | |
{ | |
"expr": "sum by(instance) (rate(apiserver_request_count[5m]))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Request Rate", | |
"refId": "B", | |
"step": 60 | |
} | |
], | |
"title": "API Server Request Rates", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
} | |
], | |
"showTitle": false, | |
"title": "Dashboard Row", | |
"titleSize": "h6" | |
} | |
], | |
"schemaVersion": 14, | |
"sharedCrosshair": false, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-6h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Kubernetes Control Plane Status", | |
"version": 3 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-kubernetes-control-plane-status | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
kubernetes-resource-requests-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"editable": false, | |
"graphTooltip": 0, | |
"hideControls": false, | |
"links": [], | |
"refresh": false, | |
"rows": [ | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "300px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"description": "This represents the total [CPU resource requests](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-cpu) in the cluster.\nFor comparison the total [allocatable CPU cores](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node-allocatable.md) is also shown.", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 1, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 9, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "min(sum(kube_node_status_allocatable_cpu_cores) by (instance))", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Allocatable CPU Cores", | |
"refId": "A", | |
"step": 20 | |
}, | |
{ | |
"expr": "max(sum(kube_pod_container_resource_requests_cpu_cores) by (instance))", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Requested CPU Cores", | |
"refId": "B", | |
"step": 20 | |
} | |
], | |
"title": "CPU Cores", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "CPU Cores", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 2, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"targets": [ | |
{ | |
"expr": "max(sum(kube_pod_container_resource_requests_cpu_cores) by (instance)) / min(sum(kube_node_status_allocatable_cpu_cores) by (instance)) * 100", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 240 | |
} | |
], | |
"thresholds": "80, 90", | |
"title": "CPU Cores", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "110%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
} | |
], | |
"showTitle": false, | |
"title": "CPU Cores", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "300px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"description": "This represents the total [memory resource requests](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-memory) in the cluster.\nFor comparison the total [allocatable memory](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node-allocatable.md) is also shown.", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 3, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 9, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "min(sum(kube_node_status_allocatable_memory_bytes) by (instance))", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Allocatable Memory", | |
"refId": "A", | |
"step": 20 | |
}, | |
{ | |
"expr": "max(sum(kube_pod_container_resource_requests_memory_bytes) by (instance))", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Requested Memory", | |
"refId": "B", | |
"step": 20 | |
} | |
], | |
"title": "Memory", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "Memory", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 4, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"targets": [ | |
{ | |
"expr": "max(sum(kube_pod_container_resource_requests_memory_bytes) by (instance)) / min(sum(kube_node_status_allocatable_memory_bytes) by (instance)) * 100", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 240 | |
} | |
], | |
"thresholds": "80, 90", | |
"title": "Memory", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "110%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
} | |
], | |
"showTitle": false, | |
"title": "Memory", | |
"titleSize": "h6" | |
} | |
], | |
"schemaVersion": 14, | |
"sharedCrosshair": false, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-3h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Kubernetes Resource Requests", | |
"version": 2 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-kubernetes-resource-requests | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
kubernetes-nodes-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"description": "Dashboard to get an overview of one server", | |
"editable": false, | |
"gnetId": 22, | |
"graphTooltip": 0, | |
"hideControls": false, | |
"links": [], | |
"refresh": false, | |
"rows": [ | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 3, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 6, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "100 - (avg by (cpu) (irate(node_cpu{mode=\"idle\", instance=\"$server\"}[5m])) * 100)", | |
"hide": false, | |
"intervalFactor": 10, | |
"legendFormat": "{{cpu}}", | |
"refId": "A", | |
"step": 50 | |
} | |
], | |
"title": "Idle CPU", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percent", | |
"label": "cpu usage", | |
"logBase": 1, | |
"max": 100, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 9, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 6, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "node_load1{instance=\"$server\"}", | |
"intervalFactor": 4, | |
"legendFormat": "load 1m", | |
"refId": "A", | |
"step": 20, | |
"target": "" | |
}, | |
{ | |
"expr": "node_load5{instance=\"$server\"}", | |
"intervalFactor": 4, | |
"legendFormat": "load 5m", | |
"refId": "B", | |
"step": 20, | |
"target": "" | |
}, | |
{ | |
"expr": "node_load15{instance=\"$server\"}", | |
"intervalFactor": 4, | |
"legendFormat": "load 15m", | |
"refId": "C", | |
"step": 20, | |
"target": "" | |
} | |
], | |
"title": "System Load", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
} | |
], | |
"showTitle": false, | |
"title": "New Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 4, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "node_memory_SwapFree{instance=\"172.17.0.1:9100\",job=\"prometheus\"}", | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"span": 9, | |
"stack": true, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "node_memory_MemTotal{instance=\"$server\"} - node_memory_MemFree{instance=\"$server\"} - node_memory_Buffers{instance=\"$server\"} - node_memory_Cached{instance=\"$server\"}", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "memory used", | |
"metric": "", | |
"refId": "C", | |
"step": 10 | |
}, | |
{ | |
"expr": "node_memory_Buffers{instance=\"$server\"}", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "memory buffers", | |
"metric": "", | |
"refId": "E", | |
"step": 10 | |
}, | |
{ | |
"expr": "node_memory_Cached{instance=\"$server\"}", | |
"intervalFactor": 2, | |
"legendFormat": "memory cached", | |
"metric": "", | |
"refId": "F", | |
"step": 10 | |
}, | |
{ | |
"expr": "node_memory_MemFree{instance=\"$server\"}", | |
"intervalFactor": 2, | |
"legendFormat": "memory free", | |
"metric": "", | |
"refId": "D", | |
"step": 10 | |
} | |
], | |
"title": "Memory Usage", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 5, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "((node_memory_MemTotal{instance=\"$server\"} - node_memory_MemFree{instance=\"$server\"} - node_memory_Buffers{instance=\"$server\"} - node_memory_Cached{instance=\"$server\"}) / node_memory_MemTotal{instance=\"$server\"}) * 100", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 60, | |
"target": "" | |
} | |
], | |
"thresholds": "80, 90", | |
"title": "Memory Usage", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
} | |
], | |
"showTitle": false, | |
"title": "New Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 6, | |
"isNew": true, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "read", | |
"yaxis": 1 | |
}, | |
{ | |
"alias": "{instance=\"172.17.0.1:9100\"}", | |
"yaxis": 2 | |
}, | |
{ | |
"alias": "io time", | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"span": 9, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum by (instance) (rate(node_disk_bytes_read{instance=\"$server\"}[2m]))", | |
"hide": false, | |
"intervalFactor": 4, | |
"legendFormat": "read", | |
"refId": "A", | |
"step": 20, | |
"target": "" | |
}, | |
{ | |
"expr": "sum by (instance) (rate(node_disk_bytes_written{instance=\"$server\"}[2m]))", | |
"intervalFactor": 4, | |
"legendFormat": "written", | |
"refId": "B", | |
"step": 20 | |
}, | |
{ | |
"expr": "sum by (instance) (rate(node_disk_io_time_ms{instance=\"$server\"}[2m]))", | |
"intervalFactor": 4, | |
"legendFormat": "io time", | |
"refId": "C", | |
"step": 20 | |
} | |
], | |
"title": "Disk I/O", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "ms", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 1, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"hideTimeOverride": false, | |
"id": 7, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "(sum(node_filesystem_size{device!=\"rootfs\",instance=\"$server\"}) - sum(node_filesystem_free{device!=\"rootfs\",instance=\"$server\"})) / sum(node_filesystem_size{device!=\"rootfs\",instance=\"$server\"})", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 60, | |
"target": "" | |
} | |
], | |
"thresholds": "0.75, 0.9", | |
"title": "Disk Space Usage", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
} | |
], | |
"showTitle": false, | |
"title": "New Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 8, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "transmitted", | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"span": 6, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(node_network_receive_bytes{instance=\"$server\",device!~\"lo\"}[5m])", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{device}}", | |
"refId": "A", | |
"step": 10, | |
"target": "" | |
} | |
], | |
"title": "Network Received", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 10, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "transmitted", | |
"yaxis": 2 | |
} | |
], | |
"spaceLength": 10, | |
"span": 6, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(node_network_transmit_bytes{instance=\"$server\",device!~\"lo\"}[5m])", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{device}}", | |
"refId": "B", | |
"step": 10, | |
"target": "" | |
} | |
], | |
"title": "Network Transmitted", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
} | |
], | |
"showTitle": false, | |
"title": "New Row", | |
"titleSize": "h6" | |
} | |
], | |
"schemaVersion": 14, | |
"sharedCrosshair": false, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": null, | |
"multi": false, | |
"name": "server", | |
"options": [], | |
"query": "label_values(node_boot_time, instance)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-1h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Nodes", | |
"version": 2 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-kubernetes-nodes | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
kubernetes-pods-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"editable": false, | |
"graphTooltip": 1, | |
"hideControls": false, | |
"links": [], | |
"refresh": false, | |
"rows": [ | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 1, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": true, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 12, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum by(container_name) (container_memory_usage_bytes{pod_name=\"$pod\", container_name=~\"$container\", container_name!=\"POD\"})", | |
"interval": "10s", | |
"intervalFactor": 1, | |
"legendFormat": "Current: {{ container_name }}", | |
"metric": "container_memory_usage_bytes", | |
"refId": "A", | |
"step": 15 | |
}, | |
{ | |
"expr": "kube_pod_container_resource_requests_memory_bytes{pod=\"$pod\", container=~\"$container\"}", | |
"interval": "10s", | |
"intervalFactor": 2, | |
"legendFormat": "Requested: {{ container }}", | |
"metric": "kube_pod_container_resource_requests_memory_bytes", | |
"refId": "B", | |
"step": 20 | |
}, | |
{ | |
"expr": "kube_pod_container_resource_limits_memory_bytes{pod=\"$pod\", container=~\"$container\"}", | |
"interval": "10s", | |
"intervalFactor": 2, | |
"legendFormat": "Limit: {{ container }}", | |
"metric": "kube_pod_container_resource_limits_memory_bytes", | |
"refId": "C", | |
"step": 20 | |
} | |
], | |
"title": "Memory Usage", | |
"tooltip": { | |
"msResolution": true, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
} | |
], | |
"showTitle": false, | |
"title": "Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 2, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": true, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 12, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum by (container_name)(rate(container_cpu_usage_seconds_total{image!=\"\",container_name!=\"POD\",pod_name=\"$pod\"}[1m]))", | |
"intervalFactor": 2, | |
"legendFormat": "{{ container_name }}", | |
"refId": "A", | |
"step": 30 | |
}, | |
{ | |
"expr": "kube_pod_container_resource_requests_cpu_cores{pod=\"$pod\", container=~\"$container\"}", | |
"interval": "10s", | |
"intervalFactor": 2, | |
"legendFormat": "Requested: {{ container }}", | |
"metric": "kube_pod_container_resource_requests_cpu_cores", | |
"refId": "B", | |
"step": 20 | |
}, | |
{ | |
"expr": "kube_pod_container_resource_limits_cpu_cores{pod=\"$pod\", container=~\"$container\"}", | |
"interval": "10s", | |
"intervalFactor": 2, | |
"legendFormat": "Limit: {{ container }}", | |
"metric": "kube_pod_container_resource_limits_memory_bytes", | |
"refId": "C", | |
"step": 20 | |
} | |
], | |
"title": "CPU Usage", | |
"tooltip": { | |
"msResolution": true, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
} | |
], | |
"showTitle": false, | |
"title": "Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "250px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 3, | |
"isNew": false, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": true, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 12, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sort_desc(sum by (pod_name) (rate(container_network_receive_bytes_total{pod_name=\"$pod\"}[1m])))", | |
"intervalFactor": 2, | |
"legendFormat": "{{ pod_name }}", | |
"refId": "A", | |
"step": 30 | |
} | |
], | |
"title": "Network I/O", | |
"tooltip": { | |
"msResolution": true, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"logBase": 1, | |
"show": true | |
} | |
] | |
} | |
], | |
"showTitle": false, | |
"title": "New Row", | |
"titleSize": "h6" | |
} | |
], | |
"schemaVersion": 14, | |
"sharedCrosshair": false, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": ".*", | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Namespace", | |
"multi": false, | |
"name": "namespace", | |
"options": [], | |
"query": "label_values(kube_pod_info, namespace)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Pod", | |
"multi": false, | |
"name": "pod", | |
"options": [], | |
"query": "label_values(kube_pod_info{namespace=~\"$namespace\"}, pod)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": ".*", | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Container", | |
"multi": false, | |
"name": "container", | |
"options": [], | |
"query": "label_values(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\"}, container)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-6h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Pods", | |
"version": 1 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-kubernetes-pods | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
kubernetes-statefulset-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"editable": false, | |
"graphTooltip": 1, | |
"hideControls": false, | |
"links": [], | |
"rows": [ | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "200px", | |
"panels": [ | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 8, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "cores", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 4, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$statefulset_namespace\",pod_name=~\"$statefulset_name.*\"}[3m]))", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "CPU", | |
"type": "singlestat", | |
"valueFontSize": "110%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 9, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "GB", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "80%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 4, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace=\"$statefulset_namespace\",pod_name=~\"$statefulset_name.*\"}) / 1024^3", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Memory", | |
"type": "singlestat", | |
"valueFontSize": "110%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "Bps", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"id": 7, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 4, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_network_transmit_bytes_total{namespace=\"$statefulset_namespace\",pod_name=~\"$statefulset_name.*\"}[3m])) + sum(rate(container_network_receive_bytes_total{namespace=\"$statefulset_namespace\",pod_name=~\"$statefulset_name.*\"}[3m]))", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Network", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
} | |
], | |
"showTitle": false, | |
"title": "Dashboard Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "100px", | |
"panels": [ | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"id": 5, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "max(kube_statefulset_replicas{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"metric": "kube_statefulset_replicas", | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Desired Replicas", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 6, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "min(kube_statefulset_status_replicas{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Available Replicas", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 3, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "max(kube_statefulset_status_observed_generation{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Observed Generation", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "prometheus", | |
"editable": false, | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"id": 2, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"span": 3, | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"targets": [ | |
{ | |
"expr": "max(kube_statefulset_metadata_generation{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"refId": "A", | |
"step": 600 | |
} | |
], | |
"title": "Metadata Generation", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
} | |
], | |
"showTitle": false, | |
"title": "Dashboard Row", | |
"titleSize": "h6" | |
}, | |
{ | |
"collapse": false, | |
"editable": false, | |
"height": "350px", | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"editable": false, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"threshold1Color": "rgba(216, 200, 27, 0.27)", | |
"threshold2Color": "rgba(234, 112, 112, 0.22)" | |
}, | |
"id": 1, | |
"isNew": true, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false | |
}, | |
"lines": true, | |
"linewidth": 2, | |
"links": [], | |
"nullPointMode": "connected", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"span": 12, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "min(kube_statefulset_status_replicas{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"legendFormat": "available", | |
"refId": "B", | |
"step": 30 | |
}, | |
{ | |
"expr": "max(kube_statefulset_replicas{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)", | |
"intervalFactor": 2, | |
"legendFormat": "desired", | |
"refId": "E", | |
"step": 30 | |
} | |
], | |
"title": "Replicas", | |
"tooltip": { | |
"msResolution": true, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"mode": "time", | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "none", | |
"label": "", | |
"logBase": 1, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": "", | |
"logBase": 1, | |
"show": false | |
} | |
] | |
} | |
], | |
"showTitle": false, | |
"title": "Dashboard Row", | |
"titleSize": "h6" | |
} | |
], | |
"schemaVersion": 14, | |
"sharedCrosshair": false, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": ".*", | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Namespace", | |
"multi": false, | |
"name": "statefulset_namespace", | |
"options": [], | |
"query": "label_values(kube_statefulset_metadata_generation, namespace)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 0, | |
"tagValuesQuery": null, | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "StatefulSet", | |
"multi": false, | |
"name": "statefulset_name", | |
"options": [], | |
"query": "label_values(kube_statefulset_metadata_generation{namespace=\"$statefulset_namespace\"}, statefulset)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "statefulset", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-6h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "StatefulSet", | |
"version": 1 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-kubernetes-statefulset | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: node-exporter | |
namespace: monitoring | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: node-exporter | |
namespace: monitoring | |
rules: | |
- apiGroups: | |
- authentication.k8s.io | |
resources: | |
- tokenreviews | |
verbs: | |
- create | |
- apiGroups: | |
- authorization.k8s.io | |
resources: | |
- subjectaccessreviews | |
verbs: | |
- create | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: node-exporter | |
namespace: monitoring | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: node-exporter | |
subjects: | |
- kind: ServiceAccount | |
name: node-exporter | |
namespace: monitoring | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: DaemonSet | |
metadata: | |
name: node-exporter | |
namespace: monitoring | |
spec: | |
template: | |
metadata: | |
labels: | |
app: node-exporter | |
name: node-exporter | |
namespace: monitoring | |
spec: | |
containers: | |
- args: | |
- --web.listen-address=127.0.0.1:9101 | |
- --path.procfs=/host/proc | |
- --path.sysfs=/host/sys | |
image: quay.io/prometheus/node-exporter:v0.15.2 | |
name: node-exporter | |
resources: | |
limits: | |
cpu: 200m | |
memory: 50Mi | |
requests: | |
cpu: 100m | |
memory: 30Mi | |
volumeMounts: | |
- mountPath: /host/proc | |
name: proc | |
readOnly: true | |
- mountPath: /host/sys | |
name: sys | |
readOnly: true | |
- args: | |
- --secure-listen-address=:9100 | |
- --upstream=http://127.0.0.1:9101/ | |
image: quay.io/coreos/kube-rbac-proxy:v0.3.0 | |
name: kube-rbac-proxy | |
ports: | |
- containerPort: 9100 | |
hostPort: 9100 | |
name: https | |
resources: | |
limits: | |
cpu: 20m | |
memory: 40Mi | |
requests: | |
cpu: 10m | |
memory: 20Mi | |
hostNetwork: true | |
hostPID: true | |
securityContext: | |
runAsNonRoot: true | |
runAsUser: 65534 | |
serviceAccountName: node-exporter | |
tolerations: | |
- effect: NoSchedule | |
operator: Exists | |
volumes: | |
- hostPath: | |
path: /proc | |
name: proc | |
- hostPath: | |
path: /sys | |
name: sys | |
updateStrategy: | |
rollingUpdate: | |
maxUnavailable: 1 | |
type: RollingUpdate | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: node-exporter | |
name: node-exporter | |
namespace: monitoring | |
spec: | |
clusterIP: None | |
ports: | |
- name: https | |
port: 9100 | |
protocol: TCP | |
selector: | |
app: node-exporter | |
type: ClusterIP | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
app: elasticsearch-logging | |
kubernetes.io/cluster-service: "true" | |
kubernetes.io/name: Elasticsearch | |
name: elasticsearch-logging | |
namespace: monitoring | |
spec: | |
ports: | |
- port: 9200 | |
protocol: TCP | |
targetPort: db | |
selector: | |
app: elasticsearch-logging | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
app: elasticsearch-logging | |
kubernetes.io/cluster-service: "true" | |
name: elasticsearch-logging | |
namespace: monitoring | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
app: elasticsearch-logging | |
kubernetes.io/cluster-service: "true" | |
name: elasticsearch-logging | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- services | |
- namespaces | |
- endpoints | |
verbs: | |
- get | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
app: elasticsearch-logging | |
kubernetes.io/cluster-service: "true" | |
name: elasticsearch-logging | |
namespace: monitoring | |
roleRef: | |
apiGroup: "" | |
kind: ClusterRole | |
name: elasticsearch-logging | |
subjects: | |
- apiGroup: "" | |
kind: ServiceAccount | |
name: elasticsearch-logging | |
namespace: monitoring | |
--- | |
apiVersion: apps/v1 | |
kind: StatefulSet | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
app: elasticsearch-logging | |
kubernetes.io/cluster-service: "true" | |
version: v5.6.4 | |
name: elasticsearch-logging | |
namespace: monitoring | |
spec: | |
replicas: 2 | |
selector: | |
matchLabels: | |
app: elasticsearch-logging | |
version: v5.6.4 | |
serviceName: elasticsearch-logging | |
template: | |
metadata: | |
labels: | |
app: elasticsearch-logging | |
kubernetes.io/cluster-service: "true" | |
version: v5.6.4 | |
spec: | |
containers: | |
- env: | |
- name: NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
image: k8s.gcr.io/elasticsearch:v5.6.4 | |
name: elasticsearch-logging | |
ports: | |
- containerPort: 9200 | |
name: db | |
protocol: TCP | |
- containerPort: 9300 | |
name: transport | |
protocol: TCP | |
resources: | |
limits: | |
cpu: 1000m | |
requests: | |
cpu: 100m | |
volumeMounts: | |
- mountPath: /data | |
name: elasticsearch-logging | |
initContainers: | |
- command: | |
- /sbin/sysctl | |
- -w | |
- vm.max_map_count=262144 | |
image: alpine:3.6 | |
name: elasticsearch-logging-init | |
securityContext: | |
privileged: true | |
serviceAccountName: elasticsearch-logging | |
volumes: | |
- emptyDir: {} | |
name: elasticsearch-logging | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
app: kibana-logging | |
kubernetes.io/cluster-service: "true" | |
name: kibana-logging | |
namespace: monitoring | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app: kibana-logging | |
template: | |
metadata: | |
labels: | |
app: kibana-logging | |
spec: | |
containers: | |
- env: | |
- name: ELASTICSEARCH_URL | |
value: http://elasticsearch-logging:9200 | |
- name: SERVER_BASEPATH | |
value: /api/v1/namespaces/monitoring/services/kibana-logging/proxy | |
- name: XPACK_MONITORING_ENABLED | |
value: "false" | |
- name: XPACK_SECURITY_ENABLED | |
value: "false" | |
image: docker.elastic.co/kibana/kibana:5.6.4 | |
name: kibana-logging | |
ports: | |
- containerPort: 5601 | |
name: ui | |
protocol: TCP | |
resources: | |
limits: | |
cpu: 1000m | |
requests: | |
cpu: 100m | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
addonmanager.kubernetes.io/mode: Reconcile | |
app: kibana-logging | |
kubernetes.io/cluster-service: "true" | |
kubernetes.io/name: Kibana | |
name: kibana-logging | |
namespace: monitoring | |
spec: | |
ports: | |
- port: 5601 | |
protocol: TCP | |
targetPort: ui | |
selector: | |
app: kibana-logging | |
type: NodePort | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: fluentd-ds | |
name: fluentd-ds | |
namespace: monitoring | |
spec: | |
ports: | |
- name: fluentd-tcp | |
port: 24224 | |
protocol: TCP | |
targetPort: 24224 | |
- name: fluentd-udp | |
port: 24224 | |
protocol: UDP | |
targetPort: 24224 | |
selector: | |
app: fluentd-ds | |
--- | |
apiVersion: v1 | |
data: | |
knative-control-plane-efficiency-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"description": "Knative Serving - Control Plane Efficiency", | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"links": [], | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"decimals": 2, | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 2, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": true, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"knative-serving\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "knative-serving", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"knative-build\"}[1m]))", | |
"format": "time_series", | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "knative-build", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"istio-system\"}[1m]))", | |
"format": "time_series", | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "istio-system", | |
"refId": "D" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"kube-system\"}[1m]))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "kube-system", | |
"refId": "F" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"kube-public\"}[1m]))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "kube-public", | |
"refId": "E" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"monitoring\"}[1m]))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "monitoring", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Namespace CPU Usage", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"decimals": null, | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 12, | |
"y": 0 | |
}, | |
"id": 3, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": true, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace=\"knative-serving\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "knative-serving", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace=\"knative-build\"})", | |
"format": "time_series", | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "knative-build", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace=\"istio-system\"})", | |
"format": "time_series", | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "istio-system", | |
"refId": "D" | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace=\"kube-system\"})", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "kube-system", | |
"refId": "F" | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace=\"kube-public\"})", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "kube-public", | |
"refId": "E" | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace=\"monitoring\"})", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "monitoring", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Namespace Memory Usage", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"decimals": 2, | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 0, | |
"y": 9 | |
}, | |
"id": 4, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": true, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace!~\"knative-serving|monitoring|knative-build|istio-system|kube-system|kube-public|^$\"}[1m]))", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "Data plane", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace=~\"knative-serving|monitoring|knative-build|istio-system|kube-system|kube-public\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Control plane", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Control Plane vs Data Plane CPU Usage", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 12, | |
"y": 9 | |
}, | |
"id": 5, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": true, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace!~\"knative-serving|monitoring|knative-build|istio-system|kube-system|kube-public|^$\"})", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "Data plane", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace=~\"knative-serving|monitoring|knative-build|istio-system|kube-system|kube-public\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Control plane", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Control Plane vs Data Plane Memory Usage", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-15m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "", | |
"title": "Knative Serving - Control Plane Efficiency", | |
"uid": "1oI1URnik", | |
"version": 2 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-knative-efficiency | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
resource-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"description": "Knative Serving - Revision CPU and Memory Usage", | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"links": [], | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 2, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", pod_name=~\"$revision.*\", container_name != \"POD\"}[1m])) by (container_name)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{container_name}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Total CPU Usage", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 12, | |
"y": 0 | |
}, | |
"id": 3, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace=\"$namespace\", pod_name=~\"$revision.*\", container_name != \"POD\"}) by (container_name)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{container_name}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Total Memory Usage", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Namespace", | |
"multi": false, | |
"name": "namespace", | |
"options": [], | |
"query": "label_values(container_memory_usage_bytes{container_name=\"user-container\"}, namespace)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Configuration", | |
"multi": false, | |
"name": "configuration", | |
"options": [], | |
"query": "label_values(container_memory_usage_bytes{namespace=\"$namespace\"}, pod_name)", | |
"refresh": 1, | |
"regex": "(.+?)-\\d\\d\\d\\d\\d-deployment-.*", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Revision", | |
"multi": false, | |
"name": "revision", | |
"options": [], | |
"query": "label_values(container_memory_usage_bytes{namespace=\"$namespace\", pod_name=~\"$configuration.*?-deployment.*?\"}, pod_name)", | |
"refresh": 1, | |
"regex": "(.+?-\\d\\d\\d\\d\\d)-deployment-.*", | |
"sort": 2, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-15m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "", | |
"title": "Knative Serving - Revision CPU and Memory Usage", | |
"uid": "bKOoE9Wmk", | |
"version": 4 | |
} | |
revision-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"description": "", | |
"label": "prometheus", | |
"name": "prometheus", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus", | |
"type": "datasource" | |
} | |
], | |
"annotations": { | |
"list": [] | |
}, | |
"description": "Knative Serving - Revision HTTP Requests", | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"links": [], | |
"panels": [ | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 8, | |
"panels": [], | |
"title": "Overview (average over the selected time range)", | |
"type": "row" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 0, | |
"y": 1 | |
}, | |
"id": 2, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"repeat": null, | |
"repeatDirection": "v", | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "round(sum(rate(istio_revision_request_count{destination_namespace=\"$namespace\", destination_revision=~\"$revision\", destination_configuration=~\"$configuration\"}[1m])), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Request Volume", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#d44a3a", | |
"rgba(237, 129, 40, 0.89)", | |
"#299c46" | |
], | |
"datasource": "prometheus", | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 6, | |
"y": 1 | |
}, | |
"id": 4, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(rate(istio_revision_request_count{response_code!~\"5.*\", destination_namespace=\"$namespace\", destination_revision=~\"$revision\", destination_configuration=~\"$configuration\"}[1m])) / sum(rate(istio_revision_request_count{destination_namespace=\"$namespace\", destination_revision=~\"$revision\", destination_configuration=~\"$configuration\"}[1m]))", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "95, 99, 99.5", | |
"title": "Success Rate (non-5xx responses)", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#d44a3a", | |
"rgba(237, 129, 40, 0.89)", | |
"#299c46" | |
], | |
"datasource": "prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 12, | |
"y": 1 | |
}, | |
"id": 5, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(rate(istio_revision_request_count{response_code=~\"4.*\", destination_namespace=\"$namespace\", destination_revision=~\"$revision\", destination_configuration=~\"$configuration\"}[1m])) ", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "4xxs", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#d44a3a", | |
"rgba(237, 129, 40, 0.89)", | |
"#299c46" | |
], | |
"datasource": "prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 18, | |
"y": 1 | |
}, | |
"id": 9, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(rate(istio_revision_request_count{response_code=~\"5.*\", destination_namespace=\"$namespace\", destination_revision=~\"$revision\", destination_configuration=~\"$configuration\"}[1m])) ", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "5xxs", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 5 | |
}, | |
"id": 11, | |
"panels": [], | |
"title": "Request Volume", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 10, | |
"w": 12, | |
"x": 0, | |
"y": 6 | |
}, | |
"id": 17, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(round(sum(rate(istio_revision_request_count{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\"}[1m])) by (destination_revision), 0.001), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "{{destination_revision}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Request Volume by Revision", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 10, | |
"w": 12, | |
"x": 12, | |
"y": 6 | |
}, | |
"id": 18, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(rate(istio_revision_request_count{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\"}[1m])) by (response_code), 0.001)", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "{{ response_code }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Request Volume by Response Code", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 16 | |
}, | |
"id": 15, | |
"panels": [], | |
"title": "Response Time", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 0, | |
"y": 17 | |
}, | |
"id": 20, | |
"legend": { | |
"alignAsTable": false, | |
"avg": true, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(histogram_quantile(0.50, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\"}[1m])) by (destination_revision, le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_revision }} (p50)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.90, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\"}[1m])) by (destination_revision, le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_revision }} (p90)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.95, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\"}[1m])) by (destination_revision, le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_revision }} (p95)", | |
"refId": "C" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.99, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\"}[1m])) by (destination_revision, le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_revision }} (p99)", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Time by Revision", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 12, | |
"y": 17 | |
}, | |
"id": 21, | |
"legend": { | |
"alignAsTable": false, | |
"avg": true, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(histogram_quantile(0.50, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\",response_code=~\"2.*\"}[1m])) by (le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "2xx (p50)", | |
"refId": "C" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.50, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\",response_code=~\"3.*\"}[1m])) by (le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "3xx (p50)", | |
"refId": "D" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.50, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\",response_code=~\"4.*\"}[1m])) by (le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "4xx (p50)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.50, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\",response_code=~\"5.*\"}[1m])) by (le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "5xx (p50)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.95, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\",response_code=~\"2.*\"}[1m])) by (le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "2xx (p95)", | |
"refId": "E" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.95, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\",response_code=~\"3.*\"}[1m])) by (le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "3xx (p95)", | |
"refId": "F" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.95, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\",response_code=~\"4.*\"}[1m])) by (le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "4xx (p95)", | |
"refId": "G" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.95, sum(rate(istio_revision_request_duration_bucket{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\",destination_revision=~\"$revision\",response_code=~\"5.*\"}[1m])) by (le)), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "5xx (p95)", | |
"refId": "H" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Time by Response Code", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 26 | |
}, | |
"id": 13, | |
"panels": [], | |
"title": "Request and Response Sizes", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 10, | |
"w": 12, | |
"x": 0, | |
"y": 27 | |
}, | |
"id": 22, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(round(sum(rate(istio_revision_response_size_sum{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\"}[1m])) by (destination_revision) / sum(rate(istio_revision_response_size_count{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\"}[1m])) by (destination_revision), 1), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "{{destination_revision}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Size by Revision", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 10, | |
"w": 12, | |
"x": 12, | |
"y": 27 | |
}, | |
"id": 23, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(round(sum(rate(istio_revision_request_size_sum{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\"}[1m])) by (destination_revision) / sum(rate(istio_revision_request_size_count{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\"}[1m])) by (destination_revision), 1), \"destination_revision\", \"$2\", \"destination_revision\", \"$configuration(-+)(.*)\")", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "{{destination_revision}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Request Size by Revision", | |
"tooltip": { | |
"shared": true, | |
"sort": 2, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Namespace", | |
"multi": false, | |
"name": "namespace", | |
"options": [], | |
"query": "label_values(istio_revision_request_count{destination_namespace!=\"unknown\"}, destination_namespace)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Configuration", | |
"multi": false, | |
"name": "configuration", | |
"options": [], | |
"query": "label_values(istio_revision_request_count{destination_namespace=\"$namespace\", destination_configuration!=\"unknown\"}, destination_configuration)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "$tag", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Revision", | |
"multi": true, | |
"name": "revision", | |
"options": [], | |
"query": "label_values(istio_revision_request_count{destination_namespace=\"$namespace\", destination_configuration=~\"$configuration\", destination_revision!=\"unknown\"}, destination_revision)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 2, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-15m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "", | |
"title": "Knative Serving - Revision HTTP Requests", | |
"uid": "im_gFbWik", | |
"version": 2 | |
} | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-definition-knative | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
prometheus.yaml: | | |
datasources: | |
- name: prometheus | |
type: prometheus | |
access: proxy | |
org_id: 1 | |
url: http://prometheus-system-np:8080 | |
version: 1 | |
editable: false | |
kind: ConfigMap | |
metadata: | |
name: grafana-datasources | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
data: | |
dashboards.yaml: | | |
- name: 'knative' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/knative | |
- name: 'knative-efficiency' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/knative-efficiency | |
- name: 'istio' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/istio | |
- name: 'mixer' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/mixer | |
- name: 'pilot' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/pilot | |
- name: 'kubernetes-deployment' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/kubernetes-deployment | |
- name: 'kubernetes-capacity-planning' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/kubernetes-capacity-planning | |
- name: 'kubernetes-cluster-health' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/kubernetes-cluster-health | |
- name: 'kubernetes-cluster-status' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/kubernetes-cluster-status | |
- name: 'kubernetes-control-plane-status' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/kubernetes-control-plane-status | |
- name: 'kubernetes-resource-requests' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/kubernetes-resource-requests | |
- name: 'kubernetes-nodes' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/kubernetes-nodes | |
- name: 'kubernetes-pods' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/kubernetes-pods | |
- name: 'kubernetes-statefulset' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/kubernetes-statefulset | |
- name: 'knative-serving-scaling' | |
org_id: 1 | |
folder: '' | |
type: file | |
options: | |
folder: /grafana-dashboard-definition/scaling | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboards | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: grafana | |
name: grafana | |
namespace: monitoring | |
spec: | |
ports: | |
- port: 30802 | |
protocol: TCP | |
targetPort: 3000 | |
selector: | |
app: grafana | |
type: NodePort | |
--- | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
metadata: | |
name: grafana | |
namespace: monitoring | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: grafana | |
spec: | |
containers: | |
- image: quay.io/coreos/monitoring-grafana:5.0.3 | |
name: grafana | |
ports: | |
- containerPort: 3000 | |
name: web | |
resources: | |
limits: | |
cpu: 200m | |
memory: 200Mi | |
requests: | |
cpu: 100m | |
memory: 100Mi | |
volumeMounts: | |
- mountPath: /data | |
name: grafana-storage | |
- mountPath: /grafana/conf/provisioning/datasources | |
name: grafana-datasources | |
- mountPath: /grafana/conf/provisioning/dashboards | |
name: grafana-dashboards | |
- mountPath: /grafana-dashboard-definition/knative | |
name: grafana-dashboard-definition-knative | |
- mountPath: /grafana-dashboard-definition/knative-efficiency | |
name: grafana-dashboard-definition-knative-efficiency | |
- mountPath: /grafana-dashboard-definition/istio | |
name: grafana-dashboard-definition-istio | |
- mountPath: /grafana-dashboard-definition/mixer | |
name: grafana-dashboard-definition-mixer | |
- mountPath: /grafana-dashboard-definition/pilot | |
name: grafana-dashboard-definition-pilot | |
- mountPath: /grafana-dashboard-definition/kubernetes-deployment | |
name: grafana-dashboard-definition-kubernetes-deployment | |
- mountPath: /grafana-dashboard-definition/kubernetes-capacity-planning | |
name: grafana-dashboard-definition-kubernetes-capacity-planning | |
- mountPath: /grafana-dashboard-definition/kubernetes-cluster-health | |
name: grafana-dashboard-definition-kubernetes-cluster-health | |
- mountPath: /grafana-dashboard-definition/kubernetes-cluster-status | |
name: grafana-dashboard-definition-kubernetes-cluster-status | |
- mountPath: /grafana-dashboard-definition/kubernetes-control-plane-status | |
name: grafana-dashboard-definition-kubernetes-control-plane-status | |
- mountPath: /grafana-dashboard-definition/kubernetes-resource-requests | |
name: grafana-dashboard-definition-kubernetes-resource-requests | |
- mountPath: /grafana-dashboard-definition/kubernetes-nodes | |
name: grafana-dashboard-definition-kubernetes-nodes | |
- mountPath: /grafana-dashboard-definition/kubernetes-pods | |
name: grafana-dashboard-definition-kubernetes-pods | |
- mountPath: /grafana-dashboard-definition/kubernetes-statefulset | |
name: grafana-dashboard-definition-kubernetes-statefulset | |
- mountPath: /grafana-dashboard-definition/scaling | |
name: scaling-config | |
securityContext: | |
runAsNonRoot: true | |
runAsUser: 65534 | |
volumes: | |
- emptyDir: {} | |
name: grafana-storage | |
- configMap: | |
name: grafana-datasources | |
name: grafana-datasources | |
- configMap: | |
name: grafana-dashboards | |
name: grafana-dashboards | |
- configMap: | |
name: grafana-dashboard-definition-knative | |
name: grafana-dashboard-definition-knative | |
- configMap: | |
name: grafana-dashboard-definition-knative-efficiency | |
name: grafana-dashboard-definition-knative-efficiency | |
- configMap: | |
name: grafana-dashboard-definition-istio | |
name: grafana-dashboard-definition-istio | |
- configMap: | |
name: grafana-dashboard-definition-mixer | |
name: grafana-dashboard-definition-mixer | |
- configMap: | |
name: grafana-dashboard-definition-pilot | |
name: grafana-dashboard-definition-pilot | |
- configMap: | |
name: grafana-dashboard-definition-kubernetes-deployment | |
name: grafana-dashboard-definition-kubernetes-deployment | |
- configMap: | |
name: grafana-dashboard-definition-kubernetes-capacity-planning | |
name: grafana-dashboard-definition-kubernetes-capacity-planning | |
- configMap: | |
name: grafana-dashboard-definition-kubernetes-cluster-health | |
name: grafana-dashboard-definition-kubernetes-cluster-health | |
- configMap: | |
name: grafana-dashboard-definition-kubernetes-cluster-status | |
name: grafana-dashboard-definition-kubernetes-cluster-status | |
- configMap: | |
name: grafana-dashboard-definition-kubernetes-control-plane-status | |
name: grafana-dashboard-definition-kubernetes-control-plane-status | |
- configMap: | |
name: grafana-dashboard-definition-kubernetes-resource-requests | |
name: grafana-dashboard-definition-kubernetes-resource-requests | |
- configMap: | |
name: grafana-dashboard-definition-kubernetes-nodes | |
name: grafana-dashboard-definition-kubernetes-nodes | |
- configMap: | |
name: grafana-dashboard-definition-kubernetes-pods | |
name: grafana-dashboard-definition-kubernetes-pods | |
- configMap: | |
name: grafana-dashboard-definition-kubernetes-statefulset | |
name: grafana-dashboard-definition-kubernetes-statefulset | |
- configMap: | |
name: scaling-config | |
name: scaling-config | |
--- null | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: logentry | |
metadata: | |
name: requestlog | |
namespace: istio-system | |
spec: | |
monitored_resource_type: '"UNSPECIFIED"' | |
severity: '"Info"' | |
timestamp: request.time | |
variables: | |
destinationConfiguration: destination.labels["serving.knative.dev/configuration"] | |
| "unknown" | |
destinationNamespace: destination.namespace | "" | |
destinationRevision: destination.labels["serving.knative.dev/revision"] | "unknown" | |
destinationService: destination.service | "" | |
latency: response.duration | "0ms" | |
method: request.method | "" | |
protocol: request.scheme | "http" | |
referer: request.referer | "unknown" | |
requestHost: request.host | "" | |
requestSize: request.size | 0 | |
responseCode: response.code | 0 | |
responseSize: response.size | 0 | |
sourceNamespace: source.namespace | "unknown" | |
sourceService: source.service | "unknown" | |
traceId: request.headers["x-b3-traceid"] | "unknown" | |
url: request.path | "" | |
userAgent: request.useragent | "unknown" | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: fluentd | |
metadata: | |
name: requestloghandler | |
namespace: istio-system | |
spec: | |
address: fluentd-ds.monitoring:24224 | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: rule | |
metadata: | |
name: requestlogtofluentd | |
namespace: istio-system | |
spec: | |
actions: | |
- handler: requestloghandler.fluentd | |
instances: | |
- requestlog.logentry | |
match: "true" | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: metric | |
metadata: | |
name: revisionrequestcount | |
namespace: istio-system | |
spec: | |
dimensions: | |
destination_configuration: destination.labels["serving.knative.dev/configuration"] | |
| "unknown" | |
destination_namespace: destination.namespace | "unknown" | |
destination_revision: destination.labels["serving.knative.dev/revision"] | "unknown" | |
destination_service: destination.service | "unknown" | |
response_code: response.code | 200 | |
source_service: source.service | "unknown" | |
monitored_resource_type: '"UNSPECIFIED"' | |
value: "1" | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: metric | |
metadata: | |
name: revisionrequestduration | |
namespace: istio-system | |
spec: | |
dimensions: | |
destination_configuration: destination.labels["serving.knative.dev/configuration"] | |
| "unknown" | |
destination_namespace: destination.namespace | "unknown" | |
destination_revision: destination.labels["serving.knative.dev/revision"] | "unknown" | |
destination_service: destination.service | "unknown" | |
response_code: response.code | 200 | |
source_service: source.service | "unknown" | |
monitored_resource_type: '"UNSPECIFIED"' | |
value: response.duration | "0ms" | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: metric | |
metadata: | |
name: revisionrequestsize | |
namespace: istio-system | |
spec: | |
dimensions: | |
destination_configuration: destination.labels["serving.knative.dev/configuration"] | |
| "unknown" | |
destination_namespace: destination.namespace | "unknown" | |
destination_revision: destination.labels["serving.knative.dev/revision"] | "unknown" | |
destination_service: destination.service | "unknown" | |
response_code: response.code | 200 | |
source_service: source.service | "unknown" | |
monitored_resource_type: '"UNSPECIFIED"' | |
value: request.size | 0 | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: metric | |
metadata: | |
name: revisionresponsesize | |
namespace: istio-system | |
spec: | |
dimensions: | |
destination_configuration: destination.labels["serving.knative.dev/configuration"] | |
| "unknown" | |
destination_namespace: destination.namespace | "unknown" | |
destination_revision: destination.labels["serving.knative.dev/revision"] | "unknown" | |
destination_service: destination.service | "unknown" | |
response_code: response.code | 200 | |
source_service: source.service | "unknown" | |
monitored_resource_type: '"UNSPECIFIED"' | |
value: response.size | 0 | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: prometheus | |
metadata: | |
name: revisionpromhandler | |
namespace: istio-system | |
spec: | |
metrics: | |
- instance_name: revisionrequestcount.metric.istio-system | |
kind: COUNTER | |
label_names: | |
- source_service | |
- destination_namespace | |
- destination_service | |
- destination_revision | |
- destination_configuration | |
- response_code | |
name: revision_request_count | |
- buckets: | |
explicit_buckets: | |
bounds: | |
- 0.005 | |
- 0.01 | |
- 0.025 | |
- 0.05 | |
- 0.1 | |
- 0.25 | |
- 0.5 | |
- 1 | |
- 2.5 | |
- 5 | |
- 10 | |
instance_name: revisionrequestduration.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- source_service | |
- destination_namespace | |
- destination_service | |
- destination_revision | |
- destination_configuration | |
- response_code | |
name: revision_request_duration | |
- buckets: | |
exponentialBuckets: | |
growthFactor: 10 | |
numFiniteBuckets: 8 | |
scale: 1 | |
instance_name: revisionrequestsize.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- source_service | |
- destination_namespace | |
- destination_service | |
- destination_revision | |
- destination_configuration | |
- response_code | |
name: revision_request_size | |
- buckets: | |
exponentialBuckets: | |
growthFactor: 10 | |
numFiniteBuckets: 8 | |
scale: 1 | |
instance_name: revisionresponsesize.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- source_service | |
- destination_namespace | |
- destination_service | |
- destination_revision | |
- destination_configuration | |
- response_code | |
name: revision_response_size | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: rule | |
metadata: | |
labels: | |
istio-protocol: http | |
name: revisionpromhttp | |
namespace: istio-system | |
spec: | |
actions: | |
- handler: revisionpromhandler.prometheus | |
instances: | |
- revisionrequestcount.metric | |
- revisionrequestduration.metric | |
- revisionrequestsize.metric | |
- revisionresponsesize.metric | |
--- null | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: zipkin | |
namespace: istio-system | |
spec: | |
ports: | |
- name: http | |
port: 9411 | |
selector: | |
app: zipkin | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: zipkin | |
namespace: istio-system | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
annotations: | |
sidecar.istio.io/inject: "false" | |
labels: | |
app: zipkin | |
spec: | |
containers: | |
- env: | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: STORAGE_TYPE | |
value: elasticsearch | |
- name: ES_HOSTS | |
value: elasticsearch-logging.monitoring.svc.cluster.local:9200 | |
- name: ES_INDEX | |
value: zipkin | |
- name: ZIPKIN_UI_LOGS_URL | |
value: http://localhost:8001/api/v1/namespaces/monitoring/services/kibana-logging/proxy/app/kibana#/ | |
image: docker.io/openzipkin/zipkin:latest | |
imagePullPolicy: IfNotPresent | |
name: zipkin | |
ports: | |
- containerPort: 9411 | |
--- null | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: kube-controller-manager | |
name: kube-controller-manager | |
namespace: monitoring | |
spec: | |
clusterIP: None | |
ports: | |
- name: http-metrics | |
port: 10252 | |
protocol: TCP | |
targetPort: 10252 | |
selector: | |
k8s-app: kube-controller-manager | |
type: ClusterIP | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: prometheus | |
name: prometheus-system-discovery | |
namespace: monitoring | |
spec: | |
clusterIP: None | |
ports: | |
- name: web | |
port: 9090 | |
protocol: TCP | |
targetPort: web | |
selector: | |
app: prometheus | |
sessionAffinity: None | |
type: ClusterIP | |
--- | |
apiVersion: v1 | |
data: | |
prometheus.yml: |- | |
global: | |
scrape_interval: 30s | |
scrape_timeout: 10s | |
evaluation_interval: 30s | |
scrape_configs: | |
# Autoscaler endpoint | |
- job_name: autoscaler | |
scrape_interval: 3s | |
scrape_timeout: 3s | |
kubernetes_sd_configs: | |
- role: endpoints | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_service_label_serving_knative_dev_autoscaler] | |
action: keep | |
regex: .+ | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: knative-serving;autoscaler-port | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Fluentd daemonset | |
- job_name: fluentd-ds | |
kubernetes_sd_configs: | |
- role: endpoints | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_label_app, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: monitoring;fluentd-ds;prometheus-metrics | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Istio mesh | |
- job_name: istio-mesh | |
scrape_interval: 5s | |
kubernetes_sd_configs: | |
- role: endpoints | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-system;istio-telemetry;prometheus | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Istio Envoy | |
# These are very noisy and not enabled by default. | |
# - job_name: istio-envoy | |
# scrape_interval: 5s | |
# kubernetes_sd_configs: | |
# - role: endpoints | |
# relabel_configs: | |
# # Scrape only the the targets matching the following metadata | |
# - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
# action: keep | |
# regex: istio-system;istio-statsd-prom-bridge;statsd-prom | |
# # Rename metadata labels to be reader friendly | |
# - source_labels: [__meta_kubernetes_namespace] | |
# action: replace | |
# regex: (.*) | |
# target_label: namespace | |
# replacement: $1 | |
# - source_labels: [__meta_kubernetes_pod_name] | |
# action: replace | |
# regex: (.*) | |
# target_label: pod | |
# replacement: $1 | |
# - source_labels: [__meta_kubernetes_service_name] | |
# action: replace | |
# regex: (.*) | |
# target_label: service | |
# replacement: $1 | |
# Istio policy | |
- job_name: istio-policy | |
scrape_interval: 5s | |
kubernetes_sd_configs: | |
- role: endpoints | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-system;istio-policy;http-monitoring | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Istio telemetry | |
- job_name: istio-telemetry | |
scrape_interval: 5s | |
kubernetes_sd_configs: | |
- role: endpoints | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-system;istio-telemetry;http-monitoring | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Istio pilot | |
- job_name: istio-pilot | |
scrape_interval: 5s | |
kubernetes_sd_configs: | |
- role: endpoints | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-system;istio-pilot;http-monitoring | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Kube API server | |
- job_name: kube-apiserver | |
scheme: https | |
kubernetes_sd_configs: | |
- role: endpoints | |
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
tls_config: | |
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
server_name: kubernetes | |
insecure_skip_verify: false | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_label_component, __meta_kubernetes_service_label_provider, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: default;apiserver;kubernetes;https | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Kube controller manager | |
- job_name: kube-controller-manager | |
kubernetes_sd_configs: | |
- role: endpoints | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_label_app, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: monitoring;kube-controller-manager;http-metrics | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Kube scheduler | |
- job_name: kube-scheduler | |
kubernetes_sd_configs: | |
- role: endpoints | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_label_k8s_app, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: kube-system;kube-scheduler;http-metrics | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Kube state metrics on https-main port | |
- job_name: kube-state-metrics-https-main | |
honor_labels: true | |
scheme: https | |
kubernetes_sd_configs: | |
- role: endpoints | |
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
tls_config: | |
insecure_skip_verify: true | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_label_app, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: monitoring;kube-state-metrics;https-main | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Kube state metrics on https-self port | |
- job_name: kube-state-metrics-https-self | |
scheme: https | |
kubernetes_sd_configs: | |
- role: endpoints | |
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
tls_config: | |
insecure_skip_verify: true | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_label_app, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: monitoring;kube-state-metrics;https-self | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Kubelet - nodes | |
# Rather than connecting directly to the node, the scrape is proxied though the | |
# Kubernetes apiserver. This means it will work if Prometheus is running out of | |
# cluster, or can't connect to nodes for some other reason (e.g. because of | |
# firewalling). | |
- job_name: kubernetes-nodes | |
scheme: https | |
tls_config: | |
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
kubernetes_sd_configs: | |
- role: node | |
relabel_configs: | |
- action: labelmap | |
regex: __meta_kubernetes_node_label_(.+) | |
- target_label: __address__ | |
replacement: kubernetes.default.svc:443 | |
- source_labels: [__meta_kubernetes_node_name] | |
regex: (.+) | |
target_label: __metrics_path__ | |
replacement: /api/v1/nodes/${1}/proxy/metrics | |
# Kubelet - cAdvisor | |
# | |
# This is required for Kubernetes 1.7.3 and later, where cAdvisor metrics | |
# (those whose names begin with 'container_') have been removed from the | |
# Kubelet metrics endpoint. This job scrapes the cAdvisor endpoint to | |
# retrieve those metrics. | |
# | |
# In Kubernetes 1.7.0-1.7.2, these metrics are only exposed on the cAdvisor | |
# HTTP endpoint; use "replacement: /api/v1/nodes/${1}:4194/proxy/metrics" | |
# in that case (and ensure cAdvisor's HTTP server hasn't been disabled with | |
# the --cadvisor-port=0 Kubelet flag). | |
- job_name: kubernetes-cadvisor | |
scrape_interval: 15s | |
scheme: https | |
tls_config: | |
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
kubernetes_sd_configs: | |
- role: node | |
relabel_configs: | |
- action: labelmap | |
regex: __meta_kubernetes_node_label_(.+) | |
- target_label: __address__ | |
replacement: kubernetes.default.svc:443 | |
- source_labels: [__meta_kubernetes_node_name] | |
regex: (.+) | |
target_label: __metrics_path__ | |
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor | |
# Node exporter | |
- job_name: node-exporter | |
scheme: https | |
kubernetes_sd_configs: | |
- role: endpoints | |
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
tls_config: | |
insecure_skip_verify: true | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_label_app, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: monitoring;node-exporter;https | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
# Prometheus | |
- job_name: prometheus | |
kubernetes_sd_configs: | |
- role: endpoints | |
relabel_configs: | |
# Scrape only the the targets matching the following metadata | |
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_label_app, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: monitoring;prometheus;web | |
# Rename metadata labels to be reader friendly | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
regex: (.*) | |
target_label: namespace | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
regex: (.*) | |
target_label: pod | |
replacement: $1 | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
regex: (.*) | |
target_label: service | |
replacement: $1 | |
kind: ConfigMap | |
metadata: | |
labels: | |
name: prometheus-scrape-config | |
name: prometheus-scrape-config | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: prometheus-system | |
namespace: monitoring | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: Role | |
metadata: | |
name: prometheus-system | |
namespace: default | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- nodes | |
- services | |
- endpoints | |
- pods | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: | |
- "" | |
resources: | |
- configmaps | |
verbs: | |
- get | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: Role | |
metadata: | |
name: prometheus-system | |
namespace: monitoring | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- nodes | |
- services | |
- endpoints | |
- pods | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: | |
- "" | |
resources: | |
- configmaps | |
verbs: | |
- get | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: Role | |
metadata: | |
name: prometheus-system | |
namespace: kube-system | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- services | |
- endpoints | |
- pods | |
verbs: | |
- get | |
- list | |
- watch | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: Role | |
metadata: | |
name: prometheus-system | |
namespace: istio-system | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- nodes/metrics | |
- nodes | |
- services | |
- endpoints | |
- pods | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: | |
- "" | |
resources: | |
- configmaps | |
verbs: | |
- get | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: prometheus-system | |
namespace: monitoring | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- nodes/metrics | |
- nodes | |
- services | |
- endpoints | |
- pods | |
- nodes/proxy | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: | |
- "" | |
resources: | |
- configmaps | |
verbs: | |
- get | |
- nonResourceURLs: | |
- /metrics | |
verbs: | |
- get | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: RoleBinding | |
metadata: | |
name: prometheus-system | |
namespace: default | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: prometheus-system | |
subjects: | |
- kind: ServiceAccount | |
name: prometheus-system | |
namespace: monitoring | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: RoleBinding | |
metadata: | |
name: prometheus-system | |
namespace: monitoring | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: prometheus-system | |
subjects: | |
- kind: ServiceAccount | |
name: prometheus-system | |
namespace: monitoring | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: RoleBinding | |
metadata: | |
name: prometheus-system | |
namespace: kube-system | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: prometheus-system | |
subjects: | |
- kind: ServiceAccount | |
name: prometheus-system | |
namespace: monitoring | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: RoleBinding | |
metadata: | |
name: prometheus-system | |
namespace: istio-system | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: prometheus-system | |
subjects: | |
- kind: ServiceAccount | |
name: prometheus-system | |
namespace: monitoring | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: prometheus-system | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: prometheus-system | |
subjects: | |
- kind: ServiceAccount | |
name: prometheus-system | |
namespace: monitoring | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: prometheus-system-np | |
namespace: monitoring | |
spec: | |
ports: | |
- port: 8080 | |
targetPort: 9090 | |
selector: | |
app: prometheus | |
type: NodePort | |
--- | |
apiVersion: apps/v1 | |
kind: StatefulSet | |
metadata: | |
name: prometheus-system | |
namespace: monitoring | |
spec: | |
podManagementPolicy: Parallel | |
replicas: 2 | |
selector: | |
matchLabels: | |
app: prometheus | |
serviceName: prometheus-system | |
template: | |
metadata: | |
labels: | |
app: prometheus | |
spec: | |
containers: | |
- args: | |
- --config.file=/etc/prometheus/prometheus.yml | |
- --storage.tsdb.path=/prometheus | |
- --storage.tsdb.retention=2d | |
- --storage.tsdb.no-lockfile | |
- --web.enable-lifecycle | |
- --web.route-prefix=/ | |
image: prom/prometheus:v2.2.1 | |
imagePullPolicy: IfNotPresent | |
livenessProbe: | |
failureThreshold: 10 | |
httpGet: | |
path: /-/healthy | |
port: web | |
scheme: HTTP | |
initialDelaySeconds: 30 | |
timeoutSeconds: 3 | |
name: prometheus | |
ports: | |
- containerPort: 9090 | |
name: web | |
protocol: TCP | |
readinessProbe: | |
failureThreshold: 10 | |
httpGet: | |
path: /-/ready | |
port: web | |
scheme: HTTP | |
timeoutSeconds: 3 | |
resources: | |
requests: | |
memory: 400Mi | |
terminationMessagePath: /dev/termination-log | |
volumeMounts: | |
- mountPath: /etc/prometheus/ | |
name: prometheus-config-volume | |
- mountPath: /prometheus/ | |
name: prometheus-storage-volume | |
serviceAccountName: prometheus-system | |
terminationGracePeriodSeconds: 600 | |
volumes: | |
- configMap: | |
defaultMode: 420 | |
name: prometheus-scrape-config | |
name: prometheus-config-volume | |
- emptyDir: {} | |
name: prometheus-storage-volume | |
updateStrategy: | |
type: RollingUpdate | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: logentry | |
metadata: | |
name: requestlog | |
namespace: istio-system | |
spec: | |
monitored_resource_type: '"UNSPECIFIED"' | |
severity: '"Info"' | |
timestamp: request.time | |
variables: | |
destinationConfiguration: destination.labels["serving.knative.dev/configuration"] | |
| "unknown" | |
destinationNamespace: destination.namespace | "" | |
destinationRevision: destination.labels["serving.knative.dev/revision"] | "unknown" | |
destinationService: destination.service | "" | |
latency: response.duration | "0ms" | |
method: request.method | "" | |
protocol: request.scheme | "http" | |
referer: request.referer | "unknown" | |
requestHost: request.host | "" | |
requestSize: request.size | 0 | |
responseCode: response.code | 0 | |
responseSize: response.size | 0 | |
sourceNamespace: source.namespace | "unknown" | |
sourceService: source.service | "unknown" | |
traceId: request.headers["x-b3-traceid"] | "unknown" | |
url: request.path | "" | |
userAgent: request.useragent | "unknown" | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: fluentd | |
metadata: | |
name: requestloghandler | |
namespace: istio-system | |
spec: | |
address: fluentd-ds.monitoring:24224 | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: rule | |
metadata: | |
name: requestlogtofluentd | |
namespace: istio-system | |
spec: | |
actions: | |
- handler: requestloghandler.fluentd | |
instances: | |
- requestlog.logentry | |
match: "true" | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: metric | |
metadata: | |
name: revisionrequestcount | |
namespace: istio-system | |
spec: | |
dimensions: | |
destination_configuration: destination.labels["serving.knative.dev/configuration"] | |
| "unknown" | |
destination_namespace: destination.namespace | "unknown" | |
destination_revision: destination.labels["serving.knative.dev/revision"] | "unknown" | |
destination_service: destination.service | "unknown" | |
response_code: response.code | 200 | |
source_service: source.service | "unknown" | |
monitored_resource_type: '"UNSPECIFIED"' | |
value: "1" | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: metric | |
metadata: | |
name: revisionrequestduration | |
namespace: istio-system | |
spec: | |
dimensions: | |
destination_configuration: destination.labels["serving.knative.dev/configuration"] | |
| "unknown" | |
destination_namespace: destination.namespace | "unknown" | |
destination_revision: destination.labels["serving.knative.dev/revision"] | "unknown" | |
destination_service: destination.service | "unknown" | |
response_code: response.code | 200 | |
source_service: source.service | "unknown" | |
monitored_resource_type: '"UNSPECIFIED"' | |
value: response.duration | "0ms" | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: metric | |
metadata: | |
name: revisionrequestsize | |
namespace: istio-system | |
spec: | |
dimensions: | |
destination_configuration: destination.labels["serving.knative.dev/configuration"] | |
| "unknown" | |
destination_namespace: destination.namespace | "unknown" | |
destination_revision: destination.labels["serving.knative.dev/revision"] | "unknown" | |
destination_service: destination.service | "unknown" | |
response_code: response.code | 200 | |
source_service: source.service | "unknown" | |
monitored_resource_type: '"UNSPECIFIED"' | |
value: request.size | 0 | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: metric | |
metadata: | |
name: revisionresponsesize | |
namespace: istio-system | |
spec: | |
dimensions: | |
destination_configuration: destination.labels["serving.knative.dev/configuration"] | |
| "unknown" | |
destination_namespace: destination.namespace | "unknown" | |
destination_revision: destination.labels["serving.knative.dev/revision"] | "unknown" | |
destination_service: destination.service | "unknown" | |
response_code: response.code | 200 | |
source_service: source.service | "unknown" | |
monitored_resource_type: '"UNSPECIFIED"' | |
value: response.size | 0 | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: prometheus | |
metadata: | |
name: revisionpromhandler | |
namespace: istio-system | |
spec: | |
metrics: | |
- instance_name: revisionrequestcount.metric.istio-system | |
kind: COUNTER | |
label_names: | |
- source_service | |
- destination_namespace | |
- destination_service | |
- destination_revision | |
- destination_configuration | |
- response_code | |
name: revision_request_count | |
- buckets: | |
explicit_buckets: | |
bounds: | |
- 0.005 | |
- 0.01 | |
- 0.025 | |
- 0.05 | |
- 0.1 | |
- 0.25 | |
- 0.5 | |
- 1 | |
- 2.5 | |
- 5 | |
- 10 | |
instance_name: revisionrequestduration.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- source_service | |
- destination_namespace | |
- destination_service | |
- destination_revision | |
- destination_configuration | |
- response_code | |
name: revision_request_duration | |
- buckets: | |
exponentialBuckets: | |
growthFactor: 10 | |
numFiniteBuckets: 8 | |
scale: 1 | |
instance_name: revisionrequestsize.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- source_service | |
- destination_namespace | |
- destination_service | |
- destination_revision | |
- destination_configuration | |
- response_code | |
name: revision_request_size | |
- buckets: | |
exponentialBuckets: | |
growthFactor: 10 | |
numFiniteBuckets: 8 | |
scale: 1 | |
instance_name: revisionresponsesize.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- source_service | |
- destination_namespace | |
- destination_service | |
- destination_revision | |
- destination_configuration | |
- response_code | |
name: revision_response_size | |
--- | |
apiVersion: config.istio.io/v1alpha2 | |
kind: rule | |
metadata: | |
labels: | |
istio-protocol: http | |
name: revisionpromhttp | |
namespace: istio-system | |
spec: | |
actions: | |
- handler: revisionpromhandler.prometheus | |
instances: | |
- revisionrequestcount.metric | |
- revisionrequestduration.metric | |
- revisionrequestsize.metric | |
- revisionresponsesize.metric | |
--- null |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment