searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Envoy启动命令参数简述

2024-06-12 08:11:49
8
0

Envoy是一种开源的网络代理和通信中间件,支持多种操作模式。它可以通过配置文件和命令行选项来驱动。以下是Envoy支持的命令行选项:

-c <path string>或--config-path <path string> 

配置文件的路径,可以是JSON/YAML/proto3格式。如果缺少此标志,--config-yaml是必需的,并且将被解析为引导配置文件。有效的扩展名是.json、.yaml、.pb和.pb_text,分别表示JSON、YAML、二进制proto3和文本proto3格式。

--config-yaml <yaml string> 

引导配置文件的YAML字符串,如果--config-path也设置了,该YAML字符串中的值将覆盖和合并从--config-path加载的引导。因为YAML是JSON的超集,所以也可以将JSON字符串传递给--config-yaml。

--mode <string> 

操作模式,默认为serve。

  • serve: 验证JSON配置文件,然后正常提供流量。
  • validate: 验证JSON配置文件,然后退出,打印“OK”消息(此时退出代码为0),或配置文件生成的任何错误(退出代码为1)。不会生成任何网络流量,并且不会执行热重启过程,因此不会干扰机器上的其他Envoy进程。

--admin-address-path <path string> 

管理地址和端口号写入的输出文件路径。

--local-address-ip-version <string> 

用于填充服务器本地IP地址的IP地址版本。此参数会影响各种头部信息,包括附加到X-Forwarded-For(XFF)头部的内容。选项是v4或v6,默认为v4。

--base-id <integer> 

在分配共享内存区域时使用的基本ID。在热重启过程中,Envoy使用共享内存区域。大多数用户永远不需要设置此选项。但是,如果需要在同一台机器上运行多个Envoy,则每个正在运行的Envoy都需要一个唯一的基本ID,以便共享内存区域不会冲突。

--use-dynamic-base-id: 

选择未使用的基本ID用于分配共享内存区域。但是,最好使用预选值与--base-id。如果启用此选项,则它将取代--base-id值。当--restart-epoch的值非零时,不得使用此标志。相反,对于随后的热重启,请将--base-id选项设置为所选的基本ID。请参见--base-id-path。

--base-id-path <path_string> 

将基本ID写入给定路径。虽然此选项与--base-id兼容,但其预期用途是提供对由--use-dynamic-base-id选择的动态基本ID的访问。

--concurrency <integer> 

要运行的工作线程数。如果未指定,默认为机器上的硬件线程数。如果设置为零,Envoy仍将运行一个工作线程。

-l <string>或--log-level <string> 

日志级别。非开发人员通常不应设置此选项。有关可用日志级别和默认值,请参见帮助文本。

--component-log-level  

每个组件的日志级别的逗号分隔列表。非开发人员通常不应设置此选项。例如,如果要使上游组件以调试级别运行,并使连接组件以跟踪级别运行,则应将upstream:debug、connection:trace传递给此标志。请参见/source/common/common/logger.h中的ALL_LOGGER_IDS,了解组件列表。

--cpuset-threads 

如果未设置--concurrency,则使用此标志来控制工作线程数。在基于Linux的系统上,如果启用,将使用分配的cpuset大小来确定工作线程数。否则,工作线程数将设置为机器上的硬件线程数。您可以在内核文档中了解有关cpusets的更多信息。

--log-path <path string> 

日志写入的输出文件路径。当处理SIGUSR1时,此文件将重新打开。如果未设置此项,则记录到stderr中。

--log-format <format string>

是用于设置日志信息格式的选项,如果不设置,将会使用默认格式字符串"[%Y-%m-%d %T.%e][%t][%l][%n] [%g:%#] %v"。支持的格式标签包括:实际记录的信息(%v)、线程ID(%t)、进程ID(%P)、日志记录器的名称(%n)、日志级别(%l)、日期时间表示(%c)、文件名和行号(%a)、函数名(%!)等。

--log-format-escaped 

--log-format-escaped是用于启用应用日志的转义的选项,这可以用于防止单个日志行跨越底层日志的多个行。这会对列表中的所有转义序列进行清理。请注意,每行的最终EOL字符将不会被转义以保留行格式。

--restart-epoch

是用于设置热重启时的重启次数的选项。它指定Envoy是否尝试创建所需的共享内存区域,还是打开现有的共享内存区域。该选项应在每次执行热重启时增加。

--enable-fine-grain-logging 

是用于启用细粒度日志记录器的选项,可实现按文件级别控制日志记录和运行时更新管理界面。启用后,主日志宏包括ENVOY_LOG,ENVOY_CONN_LOG,ENVOY_STREAM_LOG和ENVOY_FLUSH_LOG将使用每个文件的记录器,不再需要Envoy::Logger::Loggable。

--socket-path 

是用于设置热重启时用于套接字地址的输出文件路径的选项。环oy进程必须使用相同的值才能一起参与热重启。

--socket-mode 

是用于设置热重启时用于套接字文件权限的选项,必须是有效的八进制文件权限,例如644。默认值为600。

0条评论
0 / 1000
z****n
5文章数
0粉丝数
z****n
5 文章 | 0 粉丝
原创

