Skip to main content

Grok 命令行界面

项目描述

Grok 命令行界面
============================

这个存储库包含 Grok 命令行界面 (CLI)。`grokcli` 允许您通过命令行轻松地与 Grok 服务器交互,包括创建实例等

。此外,您可以使用 `grokcli` 与第三方应用程序集成。`grokcli` 中包含与 Datadog 的集成(请参阅 [Grok 与 Datadog 的集成](docs/Grok-Integration-with-DataDog.pdf) 了解完整的详细信息)。通过运行`python -m grokcli.datadog --help`查看更多详细信息。

安装
------------

需要:Python(2.6 或更高版本) -pip

(推荐)

`pip install grokcli`

-

easy_install`easy_install grokcli`

-setup.py

`python setup.py install`

用法
-----

Grok CLI 工具提供了一个单一的高级 `grok` 命令,
可以从中调用许多子命令:

grok [command] [options]

每个命令都需要`GROK_SERVER_URL` 和 `GROK_API_KEY` 作为命令名称后的前两个参数。但是,如果您设置了这两个环境变量,则可以在命令中省略这些参数。

- `grok credentials`

使用 `grok credentials` 子命令将您的 AWS 凭证添加到
正在运行的 Grok 服务器配置中:

grok credentials GROK_SERVER_URL [options]

`GROK_SERVER_URL` 位置参数是必需的,并且必须是指向
运行 Grok 服务器。例如:https ://ec2-AA-BB-CC-DD.us-west-2.compute.amazonaws.com

您可以通过以下三种方式之一指定您的凭证:

- 指定 `AWS_ACCESS_KEY_ID` 和 `AWS_SECRET_ACCESS_KEY` CLI 选项.

```
grok credentials GROK_SERVER_URL --AWS_ACCESS_KEY_ID=... --AWS_SECRET_ACCESS_KEY=...
``` - 使用 `-d` 或 `--data` CLI 选项

从特定文件中读取 AWS 凭证。 ``` grok 凭据 GROK_SERVER_URL -d PATH_TO_FILE grok 凭据 GROK_SERVER_URL --data=PATH_TO_FILE ``` 您可以使用 `-` 从标准输入读取: `​​`` grok 凭据 GROK_SERVER_URL -d - < PATH_TO_FILE











grok credentials GROK_SERVER_URL --data=- < PATH_TO_FILE
```

凭证文件应根据此模板格式化:

```
AWS_ACCESS_KEY_ID=您的 AWS 访问密钥 ID
AWS_SECRET_ACCESS_KEY=您的 AWS 秘密访问密钥
```

- 使用现有的 boto配置。

```
grok credentials GROK_SERVER_URL --use-boto
```

- `grok export`

将 Grok 模型定义导出到 JSON 或 YAML 格式的文件。

grok export [GROK_SERVER_URL GROK_API_KEY] [options]

`GROK_SERVER_URL` 位置参数是必需的,并且必须是指向
运行 Grok 服务器。例如:https

://ec2-AA-BB-CC-DD.us-west-2.compute.amazonaws.com `GROK_API_KEY` 位置参数也是必需的,可以
从正在运行的 Grok 的 Web 界面检索服务器。

默认情况下,`grok export` 将输出打印到标准输出,可以将其定向到
文件:

grok export [GROK_SERVER_URL GROK_API_KEY] > file.json

但是,您可以选择使用 `-o` 或 `--output` 指定文件CLI
选项:

grok export [GROK_SERVER_URL GROK_API_KEY] -o file.json grok
export [GROK_SERVER_URL GROK_API_KEY] --output=file.json

使用 `-y` 或 `--yaml` CLI 标志以 YAML 格式保存输出 grok

export [ GROK_SERVER_URL GROK_API_KEY] -y
grok export [GROK_SERVER_URL GROK_API_KEY] --yaml

- `grok import` 将

Grok 模型定义从本地文件导入 Grok 服务器。

grok import [GROK_SERVER_URL GROK_API_KEY] [FILE] [options]

`GROK_SERVER_URL` 位置参数是必需的,并且必须是
正在运行的 Grok 服务器的 url。例如:https

