diff --git a/docs/images/webui-instances.png b/docs/images/webui-instances.png new file mode 100644 index 0000000000000000000000000000000000000000..9ddef7bc8bd7bf988503bb0862a2c383938173f6 Binary files /dev/null and b/docs/images/webui-instances.png differ diff --git a/docs/images/webui-main.png b/docs/images/webui-main.png new file mode 100644 index 0000000000000000000000000000000000000000..ed393c5f7385d49c25c8d993897bb1153d3f729b Binary files /dev/null and b/docs/images/webui-main.png differ diff --git a/docs/index.md b/docs/index.md index 7868256a18fe061daf12b2909ffaa42398ff70c5..c8d8960e1bf8be6b4481929720235f8f6b7d7125 100644 --- a/docs/index.md +++ b/docs/index.md @@ -21,6 +21,7 @@ Picodata — Ñто раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ ÑиÑтема промышле * [ЗапуÑк клаÑтера](deploy_on_hosts) * [Мониторинг клаÑтера](monitoring) * [Подключение и работа в конÑоли](tutorial_first_steps) +* [Работа в веб-интерфейÑе](tutorial_webui) * [ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ LDAP](auth_ldap) * [Работа Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ SQL](tutorial_data) diff --git a/docs/install.md b/docs/install.md index cb2ef1000ee3cd518f39223983f5bb3488dd92c9..fc028418d4ba3b641c30bf5def759d022a7f4e74 100644 --- a/docs/install.md +++ b/docs/install.md @@ -19,27 +19,28 @@ Linux p10 и ROSA Chrome 2021.1. Внутри пакетов находитÑÑ - cmake 3.16 или новее - gcc, g++ - libstdc++-static +- NodeJS и Yarn (Ð´Ð»Ñ Ñборки Ñ Ð²ÐµÐ±-интерфейÑом) Далее приведены команды Ð´Ð»Ñ Ð¸Ñ… уÑтановки под разные ОС. #### CentOS 8 {: #centos-8 } ```bash sudo dnf config-manager --set-enabled powertools -sudo dnf in -y gcc gcc-c++ make cmake git patch libstdc++-static +sudo dnf in -y gcc gcc-c++ make cmake git patch nodejs:19 yarnpkg libstdc++-static curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" ``` #### Fedora 37-39 {: #fedora} ```bash -sudo dnf install perl automake libtool libstdc++-static +sudo dnf in -y perl automake libtool libstdc++-static curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" ``` #### Ubuntu 22.04 {: #ubuntu-22.04 } ```bash -sudo apt-get install build-essential git cmake -y +sudo apt-get install build-essential git cmake nodejs yarnpkg -y curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env ``` @@ -47,24 +48,32 @@ source "$HOME/.cargo/env #### Alt Server p10 {: #alt-server-p10} ```bash su - -apt-get install gcc gcc-c++ cmake git patch libstdc++10-devel-static libgomp10-devel-static -y && exit +apt-get install -y gcc gcc-c++ cmake git patch libstdc++10-devel-static libgomp10-devel-static node yarn curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" ``` #### macOS {: #macos } Сборка под macOS почти не отличаетÑÑ Ð¾Ñ‚ таковой в Linux. ПотребуетÑÑ -macOS 10.15 Catalina, либо более Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ (11+). Ð”Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° нужно -убедитьÑÑ, что в ÑиÑтеме имеетÑÑ Ð¿Ð°ÐºÐµÑ‚Ð½Ñ‹Ð¹ менеджер -[Brew](https://brew.sh){:target="_blank"}: +macOS 10.15 Catalina, либо более Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ (11+). + +Ð”Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Ñледует уÑтановить актуальные верÑии [Rust и +Cargo](https://rustup.rs){:target="_blank"}: ```bash -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` +ЕÑли планируетÑÑ Ñборка Picodata c веб-интерфейÑом, то нужно будет +уÑтановить дополнительно NodeJS и Yarn при помощи пакетного менеджера +[Brew](https://brew.sh){:target="_blank"}. -Далее потребуетÑÑ ÑƒÑтановить актуальные верÑии [Rust и Cargo](https://rustup.rs){:target="_blank"}: - +УÑтановка Brew: ```bash -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +``` + +УÑтановка NodeJS и Yarn: +``` +brew install node yarn ``` ### Получение иÑходного кода {: #getting-sources } @@ -75,12 +84,18 @@ git submodule update --init --recursive ``` ### Сборка {: #building } -Введите Ñледующую команду: +Сборка Picodata только c конÑольным интерфейÑом: ```bash cargo build --release ``` +Сборка Picodata c конÑольным и веб-интерфейÑом: + +```bash +cargo build --release --features webui +``` + ИÑполнÑемый файл `picodata` поÑвитÑÑ Ð² директории `target/release`. ### Проверка уÑтановки {: #post-install-check } diff --git a/docs/tutorial_webui.md b/docs/tutorial_webui.md new file mode 100644 index 0000000000000000000000000000000000000000..729a83731e43f44cc321814c04ee262e039a4a09 --- /dev/null +++ b/docs/tutorial_webui.md @@ -0,0 +1,84 @@ +# Работа в веб-интерфейÑе +Ð’ данном разделе приведены ÑведениÑ, которые помогут начать работу Ñ +веб-интерфейÑом Picodata. + + +## Проверка перед подключением {: #check_avail } + +Ðа данный момент доÑтуп к веб-интерфейÑу возможен только еÑли Picodata +была Ñобрана из иÑходного кода. [Готовые +пакеты](https://picodata.io/download){:target="_blank"} пока не включают +данную функциональноÑÑ‚ÑŒ. + +Ðужно убедитьÑÑ, что при Ñборке Picodata c помощью `Cargo` был указан +параметр `--features webui`. Подробнее о Ñборке Ñм. в разделе [УÑтановка +Picodata](install.md). + +## Подключение функции веб-интерфейÑа +Веб-Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ñ€ÐµÐ´ÑтавлÑет Ñобой веб-Ñервер, запуÑкаемый вмеÑте Ñ +[инÑтанÑом](glossary.md#instance) Picodata. Ðе имеет значениÑ, на каком +именно инÑтанÑе клаÑтера запущен Ñтот веб-Ñервер; в любом Ñлучае, +веб-Ñервер будет отображать данные обо вÑем клаÑтере. + +Ð”Ð»Ñ Ð·Ð°Ð¿ÑƒÑка инÑтанÑа Ñ Ð²ÐµÐ±-Ñервером Ñледует иÑпользовать дополнительный +параметр `--http-listen` Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ [хоÑта и +порта](cli.md#http-listen)). Пример команды: + +```bash +picodata run --http-listen localhost:8080 +``` + +Можно запуÑтить неÑколько инÑтанÑов Ñ Ñ‚Ð°ÐºÐ¸Ð¼ параметром, но нужно будет +указать разные адреÑа — таким образом у клаÑтера будет неÑколько +веб-Ñерверов. + +## ДоÑтуп к веб-интерфейÑу + +Ð’ адреÑной Ñтроке веб-браузера введите адреÑ, указанный в виде Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ +параметра `--http-listen`. ОткроетÑÑ Ñтраница Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÐµÐ¹ о клаÑтере +Picodata: + + + +Ð”Ð°Ð½Ð½Ð°Ñ Ñтраница предоÑтавлÑет Ñледующую полезную информацию о клаÑтере: + +<span style="color:red;font-size:150%">â¶</span> — боковое меню, +позволÑющее вывеÑти ÑпиÑок вÑех инÑтанÑов (узлов) клаÑтера;<br> +<span style="color:red;font-size:150%">â·</span> — панель оÑновной +информации о клаÑтере: показателÑÑ… памÑти, количеÑтве +[репликаÑетов](glossart.md#replicaset), [инÑтанÑов](glossart.md#instance) и их [грейдов](glossary.md#grade), верÑии +Picodata;<br> +<span style="color:red;font-size:150%">â¸</span> — кнопка выбора +группировки предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ (по инÑтанÑам или репликаÑетам);<br> +<span style="color:red;font-size:150%">â¹</span> — кнопка подробных +Ñведений о репликаÑете;<br> +<span style="color:red;font-size:150%">âº</span> — облаÑÑ‚ÑŒ подробных +Ñведений о репликаÑете. + +По умолчанию, веб-Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ ÑпиÑок репликаÑетов клаÑтера (в +данном примере их два). ЕÑли выбрать группировку по инÑтанÑам (<span +style="color:red;font-size:150%">â¸</span>), то можно Ñразу увидеть +дополнительную информацию о ÑоÑтоÑнии инÑтанÑов: + + + +ПредÑтавление в виде ÑпиÑка инÑтанÑов Ñодержит Ñледующие Ñлементы: + +<span style="color:blue;font-size:150%">â¶</span> — кнопка Ñортировки +инÑтанÑов по имени (нажатие переключает Ñортировку по +возраÑтанию/убыванию);<br> +<span style="color:blue;font-size:150%">â·</span> — кнопку фильтрации по +[домену отказа](glossary.md#failure_domain) (позволÑет оÑтавить в ÑпиÑке +только те инÑтанÑÑ‹, которые удовлетворÑÑŽÑ‚ заданному уÑловию);<br> +<span style="color:blue;font-size:150%">â¸</span> — текущий и целевой +грейды инÑтанÑа);<br> +<span style="color:blue;font-size:150%">â¹</span> — домен +отказа инÑтанÑа;<br> + +ПодробноÑти о запуÑке клаÑтера Picodata приведены в разделе [ЗапуÑк +клаÑтера](../deploy_on_hosts). + +--- +[ИÑходный код +Ñтраницы](https://git.picodata.io/picodata/picodata/docs/-/blob/main/docs/tutorial_webui.md) + diff --git a/mkdocs.yml b/mkdocs.yml index 53444310ac216ca41e09a1f594fdab3d85870a49..9ad5cb71009fe36c0fc2f475b7dffc78c3c318cd 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -14,6 +14,7 @@ nav: - deploy_on_hosts.md - monitoring.md - tutorial_first_steps.md + - tutorial_webui.md - auth_ldap.md - tutorial_data.md - Справочные материалы: