๋ฒ์ : 1.1.3
openproxy [config_file]
openproxy show [--full] [--format toml|json] [--section <์น์
๋ช
>]
openproxy edit [--set <key>=<value>]
openproxy encode [password]
openproxy --force-config-file [config_file]
openproxy [--log-target file|stdout|both] [--log-level trace|debug|info|warn|error]
[--log-dir <๋๋ ํ ๋ฆฌ>] [--max-logfile-num <๊ฐ์>] [--log-format text|structured|debug]
openproxy --version
openproxy --helpOpenProxy๋ Rust๋ก ์์ฑ๋ PostgreSQL ์ปค๋ฅ์ ํ๋ฌ ๋ฐ ํ๋ก์์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ OpenProxy๋ฅผ PostgreSQL ์๋ฒ์ฒ๋ผ ์ฐ๊ฒฐํ๋ฉฐ, OpenProxy๊ฐ ์ค์ ์๋ฒ ์ฐ๊ฒฐ์ ๊ด๋ฆฌํฉ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
์ปค๋ฅ์ ํ๋ง: ์ ์ฐ๊ฒฐ ์์ฑ ๋น์ฉ์ ์ค์ฌ ์ฑ๋ฅ์ ๊ฐ์ ํฉ๋๋ค.
์ฝ๊ธฐ/์ฐ๊ธฐ ๋ถ๋ฆฌ: ์ฟผ๋ฆฌ๋ฅผ ์๋์ผ๋ก ๋ถ์ํ์ฌ ์ฐ๊ธฐ๋ primary, ์ฝ๊ธฐ๋ replica๋ก ๋ผ์ฐํ ํฉ๋๋ค.
๋ก๋ ๋ฐธ๋ฐ์ฑ: ์ฌ๋ฌ replica ๊ฐ์ ์ฝ๊ธฐ ์ฟผ๋ฆฌ๋ฅผ ๋ถ์ฐํฉ๋๋ค.
์๋ Failover: OpenSQL ์์ primary๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์๋์ผ๋ก ๊ฐ์งํ์ฌ ์ primary๋ก ์ฐ๊ฒฐํฉ๋๋ค.
etcd ์ฐ๋: etcd์ ์ค์ ์ ์ ์ฅํ๊ณ ์ฌ๋ฌ OpenProxy ์ธ์คํด์ค ๊ฐ์ ์ค์ ์ ๊ณต์ ํฉ๋๋ค.
VRRP / VIP: ์ฌ๋ฌ OpenProxy ์ธ์คํด์ค ์๋จ์ ๊ฐ์ IP๋ฅผ ์ ๊ณตํ์ฌ ๊ณ ๊ฐ์ฉ์ฑ์ ๊ตฌ์ฑํฉ๋๋ค.
OpenProxy๋ ๋ ๊ฐ์ง ํ๋ง ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค.
ํธ๋์ญ์ ํ๋ง (transaction) โ ๊ถ์ฅ
ํธ๋์ญ์ ์ด ์์๋ ๋ ์๋ฒ ์ฐ๊ฒฐ์ ํ ๋นํ๊ณ , ํธ๋์ญ์ ์ด ๋๋๋ฉด ์ฆ์ ํ๋ก ๋ฐํํฉ๋๋ค. ํ๋์ ์๋ฒ ์ฐ๊ฒฐ์ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ๊ฐ ์์ฐจ์ ์ผ๋ก ์ฌ์ฌ์ฉํ๋ฏ๋ก ์ฐ๊ฒฐ ์๋ฅผ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
๋จ, ํธ๋์ญ์ ์ธ๋ถ์์ SET ๋ช ๋ น์ด๋ ์์ ํ ์ด๋ธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์๋ํ์ง ์์ ๋์์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์ธ์ ํ๋ง (session)
ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ๋ ๋์ ์๋ฒ ์ฐ๊ฒฐ์ด ์ ์ฉ์ผ๋ก ์ ์ง๋ฉ๋๋ค. SET ๋ช ๋ น, ์ค๋น๋ ๊ตฌ๋ฌธ, ์์ ํ ์ด๋ธ ๋ฑ ์ธ์ ์ํ๋ฅผ ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํฉ๋๋ค. ๋จ, ์๋ฒ ์ฐ๊ฒฐ ์ ์ ๊ฐ ํจ๊ณผ๊ฐ ํธ๋์ญ์ ํ๋ง์ ๋นํด ์์ต๋๋ค.
query_parser_enabled = true์ query_parser_read_write_splitting = true๋ฅผ ์ค์ ํ๋ฉด OpenProxy๊ฐ SQL ์ฟผ๋ฆฌ๋ฅผ ํ์ฑํ์ฌ ์๋์ผ๋ก ์ญํ ์ ๊ฒฐ์ ํฉ๋๋ค.
SELECT โ replica๋ก ๋ผ์ฐํ
INSERT, UPDATE, DELETE, DDL โ primary๋ก ๋ผ์ฐํ
ํธ๋์ญ์ ๋ด๋ถ ์ฟผ๋ฆฌ โ ํธ๋์ญ์ ์์ ์์ ์ ๊ฒฐ์ ๋ ์ญํ ์ ์ง
primary_reads_enabled = true๋ก ์ค์ ํ๋ฉด replica๊ฐ ์๊ฑฐ๋ ๋ถํ ๋ถ์ฐ์ด ํ์ํ ๊ฒฝ์ฐ primary๋ ์ฝ๊ธฐ ๋์์ ํฌํจ๋ฉ๋๋ค.
OpenProxy๋ ๋ ๊ฐ์ง ์ด์ ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค.
ํ์ผ ๋จ๋ ๋ชจ๋
์ค์ ํ์ผ(openproxy.toml)๋ง ์ฌ์ฉํฉ๋๋ค. ์ค์ ํ์ผ์ด ๋ณ๊ฒฝ๋๋ฉด 5์ด ์ฃผ๊ธฐ๋ก ์๋ ๊ฐ์งํ์ฌ reloadํฉ๋๋ค. ๋จ์ผ ์๋ฒ ํ๊ฒฝ์ด๋ etcd ์์ด ์ด์ํ๋ ๊ฒฝ์ฐ์ ์ ํฉํฉ๋๋ค.
etcd ์ฐ๋ ๋ชจ๋ (HA)
์ค์ ์ etcd์ ์ ์ฅํ๊ณ ์ฌ๋ฌ ๋ ธ๋๊ฐ ๊ณต์ ํฉ๋๋ค. etcd์ ์ค์ ์ด ๋ณ๊ฒฝ๋๋ฉด ๋ชจ๋ OpenProxy ์ธ์คํด์ค์ ์๋์ผ๋ก ๋ฐ์๋ฉ๋๋ค. Patroni์ ๋์ผํ etcd ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ์ฌ primary/replica ์ญํ ์ ์๋์ผ๋ก ๊ฐ์งํฉ๋๋ค.
์ค์ ์ด ์ฌ๋ฌ ๊ณณ์ ์์ ๊ฒฝ์ฐ ๋ค์ ์ฐ์ ์์๋ฅผ ๋ฐ๋ฆ ๋๋ค.
--force-config-file ์ต์
์ ์ฌ์ฉํ๋ฉด etcd๋ฅผ ๋ฌด์ํ๊ณ ์ค์ ํ์ผ๋ง ์ฌ์ฉํฉ๋๋ค.
์ฌ๋ฌ OpenProxy ์ธ์คํด์ค๋ฅผ ์ด์ํ ๋ ํด๋ผ์ด์ธํธ๊ฐ ํญ์ ํ์ฑ ์ธ์คํด์ค์ ์ฐ๊ฒฐํ ์ ์๋๋ก ๊ฐ์ IP(VIP)๋ฅผ ์ ๊ณตํฉ๋๋ค. VRRP ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค ๊ฐ์ VIP ์์ ๊ถ์ ํ์ํ๋ฉฐ, ํ์ฑ ์ธ์คํด์ค๊ฐ ๋ค์ด๋๋ฉด ๋ค๋ฅธ ์ธ์คํด์ค๊ฐ VIP๋ฅผ ์ธ์ํฉ๋๋ค.
VRRP ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด CAP_NET_ADMIN, CAP_NET_RAW ๊ถํ์ด ํ์ํฉ๋๋ค. OpenSQL ์์ ์ ๊ณตํ๋ systemd ์๋น์ค ํ์ผ์ ์ฌ์ฉํ๋ฉด ํด๋น ๊ถํ์ด ์๋์ผ๋ก ๋ถ์ฌ๋ฉ๋๋ค.
์ค์ ํ์ผ์ ์์ฑํฉ๋๋ค.
OpenProxy๋ฅผ ์คํํฉ๋๋ค.
์ ์์ ํ์ธํฉ๋๋ค.
์ค์ ํ์ผ์ etcd ์น์ ์ ์ถ๊ฐํฉ๋๋ค.
OpenProxy๋ฅผ ์คํํฉ๋๋ค.
etcd์ ์ฐ๊ฒฐ๋๋ฉด ์ค์ ์ด etcd์ ์ ์ฅ๋๊ณ ์ดํ๋ถํฐ๋ etcd๋ฅผ ํตํด ๊ด๋ฆฌ๋ฉ๋๋ค.
์ด์ ํ๊ฒฝ์์๋ systemd ์๋น์ค๋ก ๋ฑ๋กํ์ฌ ์คํํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ์๋ฒ ์ฌ๋ถํ ์ ์๋์ผ๋ก ์์๋๊ณ , ๋น์ ์ ์ข ๋ฃ ์ ์๋์ผ๋ก ์ฌ์์๋ฉ๋๋ค.
์๋น์ค ํ์ผ ์์น: /etc/systemd/system/openproxy.service
์๋น์ค ๋ฑ๋ก ๋ฐ ์์
์๋น์ค ์ค์ง ๋ฐ ์ฌ์์
OpenProxy๋ฅผ ์์ํฉ๋๋ค. config_file์ ์ง์ ํ์ง ์์ผ๋ฉด ํ์ฌ ๋๋ ํ ๋ฆฌ์ openproxy.toml์ ์ฌ์ฉํฉ๋๋ค.
ํ์ฌ ๋ก๋๋ ์ค์ ์ ์ถ๋ ฅํ๊ณ ์ข ๋ฃํฉ๋๋ค. ์๋น์ค๋ฅผ ์์ํ์ง ์์ต๋๋ค.
์ค์ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ ๊ฒฝ์ฐ, ๊ฒฝ๋ก๋ ๋ฐ๋์ ์๋ธ์ปค๋งจ๋ ์์ ์์นํด์ผ ํฉ๋๋ค.
์ค์ ์ ํธ์งํ๊ณ ์ ์ฅํฉ๋๋ค.
์ค์ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ ๊ฒฝ์ฐ, ๊ฒฝ๋ก๋ ๋ฐ๋์ ์๋ธ์ปค๋งจ๋ ์์ ์์นํด์ผ ํฉ๋๋ค.
etcd๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ, ๋ณ๊ฒฝ ๋ด์ฉ์ etcd์ ์ ์ฅ๋๋ฉฐ ์ค์ ํ์ผ์ ์์ ๋์ง ์์ต๋๋ค. ๋จ, virtual_router ์ค์ ์ etcd์ ์ ์ฅ๋์ง ์์ผ๋ฏ๋ก ์ค์ ํ์ผ์์ ์ง์ ์์ ํด์ผ ํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ๋ฅผ SCRAM-SHA-256 ์๋ฒ์์ ์ธ์ํ ์ ์๋ ํํ๋ก ์ํธํํฉ๋๋ค.
์ถ๋ ฅ๋๋ ๊ฒฐ๊ณผ๊ฐ์ openproxy.toml ํ์ผ์ ์ฌ์ฉ์ Password๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. auth_type ๊ฐ์ด scram-sha-256 ํํ๋ก ์ง์ ๋ ๊ฒฝ์ฐ์๋ง ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํฉ๋๋ค.
PostgreSQL์ ์ฐ๊ฒฐํ๊ธฐ ์ํ server_password ๊ฐ์ผ๋ก๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
etcd๊ฐ ํ์ฑํ๋ ํ๊ฒฝ์์๋ ์ค์ ํ์ผ๋ง ์ฌ์ฉํฉ๋๋ค. etcd ์ฐ๊ฒฐ ๋ฌธ์ ๋ฐ์ ์ ์์ ์ฐํ ์๋จ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
OpenProxy๋ ๊ด๋ฆฌ์ ์ฝ์์ ์ ๊ณตํฉ๋๋ค. PostgreSQL ํด๋ผ์ด์ธํธ๋ก openproxy ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ์ฌ ์ฌ์ฉํฉ๋๋ค.
admin_username๊ณผ admin_password๋ ์ค์ ํ์ผ์ general.admin_username, general.admin_password์ ์ ์๋ ๊ฐ์
๋๋ค.
์ผ๋ถ ์ค์ ๊ฐ์ ๋ฐํ์์ ๋ณ๊ฒฝํฉ๋๋ค.
general.etcd.enabled ๊ฐ์ false์์ true๋ก, ๋๋ true์์ false๋ก ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ ๋ฐ๋์ OpenProxy ํ๋ก์ธ์ค๋ฅผ ์ฌ์์ํด์ผ ํฉ๋๋ค.
ํ์ผ ๊ธฐ๋ฐ ์ค์ ์๋ reload๊ฐ ๋ณ๊ฒฝ์ ๊ฐ์งํ๋๋ผ๋, etcd watch ํ์คํฌ๋ ํ๋ก์ธ์ค ์์ ์ ์ต์ด 1ํ๋ง ํ์ฑํ๋ฉ๋๋ค. ๋ฐํ์ ์ค enabled ๊ฐ์ ๋ณ๊ฒฝํด๋ etcd ์ฐ๋์ด ํ์ฑํ๋๊ฑฐ๋ ๋นํ์ฑํ๋์ง ์์ต๋๋ค.
etcd๊ฐ ํ์ฑํ๋ ์ํ(enabled = true)์์ RELOAD ๋ช
๋ น ๋๋ SIGHUP ์๊ทธ๋์ ๋ณด๋ด๋ฉด ์ค์ ์ ์ฒด๋ฅผ ์ฌ๋ก๋ํ๋ ๋์ Patroni ์ญํ ์ ๋ณด๋ง ๊ฐฑ์ ํฉ๋๋ค.
etcd ์ฐ๋ ํ๊ฒฝ์์ ์ค์ ์ ๋ณ๊ฒฝํ๋ ค๋ฉด openproxy edit ๋ช
๋ น์ ์ฌ์ฉํ๊ฑฐ๋ etcd์ ์ง์ ๊ฐ์ ์ ์ฅํด์ผ ํฉ๋๋ค.
[general.virtual_router] ์ค์ ์ ๋
ธ๋๋ง๋ค ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก(interface ์ด๋ฆ, priority ๋ฑ) etcd์ ์ ์ฅ๋์ง ์์ต๋๋ค. ํด๋น ์ค์ ์ ๊ฐ ๋
ธ๋์ ์ค์ ํ์ผ์์ ์ง์ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
CLI ํ๋๊ทธ > etcd > ์ค์ ํ์ผ[general]
host = "0.0.0.0"
port = 6432
admin_username = "admin"
admin_password = "adminpassword"
[pools.mydb]
pool_mode = "transaction"
auth_type = "scram-sha-256"
[pools.mydb.users.0]
username = "appuser"
password = "apppassword"
server_username = "appuser"
server_password = "apppassword"
pool_size = 20
[pools.mydb.shards.0]
servers = [
["192.168.1.10", 5432, "primary"],
["192.168.1.11", 5432, "replica"],
]
database = "mydb"openproxy /etc/openproxy/openproxy.tomlpsql -h 127.0.0.1 -p 6432 -U user mydb[general]
host = "0.0.0.0"
port = 6432
admin_username = "admin"
admin_password = "adminpassword"
[general.etcd]
enabled = true
endpoints = ["192.168.1.1:2379", "192.168.1.2:2379", "192.168.1.3:2379"]
patroni_namespace = "/service"
patroni_scope = "opensql"
[pools.mydb]
pool_mode = "transaction"
auth_type = "scram-sha-256"
query_parser_enabled = true
query_parser_read_write_splitting = true
[pools.mydb.users.0]
username = "appuser"
password = "apppassword"
server_username = "appuser"
server_password = "apppassword"
pool_size = 20
[pools.mydb.shards.0]
servers = [
["192.168.1.10", 5432, "Auto"],
["192.168.1.11", 5432, "Auto"],
["192.168.1.12", 5432, "Auto"],
]
database = "mydb"
use_patroni = trueopenproxy /etc/openproxy/openproxy.toml[Unit]
Description=OpenProxy - PostgreSQL Connection Pooler (OpenSQL)
After=network.target etcd.service
StartLimitIntervalSec=0
[Service]
User=opensql
Type=simple
Restart=always
RestartSec=5
Environment=RUST_LOG=info
ExecStart=/usr/bin/openproxy /etc/openproxy/openproxy.toml
StandardOutput=journal
StandardError=journal
SyslogIdentifier=openproxy
LimitNOFILE=65536
# VRRP ์ฌ์ฉ ์ ํ์. VRRP ๋ฏธ์ฌ์ฉ ์ ์ ๊ฑฐ ๊ฐ๋ฅ.
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW
[Install]
WantedBy=multi-user.target# ์๋น์ค ํ์ผ ๋ณต์ฌ ํ daemon reload
sudo systemctl daemon-reload
# ๋ถํ
์ ์๋ ์์ ํ์ฑํ
sudo systemctl enable openproxy
# ์๋น์ค ์์
sudo systemctl start openproxy
# ์ํ ํ์ธ
sudo systemctl status openproxy
# ๋ก๊ทธ ํ์ธ
sudo journalctl -u openproxy -fsudo systemctl stop openproxy
sudo systemctl restart openproxyopenproxy
openproxy /etc/openproxy/openproxy.toml# ๊ธฐ๋ณธ (TOML ํ์, ๋ช
์์ ์ผ๋ก ์ค์ ๋ ํญ๋ชฉ๋ง)
openproxy show
# ๊ธฐ๋ณธ๊ฐ ํฌํจ ์ ์ฒด ์ค์ ์ถ๋ ฅ
openproxy show --full
# JSON ํ์์ผ๋ก ์ถ๋ ฅ
openproxy show --format json
# ํน์ ์น์
๋ง ์ถ๋ ฅ
openproxy show --section general
openproxy show --section pools.mydb# OK: config_file์ด ์๋ธ์ปค๋งจ๋ ์์ ์์น
openproxy /etc/openproxy/openproxy.toml show
# Fail: config_file์ด ์๋ธ์ปค๋งจ๋ ๋ค์ ์ค๋ฉด ์ธ์๋์ง ์์
openproxy show /etc/openproxy/openproxy.toml# ๋ํํ: $EDITOR๋ก ์ค์ ํ์ผ ์ด๊ธฐ
openproxy edit
# ๋น๋ํํ: ํน์ ๊ฐ ๋ณ๊ฒฝ
openproxy edit --set general.pool_size=20
openproxy edit --set general.connect_timeout=2000
# ์ฌ๋ฌ ๊ฐ ๋์ ๋ณ๊ฒฝ
openproxy edit --set general.connect_timeout=2000 --set general.idle_timeout=300000# OK: config_file์ด ์๋ธ์ปค๋งจ๋ ์์ ์์น
openproxy /etc/openproxy/openproxy.toml edit --set general.pool_size=20
# Fail: config_file์ด ์๋ธ์ปค๋งจ๋ ๋ค์ ์ค๋ฉด ์ธ์๋์ง ์์
openproxy edit /etc/openproxy/openproxy.toml --set general.pool_size=20openproxy encode 'mypassword!@#'[pools.my_pool]
auth_type = "scram-sha-256"
[pools.my_pool.users.0]
username = "opensql_user"
password = "SCRAM-SHA-256$4096:..."openproxy --force-config-file /etc/openproxy/openproxy.toml--log-target
both
๋ก๊ทธ ์ถ๋ ฅ ๋์. file (ํ์ผ๋ง), stdout (ํ์ค์ถ๋ ฅ๋ง), both (๋ ๋ค)
--log-level
info
# ๋ก๊ทธ๋ฅผ ํ์ผ๋ก๋ง ์ ์ฅ, ์ ์ฅ ๊ฒฝ๋ก ๋ฐ ๋ณด๊ด ๊ฐ์ ์ง์
openproxy --log-target file --log-dir /var/log/openproxy --max-logfile-num 10 /etc/openproxy/openproxy.toml
# ๋ก๊ทธ ๋ ๋ฒจ์ debug๋ก ์ค์ ํ์ฌ ํ์ค์ถ๋ ฅ์ผ๋ก๋ง ์ถ๋ ฅ
openproxy --log-target stdout --log-level debug /etc/openproxy/openproxy.tomlpsql -h 127.0.0.1 -p 6432 -U <admin_username> openproxySHOW POOLS
๊ฐ ํ์ ์ปค๋ฅ์ ์, ๋๊ธฐ ํด๋ผ์ด์ธํธ ์ ๋ฑ ํ ์ํ
SHOW CLIENTS
ํ์ฌ ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ ๋ชฉ๋ก
SHOW SERVERS
RELOAD
์ค์ ์ ๋ค์ ๋ก๋ํฉ๋๋ค. etcd ํ์ฑ ์ Patroni ์ญํ ๋ง ๊ฐฑ์ ํฉ๋๋ค.
PAUSE [db, user]
์ง์ ํ ํ(๋๋ ์ ์ฒด)์ ์ ์ฟผ๋ฆฌ ์์ ์ ์ค์งํฉ๋๋ค. ์งํ ์ค์ธ ํธ๋์ญ์ ์ ์๋ฃ๋ฅผ ๊ธฐ๋ค๋ฆฝ๋๋ค.
RESUME [db, user]
SET key = value# ์ค์ ํ์ผ์์ enabled ๋ณ๊ฒฝ ํ ๋ฐ๋์ ์ฌ์์
sudo systemctl restart openproxy๋ก๊ทธ ๋ ๋ฒจ. trace, debug, info, warn, error
--log-dir
logs
๋ก๊ทธ ํ์ผ ์ ์ฅ ๋๋ ํ ๋ฆฌ. log-target์ด file ๋๋ both์ผ ๋ ์ฌ์ฉ
--max-logfile-num
5
๋ก๊ทธ ํ์ผ ์ต๋ ๋ณด๊ด ๊ฐ์. ๋ก๊ทธ ํ์ผ์ ๋งค์ผ ์์ ์ ์๋ก ์์ฑ๋๋ฉฐ, ๋ณด๊ด ๊ฐ์ ์ด๊ณผ ์ ์ค๋๋ ํ์ผ๋ถํฐ ์ญ์
--log-format
text
๋ก๊ทธ ์ถ๋ ฅ ํ์. text (์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ํ์), structured (JSON ๋ฑ ๊ตฌ์กฐํ ํ์), debug
ํ์ฌ ์ด๋ ค ์๋ ์๋ฒ ์ฐ๊ฒฐ ๋ชฉ๋ก
SHOW STATS
์ฟผ๋ฆฌ ์, ๋ฐ์ดํธ ์, ์๋ต ์๊ฐ ๋ฑ ํต๊ณ
SHOW DATABASES
์ค์ ๋ ํ(๋ฐ์ดํฐ๋ฒ ์ด์ค) ๋ชฉ๋ก
SHOW USERS
์ค์ ๋ ์ฌ์ฉ์ ๋ชฉ๋ก
SHOW CONFIG
ํ์ฌ ๋ก๋๋ ์ค์ ๊ฐ
SHOW LISTS
๋ด๋ถ ์ค๋ธ์ ํธ ๊ฐ์ ํต๊ณ
SHOW BANS
์ผ์ ์ฐจ๋จ๋ ์๋ฒ ๋ชฉ๋ก
SHOW VERSION
OpenProxy ๋ฒ์ ์ ๋ณด
SHOW HELP
์ฌ์ฉ ๊ฐ๋ฅํ ๋ช ๋ น์ด ๋ชฉ๋ก
PAUSE๋ก ์ค์ง๋ ํ์ ์ฌ๊ฐํฉ๋๋ค.
SHUTDOWN
OpenProxy๋ฅผ ์ข ๋ฃํฉ๋๋ค.