Skip to content

Commit

Permalink
[docs/experiment] edit "ru" articles about Ansible (#4909)
Browse files Browse the repository at this point in the history
  • Loading branch information
blinkov authored Jun 4, 2024
1 parent b0b6d2e commit e00f237
Show file tree
Hide file tree
Showing 8 changed files with 117 additions and 104 deletions.
2 changes: 1 addition & 1 deletion ydb/docs/en/core/devops/ansible/initial-deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ For large-scale setups, it is recommended to use at least 9 servers for highly a

{% endnote %}

You can download the repository with example playbooks for installing {{ ydb-short-name }} on the cluster from GitHub`git clone https://github.com/ydb-platform/ydb-ansible-examples.git`. This repository contains a few installation templates for deploying {{ ydb-short-name }} clusters in subfolders, as well as scripts for generating TLS certificates and requirement files for installing necessary Python packages. In this article, we'll use the `3-nodes-mirror-3-dc` subfolder for the most simple setup. Alternatively, you can similarly use `8-nodes-block-4-2` or `9-nodes-mirror-3-dc` if you have the necessary number of suitable servers.
Download the GitHub repository with examples for installing {{ ydb-short-name }} cluster – `git clone https://github.com/ydb-platform/ydb-ansible-examples.git`. This repository contains a few installation templates for deploying {{ ydb-short-name }} clusters in subfolders, as well as scripts for generating TLS certificates and requirement files for installing necessary Python packages. In this article, we'll use the `3-nodes-mirror-3-dc` subfolder for the most simple setup. Alternatively, you can similarly use `8-nodes-block-4-2` or `9-nodes-mirror-3-dc` if you have the necessary number of suitable servers.

{% cut "Repository Structure" %}

Expand Down
2 changes: 1 addition & 1 deletion ydb/docs/en/core/devops/ansible/restart.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ To restart a specific host or subset of hosts, use the `--limit` argument:

```bash
ansible-playbook ydb_platform.ydb.restart --limit='<hostname>'
ansible-playbook ydb_platform.ydb.restart --limit='<hostname-1,hosntname-2>'
ansible-playbook ydb_platform.ydb.restart --limit='<hostname-1,hostname-2>'
```

It can be used together with tags, too:
Expand Down
128 changes: 69 additions & 59 deletions ydb/docs/ru/core/devops/ansible/initial-deployment.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions ydb/docs/ru/core/devops/ansible/observability/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Обеспечение наблюдаемости кластера {{ ydb-short-name }}, развёрнутого с помощью Ansible

В этом разделе документации {{ ydb-short-name }} рассматриваются различные темы, связанные с наблюдаемостью (observability), специфичные для кластеров [развёрнутых с помощью Ansible](../initial-deployment.md).
В этом разделе документации {{ ydb-short-name }} рассматриваются различные аспекты наблюдаемости (observability), специфичные для кластеров, [развёрнутых с помощью Ansible](../initial-deployment.md).

* [{#T}](logging.md)

Также есть отдельный раздел с [{#T}](../../../reference/observability/index.md), содержащий статьи, не зависящие от выбранного метода развёртывания кластера.
Также есть отдельный раздел [{#T}](../../../reference/observability/index.md), содержащий статьи, не зависящие от выбранного метода развёртывания кластера.
18 changes: 9 additions & 9 deletions ydb/docs/ru/core/devops/ansible/observability/logging.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Просмотр логов с помощью Ansible playbook

Репозиторий [ydb-ansible](https://github.com/ydb-platform/ydb-ansible) содержит playbook под названием `ydb_platform.ydb.logs`, который можно использовать для просмотра логов со всех узлов {{ ydb-short-name }} кластера. Этот playbook собирает логи с узлов и выводит в `stdout`, что позволяет при необходимости дальше их обработать, например, с помощью команд `grep` или `awk`.
Репозиторий [ydb-ansible](https://github.com/ydb-platform/ydb-ansible) содержит playbook под названием `ydb_platform.ydb.logs`, который можно использовать для просмотра логов со всех узлов кластера {{ ydb-short-name }}. Этот playbook собирает логи с узлов и выводит их в `stdout`, что позволяет при необходимости дальше их обработать, например, с помощью команд `grep` или `awk`.

### Все логи всех узлов

Expand All @@ -18,10 +18,10 @@ ansible-playbook ydb_platform.ydb.logs

В кластере {{ ydb-short-name }} есть два основных типа узлов:

* Storage (также известны как статические)
* Database (также известны как динамические)
* Storage (также известные как статические)
* Database (также известные как динамические)

Задачи в playbook `ydb_platform.ydb.logs` размечены тегами по типам узлов, благодаря чему можно использовать функциональность тегов Ansible для фильтрации логов по типу узла.
Задачи в playbook `ydb_platform.ydb.logs` размечены тегами по типам узлов, благодаря чему можно использовать функциональность тегов Ansible для фильтрации логов по типу узла.

Следующие две команды эквивалентны и будут выводить логи статических узлов:

Expand All @@ -39,11 +39,11 @@ ansible-playbook ydb_platform.ydb.logs --tags dynamic

### Фильтрация по имени хоста

Чтобы отобразить логи определенного хоста или подмножества хостов, используйте аргумент `--limit`:
Чтобы отобразить логи определённого хоста или подмножества хостов, используйте аргумент `--limit`:

```bash
ansible-playbook ydb_platform.ydb.logs --limit='<hostname>'
ansible-playbook ydb_platform.ydb.logs --limit='<hostname-1,hosntname-2>'
ansible-playbook ydb_platform.ydb.logs --limit='<hostname-1,hostname-2>'
```

Его также можно использовать вместе с тегами:
Expand All @@ -56,13 +56,13 @@ ansible-playbook ydb_platform.ydb.logs --tags database --limit='<hostname>'

Чтобы вручную получить доступ к логам кластера {{ ydb-short-name }} через `ssh`, выполните следующие действия:

1. Сформируйте команду `ssh` для доступа к серверу, на котором запущен узел {{ ydb-short-name }}, для которого вам нужны логи. Базовая версия будет выглядеть как `ssh -i <path-to-ssh-key> <username>@<hostname>`. Возьмите значения для составления этой команды из `inventory/50-inventory.yaml`, который вы использовали для развёртывания:
1. Сформируйте команду `ssh` для доступа к серверу, на котором запущен узел {{ ydb-short-name }}, для которого вам нужны логи. Базовая версия будет выглядеть как `ssh -i <path-to-ssh-key> <username>@<hostname>`. Возьмите значения для составления этой команды из файла `inventory/50-inventory.yaml`, который вы использовали для развёртывания:

* `<path-to-ssh-key>` — это `children.ydb.ansible_ssh_private_key_file`;
* `<username>` — это `children.ydb.ansible_user`;
* `<hostname>` — это один из `children.ydb.hosts`.

2. Выберите логи какого systemd юнита вам нужны. Если вам уже известно название юнита, то этот шаг можно пропустить. После входа на сервер с помощью `ssh` команды, созданной на предыдущем шаге, получите список связанных с {{ ydb-short-name }} systemd юнитов, используя `systemctl list-units | grep ydb`. Как правило там будет один статический узел и несколько динамических узлов.
2. Выберите, логи какого systemd юнита вам нужны. Если вам уже известно название юнита, этот шаг можно пропустить. После входа на сервер с помощью команды `ssh`, созданной на предыдущем шаге, получите список связанных с {{ ydb-short-name }} systemd юнитов, используя `systemctl list-units | grep ydb`. Как правило, там будет один статический узел и несколько динамических узлов.

{% cut "Пример вывода" %}
```bash
Expand All @@ -74,4 +74,4 @@ ansible-playbook ydb_platform.ydb.logs --tags database --limit='<hostname>'
```
{% endcut %}

3. Возьмите название systemd юнита из предыдущего шага и используйте его в следующей команде `journalctl -u <systemd-unit>`, чтобы фактически отобразить логи. Вы можете указать `-u` несколько раз, чтобы отобразить логи нескольких юнитов, а также использовать любые другие аргументы из `man journalctl` для настройки вывода команды.
3. Возьмите название systemd юнита из предыдущего шага и используйте его в следующей команде `journalctl -u <systemd-unit>`, чтобы фактически отобразить логи. Вы можете указать `-u` несколько раз, чтобы отобразить логи нескольких юнитов, а также использовать любые другие аргументы из `man journalctl` для настройки вывода команды.
Loading

0 comments on commit e00f237

Please sign in to comment.