Envoy启动命令参数简述

2024-06-12 08:11:49
8
0

Envoy是一种开源的网络代理和通信中间件,支持多种操作模式。它可以通过配置文件和命令行选项来驱动。以下是Envoy支持的命令行选项:

-c <path string>或--config-path <path string> 

配置文件的路径,可以是JSON/YAML/proto3格式。如果缺少此标志,--config-yaml是必需的,并且将被解析为引导配置文件。有效的扩展名是.json、.yaml、.pb和.pb_text,分别表示JSON、YAML、二进制proto3和文本proto3格式。

--config-yaml <yaml string> 

引导配置文件的YAML字符串,如果--config-path也设置了,该YAML字符串中的值将覆盖和合并从--config-path加载的引导。因为YAML是JSON的超集,所以也可以将JSON字符串传递给--config-yaml。

--mode <string> 

操作模式,默认为serve。

  • serve: 验证JSON配置文件,然后正常提供流量。
  • validate: 验证JSON配置文件,然后退出,打印“OK”消息(此时退出代码为0),或配置文件生成的任何错误(退出代码为1)。不会生成任何网络流量,并且不会执行热重启过程,因此不会干扰机器上的其他Envoy进程。

--admin-address-path <path string> 

管理地址和端口号写入的输出文件路径。

--local-address-ip-version <string> 

用于填充服务器本地IP地址的IP地址版本。此参数会影响各种头部信息,包括附加到X-Forwarded-For(XFF)头部的内容。选项是v4或v6,默认为v4。

--base-id <integer> 

在分配共享内存区域时使用的基本ID。在热重启过程中,Envoy使用共享内存区域。大多数用户永远不需要设置此选项。但是,如果需要在同一台机器上运行多个Envoy,则每个正在运行的Envoy都需要一个唯一的基本ID,以便共享内存区域不会冲突。

--use-dynamic-base-id: 

选择未使用的基本ID用于分配共享内存区域。但是,最好使用预选值与--base-id。如果启用此选项,则它将取代--base-id值。当--restart-epoch的值非零时,不得使用此标志。相反,对于随后的热重启,请将--base-id选项设置为所选的基本ID。请参见--base-id-path。

--base-id-path <path_string> 

将基本ID写入给定路径。虽然此选项与--base-id兼容,但其预期用途是提供对由--use-dynamic-base-id选择的动态基本ID的访问。

--concurrency <integer> 

要运行的工作线程数。如果未指定,默认为机器上的硬件线程数。如果设置为零,Envoy仍将运行一个工作线程。

-l <string>或--log-level <string> 

日志级别。非开发人员通常不应设置此选项。有关可用日志级别和默认值,请参见帮助文本。

--component-log-level  

每个组件的日志级别的逗号分隔列表。非开发人员通常不应设置此选项。例如,如果要使上游组件以调试级别运行,并使连接组件以跟踪级别运行,则应将upstream:debug、connection:trace传递给此标志。请参见/source/common/common/logger.h中的ALL_LOGGER_IDS,了解组件列表。

--cpuset-threads 

如果未设置--concurrency,则使用此标志来控制工作线程数。在基于Linux的系统上,如果启用,将使用分配的cpuset大小来确定工作线程数。否则,工作线程数将设置为机器上的硬件线程数。您可以在内核文档中了解有关cpusets的更多信息。

--log-path <path string> 

日志写入的输出文件路径。当处理SIGUSR1时,此文件将重新打开。如果未设置此项,则记录到stderr中。

--log-format <format string>

是用于设置日志信息格式的选项,如果不设置,将会使用默认格式字符串"[%Y-%m-%d %T.%e][%t][%l][%n] [%g:%#] %v"。支持的格式标签包括:实际记录的信息(%v)、线程ID(%t)、进程ID(%P)、日志记录器的名称(%n)、日志级别(%l)、日期时间表示(%c)、文件名和行号(%a)、函数名(%!)等。

--log-format-escaped 

--log-format-escaped是用于启用应用日志的转义的选项,这可以用于防止单个日志行跨越底层日志的多个行。这会对列表中的所有转义序列进行清理。请注意,每行的最终EOL字符将不会被转义以保留行格式。

--restart-epoch

是用于设置热重启时的重启次数的选项。它指定Envoy是否尝试创建所需的共享内存区域,还是打开现有的共享内存区域。该选项应在每次执行热重启时增加。

--enable-fine-grain-logging 

是用于启用细粒度日志记录器的选项,可实现按文件级别控制日志记录和运行时更新管理界面。启用后,主日志宏包括ENVOY_LOG,ENVOY_CONN_LOG,ENVOY_STREAM_LOG和ENVOY_FLUSH_LOG将使用每个文件的记录器,不再需要Envoy::Logger::Loggable。

--socket-path 

是用于设置热重启时用于套接字地址的输出文件路径的选项。环oy进程必须使用相同的值才能一起参与热重启。

--socket-mode 

是用于设置热重启时用于套接字文件权限的选项,必须是有效的八进制文件权限,例如644。默认值为600。

文章来自个人专栏
zhangyuhang
5 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0