diff --git a/doc/rac-manual.txt b/doc/rac-manual.txt index ef4e2f7..02d3476 100644 --- a/doc/rac-manual.txt +++ b/doc/rac-manual.txt @@ -102,7 +102,7 @@ profile Режим управления профилями безопас os - аутентификация средствами ОС --os-user= - имя пользователя операционной системы + имя пользователя операционной системы remove удаление администратора агента кластера @@ -317,7 +317,7 @@ profile Режим управления профилями безопас [:] адрес сервера администрирования (по-умолчанию: localhost:1545) - + Режим: manager @@ -349,33 +349,33 @@ profile Режим управления профилями безопас Использование: - rac server [command] [options] [arguments] +rac server [command] [options] [arguments] Общие параметры: - --version | -v - получение версии утилиты +--version | -v +получение версии утилиты - --help | -h | -? - отображение краткой информации об утилите +--help | -h | -? +отображение краткой информации об утилите Общие аргументы: - [:] - адрес сервера администрирования (по-умолчанию: localhost:1545) +[:] +адрес сервера администрирования (по-умолчанию: localhost:1545) Режим: - server - Режим администрирования рабочего сервера +server +Режим администрирования рабочего сервера Параметры: - --cluster= - (обязательный) идентификатор кластера серверов +--cluster= +(обязательный) идентификатор кластера серверов - --cluster-user= - имя администратора кластера +--cluster-user= +имя администратора кластера --cluster-pwd= пароль администратора кластера @@ -407,7 +407,7 @@ profile Режим управления профилями безопас --name= наименование рабочего сервера - --using=main|normal +--using=main|normal вариант использования рабочего сервера main - в качестве центрального сервера normal - в качестве обычного сервера @@ -415,7 +415,7 @@ profile Режим управления профилями безопас --infobases-limit= максимальное количество информационных баз на рабочий процесс - --memory-limit= +--memory-limit= предел использования памяти рабочими процессами --connections-limit= @@ -452,7 +452,7 @@ profile Режим управления профилями безопас --infobases-limit= максимальное количество информационных баз на рабочий процесс - + --memory-limit= предел использования памяти рабочими процессами @@ -1435,3 +1435,4 @@ profile Режим управления профилями безопас --name= (обязательный) имя профиля безопасности + diff --git a/lib/function.tcl b/lib/function.tcl index 6166b46..814716c 100644 --- a/lib/function.tcl +++ b/lib/function.tcl @@ -16,14 +16,13 @@ proc TreePress {tree} { set id [$tree selection] set values [$tree item [$tree selection] -values] set key [lindex [split $id "::"] 0] - puts "$key, $id , $values" Run::$key $tree $host $values #RunCommand $root "infobase summary list --cluster=$cluster $host" } namespace eval Run {} {} - +# Получение данных по кластерам proc Run::server {tree host values} { puts "Server info $host $values" set lst [RunCommand server::$host "cluster list $host"] @@ -121,7 +120,40 @@ proc Run::connections {tree host values} { Run::List:Base $tree $host $values connection } proc Run::servers {tree host values} { - Run::List $tree $host $values server + global active_cluster + .frm_work.tree_work delete [ .frm_work.tree_work children {}] + set lst [RunCommand infobase::$values "server list --cluster=$active_cluster $host"] + set l [split $lst "&"] + foreach i $l { + set server_list [split $i ":"] + #InsertItemsWorkList $server_list + if {[string trim [lindex $server_list 0]] eq "server"} { + set server_id [string trim [lindex $server_list 1]] + lappend server($server_id) $server_id + } + if {[string trim [lindex $server_list 0]] eq "name"} { + lappend server($server_id) [string trim [lindex $server_list 1]] + } + } + foreach x [array names server] { + set id [lindex $server($x) 0] + if { [$tree exists "work_server::$id"] == 0 } { + $tree insert "servers::$values" end -id "work_server::$id" -text "[lindex $server($x) 1]" -values "$id" + } + #InsertServerItems $tree $id + } + #Run::List $tree $host $values server +} +proc Run::work_server {tree host values} { + global active_cluster + .frm_work.tree_work delete [ .frm_work.tree_work children {}] + set lst [RunCommand infobase::$values "server info --cluster=$active_cluster --server=$values $host"] + set l [split $lst "&"] + foreach i $l { + set base_list [split $i ":"] + InsertItemsWorkList $base_list + } + #Run::List $tree $host $values server } proc Run::profiles {tree host values} { Run::List $tree $host $values profile @@ -187,6 +219,18 @@ proc InsertBaseItems {tree id} { $tree insert $parent end -id "connections::$id" -text "Соединения" -values "$id" } } +proc InsertServerstems {tree id} { + set parent "infobase::$id" + if { [$tree exists "sessions::$id"] == 0 } { + $tree insert $parent end -id "sessions::$id" -text "Сеансы" -values "$id" + } + if { [$tree exists "locks::$id"] == 0 } { + $tree insert $parent end -id "locks::$id" -text "Блокировки" -values "$id" + } + if { [$tree exists "connections::$id"] == 0 } { + $tree insert $parent end -id "connections::$id" -text "Соединения" -values "$id" + } +} proc DebugInfo {widget f} { if {[eof $f]} { @@ -204,4 +248,28 @@ proc DebugInfo {widget f} { } } +proc Del {} { + global active_cluster host + set id [.frm_tree.tree selection] + set values [.frm_tree.tree item [.frm_tree.tree selection] -values] + set key [lindex [split $id "::"] 0] + puts "$key, $id , $values" + Del::$key .frm_tree.tree $host $values +} + +namespace eval Del {} {} + +proc Del::work_server {tree host values} { + global active_cluster + .frm_work.tree_work delete [ .frm_work.tree_work children {}] + set answer [tk_messageBox -message "Удалить рабочий сервер $values?" \ + -icon question -type yesno ] + switch -- $answer { + yes { + set lst [RunCommand infobase::$values "server remove --cluster=$active_cluster --server=$values $host"] + $tree delete "work_server::$values" + } + no {return} + } +}