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__` 来注册命令。
============================
这个存储库包含 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
查看哈希)
内置分布
grokcli-2.7.1-py2-none-any.whl
(29.7 kB
查看哈希)