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

配置 AWS 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 – 指定 X-Ray 服务终端节点的 AWS 区域

  • 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 – 运行守护程序的 AWS 资源的 Amazon 资源名称 (ARN)。

  • -p--proxy-address – 通过代理向 AWS X-Ray 上传分段。

  • -n--region – 向特定区域中的 X-Ray 服务发送分段。

  • -v--version – 显示 AWS X-Ray 守护程序版本。

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

使用配置文件

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

~$ ./xray -c ~/xray-daemon.yaml

配置文件选项

  • TotalBufferSizeMB – 最大缓冲区大小(单位:MB,最小值为 3)。选择 0 则使用 1% 的主机内存。

  • Concurrency – 并发调用 AWS X-Ray 以上传分段文档的最大调用数量。

  • Region – 向特定区域中的 AWS X-Ray 服务发送分段。

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

    • UDPAddress – 更改守护程序侦听的端口。

    • TCPAddress – 侦听对其他 TCP 端口上的 X-Ray 服务的调用

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

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

    • LogLevel – 更改日志记录,依次为从最详细到最不详细:devdebuginfowarnerrorprod(默认值)。

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

  • LocalMode – 设置为 true 以跳过对 EC2 实例元数据的检查。

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

  • RoleARN – 采用指定的 IAM 角色将分段上传到其他账户。

  • ProxyAddress – 通过代理向 AWS X-Ray 上传分段。

  • Endpoint – 将 X-Ray 服务终端节点改为守护程序向其发送分段文档的节点。

  • 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