101 lines
2.9 KiB
Markdown
101 lines
2.9 KiB
Markdown
---
|
|
layout: default
|
|
title: OpenSearch CLI
|
|
nav_order: 80
|
|
has_children: false
|
|
---
|
|
|
|
# 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]({{site.url}}{{site.baseurl}}/monitoring-plugins/ad/) and [k-NN]({{site.url}}{{site.baseurl}}/search-plugins/knn/) 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:
|
|
|
|
```bash
|
|
opensearch-cli ad get ecommerce-count-quantity --profile staging > ecommerce-count-quantity.json
|
|
opensearch-cli ad create ecommerce-count-quantity.json --profile production
|
|
opensearch-cli ad start ecommerce-count-quantity.json --profile production
|
|
opensearch-cli ad stop ecommerce-count-quantity --profile staging
|
|
opensearch-cli ad delete ecommerce-count-quantity --profile staging
|
|
```
|
|
|
|
|
|
## Install
|
|
|
|
1. [Download](https://opensearch.org/downloads.html){:target='\_blank'} and extract the appropriate installation package for your computer.
|
|
|
|
1. Make the `opensearch-cli` file executable:
|
|
|
|
```bash
|
|
chmod +x ./opensearch-cli
|
|
```
|
|
|
|
1. Add the command to your path:
|
|
|
|
```bash
|
|
export PATH=$PATH:$(pwd)
|
|
```
|
|
|
|
1. Confirm the CLI is working properly:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
opensearch-cli profile create --auth-type basic --endpoint https://localhost:9200 --name docker-local
|
|
```
|
|
|
|
Alternatively, save a configuration file to `~/.opensearch-cli/config.yaml`:
|
|
|
|
```yaml
|
|
profiles:
|
|
- name: docker-local
|
|
endpoint: https://localhost:9200
|
|
user: admin
|
|
password: foobar
|
|
- name: aws
|
|
endpoint: https://some-cluster.us-east-1.es.amazonaws.com
|
|
aws_iam:
|
|
profile: ""
|
|
service: es
|
|
```
|
|
|
|
|
|
## Usage
|
|
|
|
opensearch-cli commands use the following syntax:
|
|
|
|
```bash
|
|
opensearch-cli <command> <subcommand> <flags>
|
|
```
|
|
|
|
For example, the following command retrieves information about a detector:
|
|
|
|
```bash
|
|
opensearch-cli ad get my-detector --profile docker-local
|
|
```
|
|
|
|
For a request to the OpenSearch CAT API, try the following command:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
opensearch-cli -h
|
|
opensearch-cli ad -h
|
|
opensearch-cli ad get -h
|
|
```
|