配置CLI后,您无需在每次执行命令时指定所需的访问密钥、服务入口和输出格式等全局参数。本文介绍配置CLI的操作方法。

前提条件

已安装CLI。更多信息,请参见安装CLI

使用阿里云CLI凭证

在使用CLI过程中,日志服务CLI可以从具体子命令、日志服务CLI配置文件、阿里云CLI配置文件和环境变量等来源读取凭证信息,其读取优先级从上到下逐次递减。

凭证来源(优先级由高到低) 描述
日志服务CLI子命令传入的AK、Region等全局参数 在执行具体命令时,优先使用参数传入的凭证做校验。该种方式指定凭证优先级最高。使用方法,请参见全局参数
日志服务CLI的profile参数 执行具体子命令时通过--profile=阿里云CLI config.json中具体的name的取值指定具体凭证。使用方法,请参见全局参数profile
日志服务CLI ALIYUN_LOG_CLI环境变量 在系统中配置的环境变量ALIYUN_LOG_CLI。
日志服务CLI配置文件 名称为.aliyunlogcli。具体如何配置,请参见配置默认账号的服务入口和访问密钥配置多个账号的服务入口和访问密钥
阿里云CLI ALIBABACLOUD环境变量 在系统中配置的环境变量ALIBABACLOUD。
阿里云CLI ALICLOUD环境变量 在系统中配置的环境变量ALICLOUD。
阿里云CLI配置文件 由阿里云CLI定义的配置凭证文件。日志服务CLI工具支持使用阿里云CLI凭证作为账号校验凭证。更多信息,请参见配置阿里云CLI
说明 该配置文件在不同系统其所在位置不同,您可以参考如下路径找到配置文件。
  • Linux:~/.aliyun/config.json
  • Windows:C:\Users\UserName\.aliyun\config.json

配置默认账号的服务入口和访问密钥

日志服务CLI默认使用配置的main账号执行所有操作,您必须在使用CLI前配置该账号的信息。

  1. 登录安装CLI的服务器。
  2. 配置默认账号的访问密钥和服务入口。
    执行命令如下:
    aliyunlog configure AccessKey ID AccessKey Secret Endpoint
    • AccessKey IDAccessKey Secret替换为拥有操作日志服务权限的AccessKey ID和AccessKey Secret。如何获取,请参见访问密钥
    • Endpoint为Project的访问域名。更多信息,请参见服务入口
  3. 验证配置结果。
    编辑.aliyunlogcli文件,如果配置文件中显示如下类似结果,则说明配置默认账号成功。
    [main]
    access-id = LTAI******pLMZ
    access-key = XjAsP******eRqax
    region-endpoint = cn-hangzhou.log.aliyuncs.com
    sts-token =
    说明 配置文件.aliyunlogcli在不同系统其所在位置不同,您可以参考如下路径找到配置文件。
    • Linux:~/.aliyunlogcli
    • Windows:C:\Users\UserName\.aliyunlogcli

    如果配置不成功,请根据返回错误码提示进行处理。

配置多个账号的服务入口和访问密钥

如果您需要跨账号操作日志数据,则需要配置多个账号信息。

  1. 登录安装CLI的服务器。
  2. 配置多个账号的访问密钥和服务入口。
    执行命令如下:
    aliyunlog configure AccessKey ID AccessKey Secret Endpoint testName
    • AccessKey IDAccessKey Secret替换为拥有操作日志服务权限的AccessKey ID和AccessKey Secret。如何获取,请参见访问密钥
    • Endpoint为Project的访问域名。更多信息,请参见服务入口
    • testName为您配置的其他账号名称。
  3. 验证配置结果。
    编辑~/.aliyunlogcli文件,如果配置文件中显示如下类似结果,则说明配置账号成功。
    [main]
    access-id = LTAI******pLMZ
    access-key = XjAsP******eRqax
    region-endpoint = cn-hangzhou.log.aliyuncs.com
    sts-token =
    
    [test]
    access-id = As******sPzvb
    access-key = FtagJeR******bQqax
    region-endpoint = cn-shanghai.log.aliyuncs.com
    sts-token =
    说明 配置文件.aliyunlogcli在不同系统其所在位置不同,您可以参考如下路径找到配置文件。
    • Linux:~/.aliyunlogcli
    • Windows:C:\Users\UserName\.aliyunlogcli

    如果配置不成功,请根据返回错误码提示进行处理。

    在使用CLI执行命令时,您可以通过--client-name=testName方式来使用指定的账号。例如aliyunlog log create_project ..... --client-name=test,表示使用test账号创建Project。

配置输出格式

日志服务CLI支持对输出结果进行格式化和字符转义处理。当您需要对输出结果格式化、设置转义字符时,可参考如下配置。

  • JSON格式化
    日志服务CLI返回结果默认以JSON形式输出,并且显示为一行,可读性差。为便于查看,您可以使用如下方法对输出JSON结果进行格式化。
    • 对特定命令的输出结果进行格式化。

      例如,aliyunlog log get_log .... --format-output=json表示对get_log的输出结果进行JSON格式化。

    • 对所有命令的输出结果进行格式化。

      直接执行aliyunlog configure --format-output=json,则表示对所有输出结果进行JSON格式化。

  • 转义字符

    日志服务CLI返回结果中,非英文字符默认都是转义字符串。如果您需要返回原始字符(例如中文字符串),可以在--format-output添加no_escape

    直接执行aliyunlog configure --format-output=no_escape,则日志服务CLI所有命令的输出结果都不转义,按照原始字符返回。

转义特殊字符

通过日志服务CLI执行操作命令时,若查询语句中包含美元符号($)、反引号(`)、反斜线(\)、感叹号(!)特殊字符,会导致执行报错或者查询结果不准确。

您需要使用反斜线(\)转义或者单引号(')强制引用。
  • 通过转义字符(\)对query中的参数进行转义,示例命令如下:

    aliyunlog log get_log_all --project="my-project" --logstore="my-logstore" --query="event_name:\$_enter" --from_time="2021-06-24 15:00:00+08:00" --to_time="2021-06-24 16:00:00+08:00"

  • 通过单引号(')对query中的参数进行引用,示例命令如下:

    aliyunlog log get_log_all --project="my-project" --logstore="my-logstore" --query='event_name:$_enter' --from_time="2021-06-24 15:00:00+08:00" --to_time="2021-06-24 16:00:00+08:00"

更多信息,请参见Quoting