OpenResty Edge 的配置文件
OpenResty Edge Admin 的配置文件
文件路径:/usr/local/oredge-admin/conf/config.ini
修改完配置后,你需要执行以下命令来重启服务,以使新配置生效:
sudo systemctl start upgrade-oredge-admin
postgresql
[postgresql]
host = 127.0.0.1
port = 5432
max_idle_timeout = 60
pool_size = 100
backlog = 256
database = "or_edge_admin"
user = "USER"
password = 'PASSWORD'
ssl = false
ssl_verify = false
ssl_required = false
endpoints="postgresql://127.0.0.1:5432,127.0.0.1:5433/or_edge_admin?user=or_edge_admin&password=PASSWORD&pool_size=10"
check_primary_interval = 5
这个配置块用于配置 OpenResty Edge Admin 连接的数据库。
host
:PostgreSQL 数据库服务器的主机名或 IP 地址,默认为本机127.0.0.1
,即默认认为数据库与 OpenResty Edge Admin 部署在同一台机器上。port
:数据库的服务端口,默认为5432
。max_idle_timeout
:空闲长连接的保持时间,默认值为60
秒。pool_size
:连接数据库的连接池大小。backlog
:指定等待连接的最大队列长度。当连接池中的所有连接都被占用时,新的连接请求将进入等待队列。database
:指定要连接的数据库名称。user
:访问数据库时使用的用户名。password
:访问数据库时使用的密码。ssl
:指定是否使用 SSL 加密连接。ssl_verify
:指定是否验证 SSL 证书。ssl_required
:指定是否强制使用 SSL 连接。endpoints
:指定连接的数据库端点列表,同时只能存在一个主数据库,当存在多个时,列表中第一个主库将被使用。此配置主要用于数据库的故障转移。格式为 “postgresql://host:port/database?args”。示例:"postgresql://127.0.0.1:5432,127.0.0.1:5433/or_edge_admin?user=or_edge_admin&password=PASSWORD&pool_size=10"
,表示连接两个数据库端点,分别为 “127.0.0.1:5432” 和 “127.0.0.1:5433”,数据库名称为 “or_edge_admin”,并指定了连接参数,如用户名、密码、连接池大小和空闲超时时间。check_primary_interval
:指定检查endpoints
列表中主从数据库的时间间隔,默认为5
秒。
需要注意的是,在 endpoints
参数中,除了 max_idle_timeout
和 check_primary_interval
配置项不能使用外,其他配置项都可以作为参数传递。此外,endpoints
参数中的 password
参数值在首次启动后将会被替换为加密后的内容,请务必牢记您的原始密码。当 endpoints
中的参数或参数值有如 &
、=
等特殊字符时,需要进行 URL 编码,如 &
编码为 %40
,=
编码为 %3D
。
clone_admin
[clone_admin]
host = "192.168.1.2"
port = 12345
role = "normal"
这个配置块用于配置另一个 OpenResty Edge Admin。
host
另一个 OpenResty Edge Admin 的地址port
另一个 OpenResty Edge Admin 的端口role
另一个 OpenResty Edge Admin 的角色类型。取值有:normal,main,staging。- normal 是缺省值,表示通用的 OpenResty Edge Admin。
- main 表示主 OpenResty Edge Admin。
- staging 表示灰度 OpenResty Edge Admin。
log_server
[log_server]
endpoints = "https://127.0.0.1:12346"
# The following configuration is used in versions prior to 23.12.1.
host = 127.0.0.1
mbus_port = 12346
此配置块用于指定 OpenResty Edge Log Server 的信息。
endpoints
选项用于设定 OpenResty Edge Log Server 实例的连接地址。如果你有多个实例,你可以使用逗号将它们分隔开,比如endpoints = "https://127.0.0.1:12346, https://127.0.0.2:12346"
。这是在 23.12.1 版本中新加入的配置,它替代了旧版本的host
、mbus_port
配置项。host
、mbus_port
、配置项分别指定了 OpenResty Edge Log Server 的主机名和 RPC 通讯端口。在 23.12.1 以及更新的版本中推荐使用endpoints
。
log_server_heartbeat
[log_server_heartbeat]
enable = true
interval = 1
down_threshold = 1
up_threshold = 1
此配置块用于对 OpenResty Edge Log Server 进行健康检查。
enable
是否启用健康检查。interval
心跳间隔。down_threshold
是不健康阈值,失败请求达到此阈值,则视为不健康。up_threshold
是健康阈值,成功请求达到此阈值,则视为健康。
acme
[acme]
acme_skip_precheck = false
auto_renew_interval = 3600
max_retries = 100
nameservers = "1.1.1.1,8.8.8.8"
http_timeout = 60
acme_skip_duplicate_check = false
此配置块用于配置使用第三方证书提供商时的行为。
acme_skip_precheck
用于证书签发时的检查,如“域名的 DNS 记录是否指向 OpenResty Edge”。auto_renew_interval
用于设置自动检查并重新签发证书的时间间隔,默认 3600 秒。max_retries
用于设置证书签发过程中的挑战重试次数,默认值为 100 次。nameservers
用于配置域名解析所使用的 DNS 服务器,默认使用 1.1.1.1 和 8.8.8.8。此配置于 23.6.1 版本首次引入。http_timeout
用于设置向 ACME 服务器发起证书签发请求时的超时时间,默认 60 秒。此配置于 23.6.1 版本首次引入。- 设置
acme_skip_duplicate_check = true
后,系统将允许为同一个域名配置多个 ACME 证书。此配置于 24.9.1 版本首次引入。
config
[config]
max_history = 5000
max_full_sync_batch = 500
max_full_sync_qps = 5
max_delta_sync_qps = 500
admin_api_port = 8088
admin_api_scheme = http
max_history = 5000
gc_history_threshold = 1000
gc_ts_threshold = 259200
clean_ts_threshold = 604800
clean_sync_delta_interval = 86400
此配置块用于指定 OpenResty Edge Admin 的服务端口、配置同步等配置。
max_full_sync_batch
:全量同步时,每次同步的配置数量。max_full_sync_qps
:全量同步的限速配置。默认值是 5。max_delta_sync_qps
:增量同步的限速配置。默认值是 500.admin_api_port
:OpenResty Edge Admin 的服务端口。admin_api_scheme
:OpenResty Edge Admin 的服务类型。max_history
:每个配置数据库中,增量同步数据的版本数量超过max_history
的部分将被清理,默认是 5000 个。gc_history_threshold
:所有配置数据库中,增量同步数据的版本数量超过gc_history_threshold
,并且时间在gc_ts_threshold
之前的,将被清理,默认是 1000 个。gc_ts_threshold
:所有配置数据库中,增量同步数据的版本数量超过gc_history_threshold
,并且时间在gc_ts_threshold
之前的,将被清理。默认是 259200 秒,也就是 3 天。clean_ts_threshold
:所有配置数据库中,增量同步数据的生成时间在clean_ts_threshold
之前的,将被清理,默认是 604800 秒,也就是 7 天。clean_sync_delta_interval
:进行清理操作的时间间隔,默认是 86400 秒,也就是 1 天。
static_file
[static_file]
max_download_qps = 5
full_sync_max_batch_size = 50
delta_sync_max_batch_size = 50
delta_sync_max_diff_version = 100
temp_file_root = "/tmp"
max_single_file_size = 10485760
max_archive_dir_size = 104857600
list_delta_limit = 5
max_download_qps
是 Node 下载静态文件的 QPS,默认值是 5。full_sync_max_batch_size
是全量同步时的批次大小,默认值是 50。delta_sync_max_batch_size
是增量同步时的批次大小,默认值是 50。delta_sync_max_diff_version
超过此阈值时,使用全量同步,否则使用增量同步。temp_file_root
用于指定静态文件的临时目录。上传文件到 OpenResty Edge 中时,会先存储到此临时目录中。max_single_file_size
单个文件的最大大小,超过此大小的文件将无法上传。max_archive_dir_size
批量上传文件时的压缩文件最大大小,超过此大小的文件将无法上传。list_delta_limit
是 Node 获取变更的文件列表的 QPS,默认值是 5。
license
[license]
http_proxy = "http://127.0.0.1:2000"
authorization = "UESRNAME:PASSWORD"
此配置块用于对 License 同步进行配置。
http_proxy
是使用代理时的 URL。authorization
是代理的鉴权信息。
waf_rules
[waf_rules]
temp_file_root = "/tmp"
此配置块是与 WAF 规则相关的配置。
temp_file_root
是上传 WAF 规则时,临时进行缓存的目录。
rotate_log
[rotate_log]
interval = 86400
max_kept_file = 128
此配置块用于配置日志轮转。
interval
是轮转间隔。max_kept_file
是最大保持的日志文件数量。
dns_healthcheck
[dns_healthcheck]
interval = 10
此配置块用于配置 DNS 健康检查。
interval
用于设置 DNS 健康检查的间隔,单位秒,默认值是 10。
dns
[dns]
client_limiter_rate = 50
client_limiter_burst = 100
此配置块用于配置 DNS 相关配置。
client_limiter_rate
和client_limiter_burst
用于控制发送 DNS 查询请求的速率。例如当使用域名作为 Kubernetes 集群的Host
时,访问 Kubernetes 集群前会进行 DNS 解析。这两个配置项在23.6.1-31
和23.12.16-1
及之后版本引入。
log_server_health_check
[log_server_health_check]
request_interval = 1
healthy_threshold = 2
unhealthy_threshold = 3
connect_timeout = 10
此配置块用于设置 Log Server 的健康检查参数。在部署多个 Log Server 实例的场景下,健康检查机制可以快速识别并切换到可用实例,从而提高整体服务质量。
各参数说明如下:
request_interval: 定义健康检查请求的发送间隔,单位为秒。默认值为 1 秒。
healthy_threshold: 健康阈值,默认值为 2。当连续成功的健康检查次数达到此阈值时,系统会将该 Log Server 实例标记为健康状态。
unhealthy_threshold: 不健康阈值,默认值为 3。当连续失败的健康检查次数达到此阈值时,系统会将该 Log Server 实例标记为不健康状态。
connect_timeout: 连接超时时间,单位为秒,默认值为 10 秒。这是系统连接 Log Server 的最长时间。如果在此时间内未连接成功,则当前请求被视为失败。
通过适当调整这些参数,您可以根据具体的网络环境和业务需求,优化健康检查的灵敏度和准确性,从而确保日志服务的高可用性。
OpenResty Edge Node 的配置文件
文件路径:/usr/local/oredge-node/conf/config.ini
修改完配置后,你需要执行以下命令来重启服务,以使新配置生效:
sudo systemctl start upgrade-oredge-node
admin
[admin]
host = 127.0.0.1
port = 12345
ssl_host = ADMIN_HOST_COM
protocol = "wss"
host2 = 127.0.0.1
port2 = 12345
protocol2 = "https"
此配置块用于配置 OpenResty Edge Admin 的信息,OpenResty Edge Node 会根据这些信息去连接对应的 OpenResty Edge Admin。
host
是 OpenResty Edge Admin 的地址。port
是 OpenResty Edge Admin 的服务端口。ssl_host
是 OpenResty Edge Admin 的域名,SSL 握手时,将使用此域名。protocol
是连接 OpenResty Edge Admin 所使用的协议,可以取值 wss 和 https。
如果有第二个 OpenResty Edge Admin,则可以配置 host2、port2、protocol2 来连接。
log_server
[log_server]
endpoints = "https://127.0.0.1:12346"
# Optional
mbus_use_host_as_sni = true
mbus_sni = "logserver.test.com"
# The following configuration is used in versions prior to 23.12.1.
host = "127.0.0.1"
port = 12346
protocol = "wss"
这个配置块用于配置 OpenResty Edge Node 连接的 OpenResty Edge Log Server 信息。
endpoints
选项用于设定 OpenResty Edge Log Server 实例的连接地址。如果你有多个实例需要配置,你可以使用逗号将它们分隔开,比如endpoints = "https://127.0.0.1:12346, https://127.0.0.2:12346"
。这是在 23.12.1 版本中新加入的配置,它替代了旧版本的host
、port
和protocol
配置项。host
、port
、protocol
配置项分别指定了 OpenResty Edge Log Server 实例的主机名、端口和协议。在 23.12.1 以及更新的版本中推荐使用endpoints
。mbus_use_host_as_sni
选项标明了是否应将host
作为 SSL 握手时的 SNI(Server Name Indication)使用。mbus_sni
配置项与mbus_use_host_as_sni
的功能类似。不过,如果你选择使用mbus_sni
,你可以直接指定 SSL 握手时的 SNI。
healthcheck
[healthcheck]
update_always_check_ups_interval = 180
run_interval = 1
check_interval = 60
pool_size = 512
这个配置块用于配置上游健康检查。
update_always_check_ups_interval
是更新打开了always check
标记的上游的间隔。run_interval
是执行健康检查的间隔。check_interval
是检查健康检查结果的间隔,如果结果过期,将在后续继续进行健康检查。pool_size
是连接对端时使用的连接池大小。
config
[config]
lmdb = /usr/local/oredge-node/data/config.mdb
lmdb_size = 8192m
disable_core_file_cleanup = false
这个配置块是 OpenResty Edge Node 的一些通用配置。
lmdb
是 OpenResty Edge Node 本地数据库的文件路径。lmdb_size
是数据库文件的大小。如果你想要修改,请参考此文档:LMDB 大小变更及备份恢复 #disable_core_file_cleanup
用于启用删除 OpenResty Edge Node 产生的 core 文件。
dns
[dns]
enable_access_log = true
enable_limiter = true
enable_cache = true
cache_ttl = 1
client_limiter_rate = 50
client_limiter_burst = 100
此配置块是 OpenResty Edge Node 的 DNS 相关的配置。
enable_access_log
用于控制是否启用访问日志。enable_limiter
用于控制是否开启限速。enable_cache
用于控制是否开启缓存,而cache_ttl
是缓存的有效期。client_limiter_rate
和client_limiter_burst
用于控制发送 DNS 查询请求的速率。例如,当使用域名作为上游时,访问上游前会进行 DNS 解析。这两个配置项在23.6.1-31
和23.12.16-1
及之后版本引入。
access_log
[access_log]
max_log_count = 4096
此配置块用于配置 OpenResty Edge Node 的访问日志。
max_log_count
用于控制可以动态打开的访问日志数量。
OpenResty Edge Log Server 的配置文件
文件路径:/usr/local/oredge-log-server/conf/config.ini
修改完配置后,你需要执行以下命令来重启服务,以使新配置生效:
sudo systemctl start upgrade-oredge-log-server
postgresql
[postgresql]
host = 127.0.0.1
port = 5432
max_idle_timeout = 60
pool_size = 50
database = "or_edge_log_server"
user = "USERNAME"
password = 'PASSWORD'
backlog = 1024
此配置块用于配置 OpenResty Edge Log Server 所要使用的数据库信息。
stash
[stash]
errlog_size = 100
events_size = 1024
health_check_size = 512
http_metric_size = 1024
sys_monitor_size = 100
此配置块用于配置错误日志、事件等记录的缓冲区大小,此缓冲区用于写数据库前,避免频繁写数据库。
errlog_size
用于错误日志记录。events_size
用于事件通知记录。health_check_size
用于健康检查记录。http_metric_size
用于上游指标和 HTTP 指标。sys_monitor_size
用于 OpenResty Edge Node 系统监视器记录。
alarm
[alarm]
disable_waf_alarm = true
此配置块用于配置告警模块。
disable_waf_alarm
用于禁用 WAF 的事件告警,WAF 事件可能会很多,导致大量数据传送到 OpenResty Edge Admin,并写入 OpenResty Edge Admin 的数据库,因此可以通过此配置项进行禁用。
OpenResty PostgreSQL 的配置文件
配置文件路径:/var/postgres12/data/postgresql.conf 访问控制文件路径:/var/postgres12/data/pg_hba.conf
当 OpenRsty Edge Admin 和其使用的数据库在同一台机器上;OpenRsty Edge Log Server 和其使用的数据库在同一台机器上 时,通常不需要对数据库进行额外的配置。 当 OpenRsty Edge Admin 和其使用的数据库部署于不同的机器上时,则需要进行以下配置:
把 /var/postgres12/data/postgresql.conf
中的以下配置:
# listen_addresses = 'localhost'
改为
listen_addresses = '*'
接下来修改 /var/postgres12/data/pg_hba.conf,以允许 OpenResty Edge Admin 能访问该数据库。
host all all 10.0.0.1/32 md5
10.0.0.1/32
表示允许访问数据库的 IP 地址范围。
都修改完成后,重启数据库使新配置生效:
sudo systemctl restart openresty-postgresql12