# Установка Мониторинга — подключение к внешней ClickHouse

## Цель

Установить Мониторинг с подключением к внешней базе данных ClickHouse вместо встроенной. Применяется, когда инфраструктура использует выделенный сервер ClickHouse 20 или ADQM 24.

## Контекст

В Мониторинге ClickHouse служит для первичного хранения необработанных данных, собираемых с устройств по протоколу SNMP.

## Предусловия

- Внешняя ClickHouse развёрнута и доступна по сети с сервера Мониторинга.
- Версия ClickHouse соответствует «Требования к серверу для установки Принтум» (ClickHouse 20 или ADQM 24).
- Время отклика от сервера Мониторинга к внешней БД — в пределах 2–5 мс.
- Создан пользователь с правами на чтение, удаление, редактирование строк и столбцов в базе, а также удаление, создание, редактирование таблиц.
- Подготовлены остальные параметры установки Мониторинга (см. соответствующую страницу установки).

## Что потребуется

- `CLICKHOUSE_HOST` — адрес сервера БД.
- `CLICKHOUSE_PORT` — порт подключения.
- `CLICKHOUSE_DATABASE` — имя базы.
- `CLICKHOUSE_USER` — имя пользователя для подключения.
- `CLICKHOUSE_PASSWORD` — пароль пользователя.
- (Опционально) `CLICKHOUSE_SSL` — `True` или `False` (регистр важен).
- (При `CLICKHOUSE_SSL=True`) `CLICKHOUSE_CERT_CA` — абсолютный путь к CA-сертификату.

## Шаги установки

### Шаг 1. Подготовить базовую установку Мониторинга

Выполнить шаги онлайн- или офлайн-установки до момента запуска `install.sh`.

### Шаг 2. Сформировать команду установки с параметрами внешней ClickHouse

Добавить в команду установки следующие параметры:

```
CLICKHOUSE_HOST=<CLICKHOUSE_HOST>
CLICKHOUSE_PORT=<CLICKHOUSE_PORT>
CLICKHOUSE_DATABASE=<CLICKHOUSE_DATABASE>
CLICKHOUSE_USER=<CLICKHOUSE_USER>
CLICKHOUSE_PASSWORD=<CLICKHOUSE_PASSWORD>
CLICKHOUSE_SSL=<CLICKHOUSE_SSL>
CLICKHOUSE_CERT_CA=<CLICKHOUSE_CERT_CA>
```

Пример итоговой команды:

```
sudo -E CLICKHOUSE_HOST=<CLICKHOUSE_HOST> CLICKHOUSE_DATABASE=<CLICKHOUSE_DATABASE> CLICKHOUSE_USER=<CLICKHOUSE_USER> CLICKHOUSE_PASSWORD=<CLICKHOUSE_PASSWORD> CLICKHOUSE_SSL=True CLICKHOUSE_CERT_CA=<CLICKHOUSE_CERT_CA> CLICKHOUSE_PORT=<CLICKHOUSE_PORT> ./install.sh
```

### Шаг 3. Поведение при шифрованном соединении

- Если `CLICKHOUSE_SSL=False` или параметр пропущен — настройка SSL игнорируется.
- Если `CLICKHOUSE_SSL=True` — будет использовано шифрованное соединение с проверкой сертификата по `CLICKHOUSE_CERT_CA`.
- Регистр значения `True`/`False` важен и должен начинаться с большой буквы.

## Ожидаемый результат

- Установка завершается без ошибок подключения к внешней ClickHouse.
- Мониторинг использует переданную внешнюю БД для первичных данных SNMP.

## Как проверить установку

- Открыть Личный кабинет Мониторинга и убедиться, что данные с устройств поступают.
- На сервере внешней ClickHouse — проверить наличие активных подключений и таблиц.

## Типовые ошибки

- **Connection refused / timeout к ClickHouse** — проверить сетевую доступность и открытие порта `CLICKHOUSE_PORT`.
- **Authentication failed** — проверить логин/пароль и права пользователя БД.
- **SSL handshake failed** при `CLICKHOUSE_SSL=True` — проверить путь к CA-сертификату.
- **Параметр игнорируется** — убедиться, что `CLICKHOUSE_SSL` имеет значение ровно `True` (с большой буквы).

## Что проверить перед эскалацией

- Версия ClickHouse / ADQM.
- Параметры подключения (хост, порт, БД, пользователь).
- Логи сервера ClickHouse за время установки.
- Сетевая связность `сервер Мониторинга → сервер БД` на `CLICKHOUSE_PORT`.

## Следующие шаги

- Завершение установки Мониторинга — первый вход и проверка

## Связанные страницы

- [Установка Мониторинга — онлайн, автоматические сертификаты](http://wiki.printum.io/books/3-ustanovka/page/ustanovka-monitoringa-onlain-avtomaticeskie-sertifikaty)
- [Установка Мониторинга — офлайн, автоматические сертификаты](http://wiki.printum.io/books/3-ustanovka/page/ustanovka-monitoringa-oflain-avtomaticeskie-sertifikaty)
- [Установка Мониторинга — подключение к внешней PostgreSQL](http://wiki.printum.io/books/3-ustanovka/page/ustanovka-monitoringa-podkliucenie-k-vnesnei-postgresql)
- [Требования к серверу для установки Принтум](http://wiki.printum.io/books/3-ustanovka/page/trebovaniia-k-serveru-dlia-ustanovki-printum)