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