Kubernetes ToolsetsΒΆ

Core βœ“ΒΆ

βœ“: This toolset is enabled by default. You do not need to configure it. You can disable it if you want to but doing so may negatively impact HolmesGPT's ability to investigate issues.

By enabling this toolset, HolmesGPT will be able to describe and find Kubernetes resources like nodes, deployments, pods, etc.

ConfigurationΒΆ

holmes:
    toolsets:
        kubernetes/core:
            enabled: true

Update your Helm values (generated_values.yaml) with the above configuration and run a Helm upgrade:

helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

CapabilitiesΒΆ

The table below describes the specific capabilities provided by this toolset. HolmesGPT can decide to invoke any of these capabilities when answering questions or investigating issues.

Tool Name

Description

kubectl_describe

Run kubectl describe command on a specific resource

kubectl_get_by_name

Get details of a specific resource with labels

kubectl_get_by_kind_in_namespace

List all resources of a given type in a namespace

kubectl_get_by_kind_in_cluster

List all resources of a given type across the cluster

kubectl_find_resources

Search for resources matching a keyword

kubectl_get_yaml

Get YAML definition of a resource

kubectl_events

Get events for a specific resource

kubectl_memory_requests_all_namespaces

Get memory requests for all pods across all namespaces in MiB

kubectl_memory_requests_namespace

Get memory requests for all pods in a specific namespace in MiB

kubernetes_jq_query

Query Kubernetes resources using jq filters

Logs βœ“ΒΆ

βœ“: This toolset is enabled by default. You do not need to configure it.

By enabling this toolset, HolmesGPT will be able to read kubernetes pod logs.

You may disable this toolset if you provide Holmes with an alternative toolset to fetch logs from your kubernetes cluster and applications.

HolmesGPT provides several out-of-the-box alternatives for log access. You can select from these options:

ConfigurationΒΆ

holmes:
    toolsets:
        kubernetes/logs:
            enabled: true

Update your Helm values (generated_values.yaml) with the above configuration and run a Helm upgrade:

helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

CapabilitiesΒΆ

The table below describes the specific capabilities provided by this toolset. HolmesGPT can decide to invoke any of these capabilities when answering questions or investigating issues.

Tool Name

Description

fetch_pod_logs

Fetches logs from a kubernetes pod

Live metricsΒΆ

By enabling this toolset, HolmesGPT will be able to retrieve real time CPU and memory usage of pods and nodes.

ConfigurationΒΆ

holmes:
    toolsets:
        kubernetes/live-metrics:
            enabled: true

Update your Helm values (generated_values.yaml) with the above configuration and run a Helm upgrade:

helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

CapabilitiesΒΆ

The table below describes the specific capabilities provided by this toolset. HolmesGPT can decide to invoke any of these capabilities when answering questions or investigating issues.

Tool Name

Description

kubectl_top_pods

Get real-time CPU and memory usage for all pods

kubectl_top_nodes

Get real-time CPU and memory usage for all nodes

Prometheus stackΒΆ

By enabling this toolset, HolmesGPT will be able to fetch the definition of a Prometheus target.

ConfigurationΒΆ

holmes:
    customClusterRoleRules:
        - apiGroups:
            - ""
          resources:
            - services/proxy
          verbs:
            - get
    toolsets:
        kubernetes/kube-prometheus-stack:
            enabled: true

Update your Helm values (generated_values.yaml) with the above configuration and run a Helm upgrade:

helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

CapabilitiesΒΆ

The table below describes the specific capabilities provided by this toolset. HolmesGPT can decide to invoke any of these capabilities when answering questions or investigating issues.

Tool Name

Description

get_prometheus_target

Get Prometheus target definition

Resource Lineage ExtrasΒΆ

Fetches children/dependents and parents/dependencies resources using kube-lineage.

ConfigurationΒΆ

holmes:
    toolsets:
        kubernetes/kube-lineage-extras:
            enabled: true

Update your Helm values (generated_values.yaml) with the above configuration and run a Helm upgrade:

helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

CapabilitiesΒΆ

The table below describes the specific capabilities provided by this toolset. HolmesGPT can decide to invoke any of these capabilities when answering questions or investigating issues.

Tool Name

Description

kubectl_lineage_children

Get all children/dependents of a Kubernetes resource, recursively, including their status

kubectl_lineage_parents

Get all parents/dependencies of a Kubernetes resource, recursively, including their status

Resource Lineage Extras (with krew)ΒΆ

This integration is not recommended for in-cluster monitoring. Enable the above toolset named "Resource Lineage Extras" instead.

Fetches children/dependents and parents/dependencies resources using kube-lineage installed via kubectl krew.

ConfigurationΒΆ

holmes:
    toolsets:
        kubernetes/krew-extras:
            enabled: true

Update your Helm values (generated_values.yaml) with the above configuration and run a Helm upgrade:

helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

CapabilitiesΒΆ

The table below describes the specific capabilities provided by this toolset. HolmesGPT can decide to invoke any of these capabilities when answering questions or investigating issues.

Tool Name

Description

kubectl_lineage_children

Get all children/dependents of a Kubernetes resource, recursively, including their status

kubectl_lineage_parents

Get all parents/dependencies of a Kubernetes resource, recursively, including their status