ClickHouse
Подключить
Подключите ClickHouse из терминала. Передайте --help, чтобы увидеть флаги, которые принимает ClickHouse, а также --no-browser для окружений без браузера.
polylane cloud connect --provider clickhouseID и секрет API-ключа из настроек организации ClickHouse Cloud.
ClickHouse Cloud подключается с помощью API-ключа, созданного в настройках вашей организации. API-ключ принадлежит ровно одной организации, поэтому один ключ подключает одну организацию, а каждая организация подключается к рабочему пространству один раз. Ключи шифруются перед сохранением, и агент никогда их не видит.
- Откройте ClickHouse Cloud, перейдите в API Keys вашей организации.
- Нажмите New API key и выберите роль Developer (только чтение): Polylane только читает во время синхронизации.
- Скопируйте как key ID, так и key secret; секрет показывается только один раз.
- Вставьте оба значения в Polylane.
- Polylane проверяет ключ и начинает синхронизацию.
Polylane обнаруживает ваши сервисы, включая состояние, уровень, регион, облачного провайдера, версию ClickHouse, размеры реплик и эндпоинты подключения. Имена хостов подключения используются для связывания между облаками, поэтому приложения, которые обращаются к сервису через переменную окружения, связываются с ним на карте.
Мониторинг поднимает проблему, когда сервисы остаются в состоянии degraded, failed, stopped или partially running; состояния idle и waking для сервисов с масштабированием до нуля являются обычным жизненным циклом и считаются здоровыми. Панель управления ClickHouse Cloud отдаёт метрики как живой снимок без истории, поэтому агенты читают текущие значения по запросу, а у сервисов нет графиков метрик.
Устранение неполадок
Ошибка «Invalid API key»
- Нужны и ID ключа, и секрет ключа; по отдельности они не проходят аутентификацию.
- Проверьте, что ключ не был удалён или отключён в настройках API-ключей ClickHouse Cloud.
- Ключи с датой истечения перестают работать после её наступления; создайте новый ключ и замените его в Polylane.
Отсутствуют ресурсы
- ClickHouse Cloud может синхронизировать всё в течение нескольких минут.
- Запустите ручную Sync из заголовка аккаунта, чтобы обновить данные.
Лимиты запросов
- ClickHouse Cloud допускает 10 API-запросов за 10 секунд на ключ. Отдельный ключ для Polylane позволяет не делить этот бюджет с другими инструментами.
Отключение
Отключите аккаунт в Polylane, затем удалите API-ключ в настройках организации ClickHouse Cloud.
Подключите ClickHouse из CI-задания или любого другого окружения без браузера.
Для подключения ClickHouse Cloud браузер не нужен: тот же эндпоинт, который вызывает консоль, помещается в CI-задание. Один аутентифицированный POST создаёт подключение и запускает первую синхронизацию.
Требования
- API-ключ Polylane с областями
cloud_accounts:writeиcloud_accounts:read. См. API-ключи и OAuth. - ID вашего рабочего пространства, который начинается с
ws_. Прочитайте его изGET /v1/workspacesтем же ключом. - ID и секрет API-ключа ClickHouse Cloud из API Keys вашей организации, созданного с ролью Developer (только чтение).
Создайте подключение
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "clickhouse",
"workspaceId": "ws_0abc123",
"keyId": "<key-id>",
"keySecret": "<key-secret>"
}'
API-ключ принадлежит ровно одной организации, поэтому один вызов подключает одну организацию.
Ответ перечисляет, что было подключено, с уже запущенной первой синхронизацией. Сокращён до двух полей, которые читает остальная часть процесса:
{
"success": true,
"result": {
"provider": "clickhouse",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Уже подключённый аккаунт попадает в failures, а не в accounts, поэтому повторный вызов никогда не дублирует подключение.
Дождитесь первой синхронизации
Опрашивайте каждый возвращённый аккаунт по его id, пока status не достигнет ready (new при регистрации, syncing пока ресурсы поступают):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
Задайте циклу предельное время, чтобы неудачное подключение проваливало задание, а не подвешивало его. Как только аккаунт в состоянии ready, его ресурсы находятся в топологии, и Polylane начал свою первую проверку.
Отключение через API
Удаление подключения останавливает все синхронизации и проверки и удаляет учётные данные, которые хранил Polylane. Вызову нужна область cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Затем отозовите учётные данные ClickHouse Cloud на стороне провайдера, как описано ниже в разделе Отключение.
Отключить
Отключение останавливает все синхронизации и проверки и удаляет учётные данные, которые хранил Polylane. Всё, что Polylane настроил в ClickHouse, также удаляется; ничего не остаётся.
polylane cloud disconnect <id>Инструменты
3Операции, которые агенты могут выполнять в тредах.
Поддерживаемые ресурсы
1Типы ресурсов, которые появляются в графе вашей инфраструктуры.