Introduction

Istio is an open-source service mesh that provides traffic management, security, and observability for microservices. It manages service-to-service communication and provides deep insights into service behavior.

Prometheus metrics are exposed via: http://<istiod-host>:15014/metrics (Istiod)

Kubernetes 2.0 ConfigMap

Users should update or append the existing ConfigMap named opsramp-workload-metric-user-config by adding application-specific fields. These fields may include authentication credentials, collection frequency, and other relevant configurations.

apiVersion: v1
kind: ConfigMap
metadata:
  name: opsramp-workload-metric-user-config
  namespace: opsramp-agent
data:
  workloads: |
    istio:
    - name: istio
      collectionFrequency: 60s
      port: 15014
      filters:
        - regex: 'istio_requests_total'
          action: include
        - regex: 'pilot_xds'
          action: include
      targetPodSelector:
        matchLabels:
          - key: app.kubernetes.io/name
            operator: ==
            value:
              - istiod

Supported Metrics

Supported metrics for this workload as provided by the Kubernetes 2.0 Agent.

MetricDescription
citadel_server_csr_countTotal number of Certificate Signing Requests (CSRs) received by the Citadel server.
citadel_server_root_cert_expiry_secondsTime in seconds until the root certificate expires.
citadel_server_root_cert_expiry_timestampTimestamp of the root certificate's expiration.
citadel_server_success_cert_issuance_countNumber of certificates successfully issued by the Citadel server.
controller_sync_errors_totalTotal number of errors encountered during controller synchronization.
endpoint_no_podNumber of endpoints without an associated pod.
go_gc_duration_secondsDuration of garbage collection cycles in seconds.
go_gc_duration_seconds_sumTotal duration of all garbage collection cycles.
go_gc_duration_seconds_countNumber of garbage collection cycles executed.
go_gc_gogc_percentCurrent garbage collection target percentage for Go runtime.
go_gc_gomemlimit_bytesMemory limit for Go's garbage collector.
go_goroutinesNumber of currently running goroutines.
go_infoGo runtime information including version.
go_memstats_alloc_bytesCurrent bytes allocated in the heap.
go_memstats_alloc_bytes_totalTotal bytes allocated over the application's lifetime.
go_memstats_buck_hash_sys_bytesBytes used for Go's internal bucket hash structures.
go_memstats_frees_totalTotal number of freed heap objects.
go_memstats_gc_sys_bytesBytes used for garbage collection metadata.
go_memstats_heap_alloc_bytesCurrent bytes allocated in the heap.
go_memstats_heap_idle_bytesBytes in idle heap spans (not actively used).
go_memstats_heap_inuse_bytesBytes in active heap spans (currently allocated memory).
go_memstats_heap_objectsNumber of allocated heap objects.
go_memstats_heap_released_bytesBytes released to the OS by the Go runtime.
go_memstats_heap_sys_bytesBytes requested from the OS for heap memory.
go_memstats_last_gc_time_secondsTime of the last garbage collection cycle in seconds.
go_memstats_mallocs_totalTotal number of heap allocations.
go_memstats_mcache_inuse_bytesBytes in-use by memory cache structures.
go_memstats_mcache_sys_bytesBytes allocated by the OS for memory cache structures.
go_memstats_mspan_inuse_bytesBytes in-use by memory span structures.
go_memstats_mspan_sys_bytesBytes allocated by the OS for memory span structures.
go_memstats_next_gc_bytesMemory threshold at which the next garbage collection will trigger.
go_memstats_other_sys_bytesBytes used for miscellaneous Go runtime structures.
go_memstats_stack_inuse_bytesBytes currently used by Go stack memory.
go_memstats_stack_sys_bytesBytes allocated by the OS for Go stack memory.
go_memstats_sys_bytesTotal bytes requested from the OS by the Go runtime.
go_sched_gomaxprocs_threadsNumber of CPU threads available to the Go scheduler.
go_threadsNumber of system threads created by the Go runtime.
grpc_server_handled_totalTotal number of gRPC requests handled by the server.
grpc_server_handling_seconds_bucketHistogram buckets for gRPC request handling time.
grpc_server_handling_seconds_sumTotal time spent handling gRPC requests.
grpc_server_handling_seconds_countTotal count of handled gRPC requests.
grpc_server_msg_received_totalTotal number of gRPC messages received.
grpc_server_msg_sent_totalTotal number of gRPC messages sent.
grpc_server_started_totalTotal number of gRPC requests started.
istio_buildIstio build version information.
istiod_managed_clustersNumber of clusters managed by Istiod.
istiod_uptime_secondsTotal uptime of Istiod in seconds.
process_cpu_seconds_totalTotal CPU time consumed by the process.
process_max_fdsMaximum number of open file descriptors allowed for the process.
process_network_receive_bytes_totalTotal number of bytes received over the network.
process_network_transmit_bytes_totalTotal number of bytes transmitted over the network.
process_open_fdsNumber of currently open file descriptors.
process_resident_memory_bytesAmount of physical memory used by the process.
process_start_time_secondsProcess start time since epoch in seconds.
process_virtual_memory_bytesTotal virtual memory allocated to the process.
process_virtual_memory_max_bytesMaximum virtual memory allocated to the process.
sidecar_injection_requests_totalTotal number of sidecar injection requests received.
sidecar_injection_success_totalTotal number of successful sidecar injections.