配置Amazon X-Ray守护进程 - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置Amazon X-Ray守护进程

您可以使用命令行选项或配置文件来自定义 X-Ray 守护程序的行为。大多数选项适用于这两种方法,但有一些只适用于配置文件,有一些只适用于命令行。

要开始使用,你唯一需要知道的选择是-n要么--region,用于设置守护程序使用的区域,用于将跟踪数据发送到 X-Ray。

~/xray-daemon$ ./xray -n us-east-2

如果您在本地运行守护程序 (不是在 Amazon EC2 上),则可添加-o,这样守护程序就能更快地进入就绪状态。

~/xray-daemon$ ./xray -o -n us-east-2

其余的命令行选项可让您配置日志记录、侦听不同端口、限制守护程序可以使用的内存量,或代入角色将跟踪数据发送到其他账户。

您可以将配置文件传递到守护程序,以访问高级配置选项,并完成其他任务,如限制并发调用 X-Ray 的数量、禁用日志轮换,并将流量发送到代理。

支持的环境变量

X-Ray 守护程序支持以下环境变量:

  • AWS_REGION— 指定Amazon区域X-Ray 服务终端节点。

  • HTTPS_PROXY— 为守护程序指定一个代理地址,以便通过上传区段。它可以是代理服务器使用的 DNS 域名或 IP 地址和端口号。

使用命令行选项

当您在本地或使用用户数据脚本运行守护程序时,将这些选项传递给它。

命令行选项
  • -b--bind— 侦听其他 UDP 端口上的分段文档。

    --bind "127.0.0.1:3000"

    默认值 —2000.

  • -t--bind-tcp— 侦听对其他 TCP 端口上的 X-Ray 服务的调用。

    -bind-tcp "127.0.0.1:3000"

    默认值 —2000.

  • -c--config— 从指定路径加载配置文件。

    --config "/home/ec2-user/xray-daemon.yaml"
  • -f--log-file— 输出日志到指定文件路径。

    --log-file "/var/log/xray-daemon.log"
  • -l--log-level— 日志级别,依次为从最详细到最少:dev、debug、info、warn、error、prod。

    --log-level warn

    默认值 —prod

  • -m--buffer-memory— 更改缓冲区可以使用的内存量 (单位:MB,最小值为 3)。

    --buffer-memory 50

    默认值 — 1% 的可用内存。

  • -o--local-mode— 不检查 EC2 实例元数据。

  • -r--role-arn— 采用指定的 IAM 角色上传分段到不同账户。

    --role-arn "arn:aws:iam::123456789012:role/xray-cross-account"
  • -a--resource-arn— 的 Amazon 资源名称 (ARN)Amazon资源运行守护程序。

  • -p--proxy-address— 将区段上传到Amazon X-Ray通过代理。必须指定代理服务器的协议。

    --proxy-address "http://192.0.2.0:3000"
  • -n--region— 向特定区域中的 X-Ray 服务发送分段。

  • -v--version— Show ShowAmazon X-Ray守护程序版本。

  • -h--help— 显示帮助屏幕。

使用配置文件

您也可以使用 YAML 格式文件来配置守护程序。使用 -c 选项传递配置文件到守护程序。

~$ ./xray -c ~/xray-daemon.yaml
配置文件选项
  • TotalBufferSizeMB— 最大缓冲区大小 (单位:MB,最小值为 3)。选择 0 则使用 1% 的主机内存。

  • Concurrency— 并行调用的最大数量Amazon X-Ray以上传区段文档。

  • Region— 将区段发送到Amazon X-Ray在特定区域中提供服务。

  • Socket— 配置守护程序的绑定。

  • Logging— 配置日志记录行为。

    • LogRotation— 设置为false以禁用日志轮换。

    • LogLevel— 更改日志记录,依次为从最详细到最少:devdebuginfowarnerrorprod. 默认值为prod,这等同于info.

    • LogPath— 输出日志到指定文件路径。

  • LocalMode— 设置为true,跳过 EC2 实例元数据检查。

  • ResourceARN— 的 Amazon 资源名称 (ARN)Amazon资源运行守护程序。

  • RoleARN— 采用指定的 IAM 角色上传分段到不同账户。

  • ProxyAddress— 将区段上传到Amazon X-Ray通过代理。

  • Endpoint— 更改守护程序向其发送分段文档的节点。

  • NoVerifySSL— 禁用 TLS 证书验证。

  • Version— 守护程序配置文件格式版本。文件格式版本是规定的字段中返回的子位置类型。

例 xray-daemon.yaml

此配置文件将守护程序的侦听端口改为 3000,并且关闭对实例元数据的检查,设置用于上传分段的角色,以及更改区域和日志记录选项。

Socket: UDPAddress: "127.0.0.1:3000" TCPAddress: "127.0.0.1:3000" Region: "us-west-2" Logging: LogLevel: "warn" LogPath: "/var/log/xray-daemon.log" LocalMode: true RoleARN: "arn:aws:iam::123456789012:role/xray-cross-account" Version: 2