Skip to content

OpenSearch status

By enabling this toolset, HolmesGPT will be able to access cluster metadata information like health, shards, and settings. This allows HolmesGPT to better troubleshoot problems with one or more opensearch clusters.

Configuration

The configuration for OpenSearch is passed through to the underlying opensearch-py library. Consult this library's user guide or reference documentation for configuring the connection to OpenSearch, including how to authenticate this toolset to an opensearch cluster.

Add the following to ~/.holmes/config.yaml, creating the file if it doesn't exist:

toolsets:
    opensearch/status:
        enabled: true
        config:
            opensearch_clusters:
                - hosts:
                    - host1.com
                    - host2.com
                  headers:
                    header1: "value1"
                  use_ssl: <boolean>
                  ssl_assert_hostname: <boolean>
                  verify_certs: <boolean>
                  ssl_show_warn: <boolean>
                  http_auth:
                    username: <basic auth username>
                    password: <basic auth password>

holmes:
    toolsets:
        opensearch/status:
            enabled: true
            config:
                opensearch_clusters:
                    - hosts:
                        - host1.com
                        - host2.com
                      headers:
                        header1: "value1"
                      use_ssl: <boolean>
                      ssl_assert_hostname: <boolean>
                      verify_certs: <boolean>
                      ssl_show_warn: <boolean>
                      http_auth:
                        username: <basic auth username>
                        password: <basic auth password>
Update your Helm values and run a Helm upgrade:
helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

Here is an example of an insecure OpenSearch configuration for local development using a bearer token:

First, set the environment variables:

export OPENSEARCH_URL="<opensearch host URL>"
export OPENSEARCH_BEARER_TOKEN="<secret bearer token>"

Then add the following to ~/.holmes/config.yaml:

toolsets:
    opensearch/status:
        enabled: true
        config:
            opensearch_clusters:
                - hosts:
                    - host: "{{ env.OPENSEARCH_URL }}"
                    port: 9200

holmes:
    additionalEnvVars:
        - name: OPENSEARCH_URL
          value: "<opensearch host URL>"
        - name: OPENSEARCH_BEARER_TOKEN
          value: "<secret bearer token>"
    toolsets:
        opensearch/status:
            enabled: true
            config:
                opensearch_clusters:
                    - hosts:
                        - host: "{{ env.OPENSEARCH_URL }}"
                        port: 9200

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
opensearch_cluster_health Get cluster health information
opensearch_cluster_stats Get cluster statistics
opensearch_node_info Get information about cluster nodes
opensearch_index_stats Get statistics for specific indices
opensearch_shard_allocation Get shard allocation information

Need Custom Integration?

By adding custom toolsets, users can extend HolmesGPT's investigation capabilities to address unique use cases, specific infrastructure setups, or organization-specific requirements. For example, custom toolsets might include specialized log analysis patterns or integration with external monitoring systems.

Can't find the toolset you need? Create a custom toolset or request a new integration.