://ec2-AA-BB-CC-DD.us-west-2.compute.amazonaws.com `GROK_API_KEY` 位置参数也是必需的,可以
从正在运行的 Grok 的 Web 界面检索服务器。
API Key 是手机密码的同义词。

`FILE` 位置参数是可选的,但是如果没有指定,
如果 `-d` 或 `--data` 没有指定,`grok import` 将假定为 `STDIN`。这
以下是等效的:

grok import [GROK_SERVER_URL GROK_API_KEY] file.json grok
import [GROK_SERVER_URL GROK_API_KEY] < file.json grok
import [GROK_SERVER_URL GROK_API_KEY] -d file.json grok
import [GROK_SERVER_URL GROK_API_KEY] --data=file.json

`grok import ` 支持 YAML 格式的文件,前提是 pyyaml 已安装并
在系统上可用。

- `grok (DELETE|GET|POST)`

Grok CLI 工具中包含一个较低级别的直接 API,可将
CLI 选项转换为将 HTTP 调用定向到 Grok Web 服务。例如,要
获取所有可用的 cloudwatch 指标:

grok GET GROK_SERVER_URL/_metrics/cloudwatch GROK_API_KEY

对于 `grok POST` 和 `grok DELETE`,可能需要请求数据,这些
数据可以通过 `-d` 或 `--data` CLI 选项指定,或
通过 STDIN 提供:

grok POST GROK_SERVER_URL/_models GROK_API_KEY < model-definition.json
grok POST GROK_SERVER_URL/_models GROK_API_KEY -d model-definition.json
grok POST GROK_SERVER_URL/_models GROK_API_KEY --data model-definition.json

- `grok metrics`

管理监控的指标。

grok metrics (list|unmonitor) [GROK_SERVER_URL GROK_API_KEY] [options]

要获取受监控指标的列表:

grok metrics [GROK_SERVER_URL GROK_API_KEY] 仅限

于特定 AWS 实例的受监控指标:

grok metrics list [GROK_SERVER_URL GROK_API_KEY] --instance=INSTANCE_ID --region=REGION --namespace=NAMESPACE

要取消监控指标:

grok metrics unmonitor https://localhost CmHnD --id=METRIC_ID

- `grok instances`

管理监控的实例。

grok instances (list|unmonitor) [GROK_SERVER_URL GROK_API_KEY] [options]

获取所有受监控实例的列表:

grok instances list [GROK_SERVER_URL GROK_API_KEY]

取消监控实例:

grok instances unmonitor [GROK_SERVER_URL GROK_API_KEY] --id=INSTANCE_ID

- `grok cloudwatch`

管理 CloudWatch 指标。

grok cloudwatch (metrics|instances) (list|monitor|unmonitor) [GROK_SERVER_URL GROK_API_KEY] [options]

列出可用的 cloudwatch 指标:

grok cloudwatch metrics list [GROK_SERVER_URL GROK_API_KEY]

按实例 id 过滤可用的 cloudwatch 指标列表:

grok cloudwatch metrics list [GROK_SERVER_URL GROK_API_KEY] --instance=INSTANCE_ID

监控指标(示例):

grok cloudwatch metrics monitor [GROK_SERVER_URL GROK_API_KEY] \
--metric=CPUUtilization \
--namespace=AWS/EC2 \
--region=us-west-2 \
--dimensions InstanceId i-abc123

监控实例(示例):

grok cloudwatch instances monitor [GROK_SERVER_URL GROK_API_KEY] \
--namespace=AWS/EC2 \
--region=us-west-2 \
--instance=i-abc123

取消监控指标(示例):

grok cloudwatch metrics unmonitor [GROK_SERVER_URL GROK_API_KEY] \
--metric=CPUUtilization \
--namespace=AWS/EC2 \
--region=us-west-2 \
--维度 InstanceId i-abc123

取消监控实例(示例):

grok cloudwatch instances unmonitor [GROK_SERVER_URL GROK_API_KEY] \
--namespace=AWS/EC2 \
--region=us-west-2 \
--instance=i-abc123

- `grok custom`

管理自定义指标。

列出可用的自定义指标:

grok custom metrics list [GROK_SERVER_URL GROK_API_KEY]

监控自定义指标:

grok custom metrics monitor [GROK_SERVER_URL GROK_API_KEY] --id=METRIC_ID

要取消监控自定义指标:

grok custom metrics unmonitor [GROK_SERVER_URL GROK_API_KEY] --name=METRIC_NAME

- `grok autostacks`

管理自动堆叠。

要创建自动堆栈:

grok autostacks stacks create [GROK_SERVER_URL GROK_API_KEY] --name=NAME --region=REGION --filters='{"tag:FILTER_NAME": ["FILTER_VALUE"]}'

您可以为 FILTER_NAME 使用任何 AWS 标签. FILTER_VALUE 是 AWS 特定的
通配符,而不是成熟的正则表达式。* 匹配任意数量的字符
和 ? 匹配任何单个字符。过滤器名称和值都
区分大小写。

例如,“jenkins-*”和“jenkins-??????” 两者都匹配“jenkins-master”。

您可以将任何 AWS 标签用于过滤器的第一个组件,但为了
获得最佳性能,我们建议指定的第一个标签/值对是
消除最多实例的标签/值对。因为此时AWS只支持OR
运算,所以我们必须在
本地实现AND(交集)运算。我们的实现将第一个标签/值发送到 AWS,获取所有
匹配的实例,然后根据
本地剩余的标签/值过滤器过滤它们。

这不会为新的自动堆栈创建任何指标。您必须
使用 grok autostacks metrics add 为新的 autostack 创建指标(见下文)

预览自动堆叠:

grok autostacks stacks create [GROK_SERVER_URL GROK_API_KEY] --preview --region=REGION --filters='{"tag:FILTER_NAME": ["FILTER_VALUE"]}'

列出自动堆叠:

grok autostacks stacks list [GROK_SERVER_URL GROK_API_KEY]

要删除 AutoStack:

grok autostacks stacks delete [GROK_SERVER_URL GROK_API_KEY] --name=STACK_NAME --region=REGION

或:

grok autostacks stacks delete [GROK_SERVER_URL GROK_API_KEY] --id=STACK_ID

添加由AutoStack:

grok autostacks 指标添加 [GROK_SERVER_URL GROK_API_KEY] --name=STACK_NAME --region=REGION --metric_namespace=METRIC_NAMESPACE --metric_name=METRIC_NAME

或:

grok autostacks metrics add [GROK_SERVER_URL GROK_API_KEY] --id=STACK_ID --metric_namespace=METRIC_NAMESPACE --metric_name=METRIC_NAME

列出由 AutoStack 监控的指标类型:

grok autostacks metrics list [GROK_SERVER_URL GROK_API_KEY] --name=STACK_NAME -- region=REGION

或:

grok autostacks metrics list [GROK_SERVER_URL GROK_API_KEY] --id=STACK_ID

要删除 AutoStack 监控的指标类型:

grok autostacks metrics remove [GROK_SERVER_URL GROK_API_KEY] --name=STACK_NAME --region=REGION -- metric_id=METRIC_ID

或:

grok autostacks metrics remove [GROK_SERVER_URL GROK_API_KEY] --id=STACK_ID --metric_id=METRIC_ID

列出与 AutoStack 关联的 EC2 实例:

grok autostacks 实例列表 [GROK_SERVER_URL GROK_API_KEY] --name=STACK_NAME --region=REGION

或:

grok autostacks 实例列表 [GROK_SERVER_URL GROK_API_KEY] --id=STACK_ID

开发人员注意事项
-------------- ----

要添加命令,请在
[grokcli/commands/](grokcli/commands) 中创建一个带有 `handle()` 函数的 python 模块,该函数接受
两个参数:`options` 和 `args`。通过
在 [grokcli/commands/\_\_init\_\_.py](grokcli/commands/__init__.py) 中导入模块并将
其添加到 `__all__` 来注册命令。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

grokcli-2.7.1.tar.gz (30.8 kB 查看哈希)

已上传 source

内置分布

grokcli-2.7.1-py2-none-any.whl (29.7 kB 查看哈希)

已上传 2 7