Kubernetes monitoring
Included in Infrastructure monitoring is the ability to monitored Kubernetes (K8s) clusters. If you use K8s clusters to distribute resources across multiple nodes, you can use SolarWinds Observability to monitor the resource usage, responsiveness, and error rate of your cluster and its nodes.
Monitor a K8s cluster
To monitor a K8s cluster that uses a Prometheus service, install a SWO K8s Collector on your cluster. The collector connects to the Prometheus service to gather metrics, event, and logs and send them to SolarWinds Observability. For detailed instructions, see Add a Kubernetes cluster; for advanced configuration options, see values.yaml in the SWO K8s Collector GitHub repository.
The SWO K8s Collector uses an industry standard Helm package manager. Helm allows for easier deployments, upgrades, and changes to the collector in your K8s cluster. To see the latest enhancements and avoid an incomplete view of the data in your dashboards, keep your configurations up-to-date with the latest version of the SWO K8s Collector. See Upgrade Kubernetes monitoring whenever updates are available.
Review K8s entity details
A Kubernetes cluster entity is created for each cluster that is monitored, as well as child Kubernetes node entities for each node on the cluster. High level summaries of the Kubernetes cluster and node entities are available in widgets in the Entity Explorer and Kubernetes area overview, as are widgets containing metrics gathered for the entity or entities. In addition to general performance metrics for the cluster itself, each Kubernetes cluster entity monitors the following items as individual elements: Namespaces, Pods, Deployments, StatefulSets, and DaemonSets. To view details about each monitored element, click the tab for the respective element type and click an element in the list. These metrics are also available in the Metrics Explorer.
The Events tab of the Kubernetes cluster details view of the Entity Explorer lists events collected from your cluster during the specified time period. To create alerts for Kubernetes events, hover over the event you want to create an alert for, click the vertical ellipsis () on the right, and select Create alert. To find a specific event, do any of the following:
-
To change the time period, click the drop-down menu in the upper-right corner and choose how much historical data to display. You can choose to view all recent data for standard lengths of time, or to view data between two dates.
To show data from a custom time period, choose Custom. In the calendar that appears, click the starting date of your time period and click the ending date. The time period's start and end times default to the current time. To change a start or end time, click the clock next to the time you want to change and click the desired time.
-
Enter text in the search field to find an event based on the message text.
- Click
to open the Filters pane, and select one or more filters to specify what events to include.
Review K8s logs and events
By default, some logs and events from the K8s cluster are collected. To change which K8s logs are sent to SolarWinds Observability, see Update Kubernetes cluster logs collection. Events and logs can also be found in the Logs Explorer. To search for your specific event or container log, use the following key:value pairs as search parameters:
Key | Valid values |
---|---|
sw.k8s.log.type
|
String representing the type of log. Valid values include:
|
k8s.cluster.name
|
String representing the cluster name. |
k8s.container.name
|
String representing the container name. |
k8s.node.name
|
String representing the node name. |
k8s.pod.name
|
String matching the pod name. |
k8s.namespace.name
|
String matching the namespace name. |
k8s.event.count
|
For Kubernetes events, the count of how many of the same event occurred. |
k8s.event.name
|
For Kubernetes events, the name of the event. |
k8s.event.reason
|
For Kubernetes events, the reason for the event. |
severity_text
|
String representing the severity of the event/log. Valid values include:
|
Example Kubernetes search in the Logs Explorer:
sw.k8s.log.type:container AND k8s.cluster.name:xyz AND k8s.pod.name:abc "some text to search"
Kubernetes widgets
In addition to standard visualizations of metric data, the following widgets display detailed insights into your Kubernetes containers, clusters, and nodes.
Clusters per Infrastructure Provider
The Clusters per Infrastructure Provider widget shows the number of Kubernetes clusters for each Infrastructure Provider. Infrastructure Provider categories include Azure, AWS, and Other.
Events
The Events widget shows the number and type of events collected for your cluster.
Top 5 Clusters (Alerts)
The Top 5 Clusters (Alerts) widget shows the top five Kubernetes clusters with the greatest number of monitored alerts.
Top 5 Clusters (Nodes)
The Top 5 Clusters (Nodes) widget shows the top five Kubernetes clusters with the greatest number of monitored nodes.
Top 5 Clusters (Events)
The Top 5 Clusters (Warning Events) widget shows the top five Kubernetes clusters with the greatest number of warning events.
Top 5 Clusters (CPU Utilization)
The Top 5 Clusters (CPU Utilization) widget shows the top five Kubernetes clusters with the greatest percentage of CPU utilization.
Top 5 Clusters (Memory Utilization)
The Top 5 Clusters (Memory Utilization) widget shows the top five Kubernetes clusters with the greatest percentage of memory utilization.
Monitored element summary widgets
Widgets showing status summaries for Pods, Deployments, DaemonSets, and StatefulSets show the number of each respective monitored element in the cluster, categorized by the status of the elements.
Details
On the Overview tab, the Details widget shows the cluster name, universally unique identifiers (UID), infrastructure provider, and the collector status. For Kubernetes nodes, the Details widget includes the cluster name, pods, capacity details, and more.