oneproxy-monitor(目前開源)目前採用的配置包含了3個部分:1. 默認配置;2. 從命令行讀取的配置;3. 從配置文件讀取的配置。在運行的時候,能夠不填寫命名行配置,也能夠沒有配置文件配置。下面來針對這三種配置進行講解。前端
oneproxy-monitor的配置爲:git
logfile=oneproxy_log.log //默認日誌文件 pidfile=oneproxy_pid.pid //默認pid文件 listen_addr=0.0.0.0 //默認listen地址,接收全部地址的鏈接 listen_port=9999 //默認端口,能夠經過逗號來配置多個端口。例如:9999,8888,7777,6666 httpserver_addr=0.0.0.0 //httpserver監聽地址,默認接收全部的鏈接請求 httpserver_port=8080 //http server 默認端口 log_level=error //默認日誌級別,目前支持info, error, fatal data_dump=false //是否輸出通訊包,默認不輸出 log_sql=false //是否輸出sql語句,默認不輸出,須要協議部分的支持。默認的協議處理是不會輸出的。 tryConnServerTimes=3 //鏈接後端數據庫的嘗試次數 maxConnectNum=2000 //前端同時鏈接中間件的數量,同時受環境的影響 keepalive=false //是否keepalive。默認不使用 vip_ifname= //設置vip的虛擬網卡名稱,默認爲空,及不啓用vip vip_address= //設置vip的虛擬網卡地址,默認爲空,及不啓用vip threadnum = 0 //工做線程的數量,配置爲0。可是若是用戶沒有在配置文件中指定,那麼會根據環境自動設置爲cpu的數量
後端數據庫的默認配置:github
host = 127.0.0.1 //默認數據庫地址 port = 1433 //默認數據庫端口 frontPort = 0 //默認前端端口。當爲0時,能夠轉發前端全部數據 className = FakeProtocol //協議類名,默認爲FakeProtocol。當數據庫配置中沒有此項時,則默認設置爲FakeProtocol companyName = fake database //數據庫公司名稱,能夠隨便寫。
從上面默認的配置能夠看出,默認狀況下是支持本機的sql server數據庫的。sql
Usage: %s [OPTION] -q, --quiet Run quietly -v, --verbose Increase verbosity -V, --version Show version -h, --help Show this help screen and exit -f, --file Config file path --oneproxy_address Oneproxy listen address(default:127.0.0.1) --oneproxy_port Oneproxy listen port(default:9999); when have many ports, use comma separate --httpserver_address Http server listen address(default:127.0.0.1) --httpserver_port Http server listen port(default:8080) --database_host Database listen address(default:127.0.0.1) --database_port Database listen port(default:sqlserver 1433) --database_classname ClassName of handle database protocol(default:FakeProtocol) --database_companyname The company name of database (default: fake database) --maxconnectnum The number of oneproxy connection to database(default:2000) --keepalive keep the process alive --vip_ifname the vip network adapter name, for example: eth0:0 --vip_address the vip address --threadnum the number of worker threads
能夠經過命令行參數指定部分參數或者不指定參數都行,若是不指定對應的參數,則使用1中的默認配置。數據庫
配置文件是採用ini格式,配置文件的基本寫法以下所示:後端
[oneproxy] logfile = oneproxy_log.log pidfile = oneproxy_pid.pid listen_addr = 0.0.0.0 listen_port = 9999,8888 httpserver_addr = 0.0.0.0 httpserver_port = 8080 log_level = error data_dump = false log_sql = false [fakeprotocol_9999] host = 127.0.0.1 port = 1433 classname = FakeProtocol frontport = 9999 [fakeprotocol_8888] host = 127.0.0.1 port = 1433 classname = FakeProtocol frontport = 8888
配置文件的寫法有以下幾點要求:sqlserver
1)oneproxy-monitor自身的配置必定要放到[oneproxy]節下,及名稱必須爲oneproxy。若是沒有針對oneproxy-monitor自身的配置,則能夠不寫此節。ui
2)數據庫節的節名稱,能夠隨意寫,可是不可以重複。this
3)若是須要指定某個監聽端口的數據轉發到指定的數據庫上面,則須要配置frontport來指定監控端口。spa