Introduction
The Kubernetes apiserver validates and configures data for the api objects which include pods, services, replicationcontrollers, and others. The kube-apiserver services the REST operations and provides the frontend to the cluster shared state through which all other components interact.
By default, the kube-apiserver runs on port 6443 and exposes the metrics of /metrics in openMetric format. The Agent hits the endpoint with the kubernetes client and fetches the metrics automatically. Therefore, no extra configuration or detection logic is required.
Go to Infrastructure > Resources tab to check if your resources are onboarded and the metrics are collected.
G1 Monitoring
Collector Type: Agent
Category: Application Monitors
Application Name: K8sApiServer
Global Template Name: Kubernetes ApiServer
Collected Metrics
Metric Name | Display Name | Description |
---|---|---|
apiserver.go.threads.total | Kube apiserver Go Threads Total | Number of OS threads created. |
apiserver.authenticated.user.requests | Kube apiserver Authenticated User Requests | Counter of authenticated requests broken out by username. |
apiserver.http.requests.total.count | Kube apiserver HTTP Requests Total Count | Total number of HTTP requests made. |
apiserver.authenticated.user.requests.count | Kube apiserver Authenticated User Requests Count | Counter of authenticated requests broken out by username. |
docker_container_size-rootfs-95percentile | Root Filesystem Size 95Percentile | 95th percentile of docker.container.size_rootfs. |
apiserver.dropped.requests.total | Kube apiserver Dropped Requests Total | Accumulated number of requests dropped with Try-again-later response. |
apiserver.http.requests.total | Kube apiserver HTTP Requests Total | Total number of HTTP requests made. |
apiserver.audit.event.total | Kube apiserver Audit Event Total | Counter of audit events generated and sent to the audit backend. |
apiserver.rest.client.requests.total | Kube apiserver Rest Client Requests Total | Number of HTTP requests, partitioned by status code, method, and host. |
apiserver.request.count | Kube apiserver Request Count | Counter of apiserver requests broken out for each verb, group, version, resource, scope, component, client, and HTTP response contentType and code. |
apiserver.request.count.count | Kube apiserver Request Count Count | Counter of apiserver requests broken out for each verb, group, version, resource, scope, component, client, and HTTP response contentType and code. |
apiserver.dropped.requests.total.count | Kube apiserver Dropped Requests Total Count | Monotonic count of requests dropped with Try-again-later response. |
apiserver.inflight.requests | Kube apiserver Inflight Requests | Maximal number of currently used inflight request limit of this apiserver per request kind in last second. |
apiserver.go.goroutines | Kube apiserver Goroutines | Number of goroutines that currently exist. |
apiserver.APIServiceRegistrationController.depth | Kube apiserver APIService Registration Controller Depth | Current depth of workqueue: APIServiceRegistrationController. |
apiserver.etcd.object.counts | Kube apiserver ETCD Object Counts | Number of stored objects at the time of last check split by kind. |
apiserver.rest.client.requests.total.count | Kube apiserver Rest Client Requests Total Count | Number of HTTP requests, partitioned by status code, method, and host. |
apiserver_request_duration_seconds_bucket | Kube apiserver Request Duration Seconds Bucket | The Response latency distribution in seconds for each verb, dry run value, group, version, resource, sub-resource, scope, and component. |
G2 Monitoring
Collector Type: Agent
Category: Application Monitors
Application Name: K8sApiServer
G2 Monitor Name: Agent G2 - Linux - Kubernetes ApiServer - v2
Global Template Name: Agent G2 - Linux - Kubernetes ApiServer - v2
Collected Metrics
Metric Name | Display Name | Description |
---|---|---|
apiserver.go.threads.total | Kube apiserver Go Threads Total | Number of OS threads created. |
apiserver.authenticated.user.requests | Kube apiserver Authenticated User Requests | Counter of authenticated requests broken out by username. |
apiserver.http.requests.total.count | Kube apiserver HTTP Requests Total Count | Total number of HTTP requests made. |
apiserver.authenticated.user.requests.count | Kube apiserver Authenticated User Requests Count | Counter of authenticated requests broken out by username. |
docker_container_size-rootfs-95percentile | Root Filesystem Size 95Percentile | 95th percentile of docker.container.size_rootfs. |
apiserver.dropped.requests.total | Kube apiserver Dropped Requests Total | Accumulated number of requests dropped with Try-again-later response. |
apiserver.http.requests.total | Kube apiserver HTTP Requests Total | Total number of HTTP requests made. |
apiserver.audit.event.total | Kube apiserver Audit Event Total | Counter of audit events generated and sent to the audit backend. |
apiserver.rest.client.requests.total | Kube apiserver Rest Client Requests Total | Number of HTTP requests, partitioned by status code, method, and host. |
apiserver.request.count | Kube apiserver Request Count | Counter of apiserver requests broken out for each verb, group, version, resource, scope, component, client, and HTTP response contentType and code. |
apiserver.request.count.count | Kube apiserver Request Count Count | Counter of apiserver requests broken out for each verb, group, version, resource, scope, component, client, and HTTP response contentType and code. |
apiserver.dropped.requests.total.count | Kube apiserver Dropped Requests Total Count | Monotonic count of requests dropped with Try-again-later response. |
apiserver.inflight.requests | Kube apiserver Inflight Requests | Maximal number of currently used inflight request limit of this apiserver per request kind in last second. |
apiserver.go.goroutines | Kube apiserver Goroutines | Number of goroutines that currently exist. |
apiserver.APIServiceRegistrationController.depth | Kube apiserver APIService Registration Controller Depth | Current depth of workqueue: APIServiceRegistrationController. |
apiserver.etcd.object.counts | Kube apiserver ETCD Object Counts | Number of stored objects at the time of last check split by kind. |
apiserver.rest.client.requests.total.count | Kube apiserver Rest Client Requests Total Count | Number of HTTP requests, partitioned by status code, method, and host. |
apiserver_request_duration_seconds_bucket | Kube apiserver Request Duration Seconds Bucket | The Response latency distribution in seconds for each verb, dry run value, group, version, resource, sub-resource, scope, and component. |
apiserver_request_terminations_total | Kube Apiserver Request Terminations Total | Number of requests which apiserver terminated in self-defense. |
apiserver_request_duration_seconds_sum | Kube Apiserver Request Duration Seconds Sum | The response latency distribution in seconds for each verb, dry run value, group, version, resource, sub-resource, scope, and component. |
apiserver_request_duration_seconds_count | Kube Apiserver Request Duration Seconds Count | The response latency distribution in seconds for each verb, dry run value, group, version, resource, sub-resource, scope, and component count. |
apiserver_up | Kube Apiserver Up | Uptime of apiserver instance. Returns 0, if instance is down and 1 if instance is up. |