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

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

配置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— 亚马逊资源名称 (ARN)Amazon资源运行守护程序。

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

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

  • -v--version— 显示Amazon 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— 配置守护程序的绑定。

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

    • TCPAddress— 侦听X-Ray 服务的电话在不同 TCP 端口上。

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

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

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

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

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

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

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

  • ProxyAddress— 将段上传到Amazon 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