OpenSearch CLI

The OpenSearch CLI command line interface (opensearch-cli) lets you manage your OpenSearch cluster from the command line and automate tasks.

Currently, opensearch-cli supports the Anomaly Detection and k-NN plugins, along with arbitrary REST API paths. Among other things, you can use opensearch-cli to create and delete detectors, start and stop them, and check k-NN statistics.

Profiles let you easily access different clusters or sign requests with different credentials. opensearch-cli supports unauthenticated requests, HTTP basic signing, and IAM signing for Amazon Web Services.

This example moves a detector (ecommerce-count-quantity) from a staging cluster to a production cluster:

  1. opensearch-cli ad get ecommerce-count-quantity --profile staging > ecommerce-count-quantity.json
  2. opensearch-cli ad create ecommerce-count-quantity.json --profile production
  3. opensearch-cli ad start ecommerce-count-quantity.json --profile production
  4. opensearch-cli ad stop ecommerce-count-quantity --profile staging
  5. opensearch-cli ad delete ecommerce-count-quantity --profile staging

Install

  1. Download and extract the appropriate installation package for your computer.

  2. Make the opensearch-cli file executable:

    1. chmod +x ./opensearch-cli
  3. Add the command to your path:

    1. export PATH=$PATH:$(pwd)
  4. Confirm the CLI is working properly:

    1. opensearch-cli --version

Profiles

Profiles let you easily switch between different clusters and user credentials. To get started, run opensearch-cli profile create with the --auth-type, --endpoint, and --name options:

  1. opensearch-cli profile create --auth-type basic --endpoint https://localhost:9200 --name docker-local

Alternatively, save a configuration file to ~/.opensearch-cli/config.yaml:

  1. profiles:
  2. - name: docker-local
  3. endpoint: https://localhost:9200
  4. user: admin
  5. password: foobar
  6. - name: aws
  7. endpoint: https://some-cluster.us-east-1.es.amazonaws.com
  8. aws_iam:
  9. profile: ""
  10. service: es

Usage

opensearch-cli commands use the following syntax:

  1. opensearch-cli <command> <subcommand> <flags>

For example, the following command retrieves information about a detector:

  1. opensearch-cli ad get my-detector --profile docker-local

For a request to the OpenSearch CAT API, try the following command:

  1. opensearch-cli curl get --path _cat/plugins --profile aws

Use the -h or --help flag to see all supported commands, subcommands, or usage for a specific command:

  1. opensearch-cli -h
  2. opensearch-cli ad -h
  3. opensearch-cli ad get -h