Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Практические руководства
  • Веб-сервис
    • Все руководства
    • Cтатический сайт в Object Storage
    • Cайт на LAMP- или LEMP-стеке
    • Отказоустойчивый сайт с балансировкой нагрузки через Network Load Balancer
    • Отказоустойчивый сайт с балансировкой нагрузки через Application Load Balancer
    • Сайт на базе Joomla с БД PostgreSQL
    • Сайт на WordPress
    • Сайт на WordPress с БД MySQL
    • Перенос WordPress сайта с хостинга в Yandex Cloud
    • Веб-сайт на базе 1С-Битрикс
    • Интеграция L7-балансировщика с Cloud CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
  • Интернет-магазины
    • Все руководства
    • Интернет-магазин на 1С-Битрикс
    • Интернет-магазин на Opencart
  • Архив данных
    • Все руководства
    • Однонодовый файловый сервер
    • Настройка SFTP-сервера на Centos 7
    • Резервное копирование в Object Storage через Acronis
    • Резервное копирование в Object Storage через CloudBerry Desktop Backup
    • Резервное копирование в Object Storage через Duplicati
    • Резервное копирование в Object Storage через Bacula
    • Резервное копирование в Object Storage через Veritas Backup Exec
    • Оцифровка архива в Yandex Vision
  • Тестовая среда
    • Все руководства
    • Тестирование приложений с помощью GitLab
    • Создание тестовых ВМ через GitLab CI
    • Высокопроизводительные вычисления на прерываемых виртуальных машинах
    • Эмуляция множества IoT-устройств
    • Нагрузочное тестирование gRPC-сервиса
    • HTTPS-тест с постоянной нагрузкой с помощью Phantom
    • HTTPS-тест со ступенчатой нагрузкой с помощью Pandora
  • Управление инфраструктурой
    • Все руководства
    • Начало работы с Terraform
    • Загрузка состояний Terraform в Object Storage
    • Начало работы с Packer
    • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
    • Автоматизация сборки образов ВМ с помощью Jenkins
    • Непрерывное развертывание контейнеризованных приложений с помощью GitLab
    • Создание кластера Linux-серверов «1С:Предприятия» с кластером Managed Service for PostgreSQL
    • Создание кластера Windows-серверов «1С:Предприятия» с базой данных SQL Server
    • Миграция в Yandex Cloud с помощью Hystax Acura
    • Защита от сбоев с помощью Hystax Acura
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
    • Создание SAP-программы в Yandex Cloud
  • Построение Data Platform
    • Все руководства
    • Синхронизация данных из MySQL с помощью Yandex Data Transfer
    • Миграция базы данных из Yandex Managed Service for MySQL в MySQL
    • Настройка управляемой базы данных в кластере ClickHouse для Graphite
    • Обмен данными между Yandex Managed Service for ClickHouse и Yandex Data Proc
    • Импорт базы данных в Yandex Data Proc с использованием Sqoop
    • Использование Confluent Schema Registry с Yandex Managed Service for Apache Kafka®
    • Поставка данных из Yandex Managed Service for PostgreSQL в Yandex Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Yandex Managed Service for PostgreSQL в Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Миграция данных в Yandex Managed Service for Apache Kafka®
    • Перенос коллекций из MongoDB в Yandex Managed Service for MongoDB
    • Миграция базы данных в Yandex Managed Service for SQL Server
    • Перенос данных из PostgreSQL в ClickHouse с помощью Yandex Data Transfer
    • Настройка Kafka Connect для работы с кластером Yandex Managed Service for Apache Kafka®
    • Настройка Yandex Cloud DNS для доступа к кластерам управляемых баз данных из других облачных сетей
    • Миграция в Yandex Managed Service for Elasticsearch с помощью Reindex API
    • Использование скриптов инициализации для настройки GeeseFS в Yandex Data Proc
  • Windows в Yandex Cloud
    • Все руководства
    • Развертывание Active Directory
    • Развертывание Microsoft Exchange
    • Развертывание Remote Desktop Services
    • Развертывание группы доступности Always On
    • Развертывание группы доступности Always On с внутренним сетевым балансировщиком
    • Развертывание Remote Desktop Gateway
  • Сетевая маршрутизация
    • Все руководства
    • Маршрутизация с помощью NAT-инстанса
    • Создание VPN-туннеля
    • Установка виртуального роутера Cisco CSR1000v
    • Установка виртуального роутера Mikrotik CHR
    • Соединение с облачной сетью при помощи OpenVPN
    • Настройка сети для Yandex Data Proc
  • Визуализация и анализ данных
    • Все руководства
    • Визуализация данных из CSV-файла
    • Создание и публикация диаграммы с картой Москвы из CSV-файла
    • Анализ продаж сети магазинов из БД ClickHouse
    • Анализ открытых данных ДТП на дорогах России
    • Анализ продаж и локаций пиццерий на данных из БД ClickHouse и Marketplace
    • Веб-аналитика с подключением к Яндекс Метрике
    • Веб-аналитика с расчетом воронок и когорт на данных Яндекс Метрики
    • Аналитика мобильного приложения на данных AppMetrica
    • Анализ статистики подкастов Яндекс Музыки (для авторов подкастов)
    • Визуализация данных с помощью SQL-чарта
    • Анализ customer journey мобильного приложения на данных AppMetrica
    • Анализ логов Object Storage при помощи DataLens
  • Интернет вещей
    • Руководства по работе с интернетом вещей
    • Мониторинг состояния географически распределенных устройств
    • Мониторинг показаний датчиков и уведомления о событиях
  • Бессерверные технологии
    • Сокращатель ссылок
    • Ввод данных в системы хранения
    • Хранение журналов работы приложения
  1. Построение Data Platform
  2. Настройка управляемой базы данных в кластере ClickHouse для Graphite

Настроить управляемую базу данных в кластере ClickHouse для Graphite

Статья создана
Yandex Cloud
  • Подготовьте окружение
    • Необходимые платные ресурсы
  • Создайте кластер
  • Зарегистрируйте конфигурацию rollup в кластере
  • Создайте и настройте виртуальную машину
  • Подключите виртуальную машину к базе данных
  • Создайте таблицу на основе GraphiteMergeTree
  • Настройте Graphite
  • Как удалить созданные ресурсы

Yandex Managed Service for ClickHouse можно использовать как хранилище данных для Graphite.

Движок таблиц GraphiteMergeTree позволяет прореживать и агрегировать или усреднять содержимое БД специально для Graphite. Движок уменьшает объем хранения данных и повышает эффективность запросов от Graphite.

Примечание

Если прореживние и агрегирование или усреднение не требуется, то для хранения данных Graphite можно использовать любой движок таблиц ClickHouse.

Чтобы настроить БД для работы с Graphite:

  1. Подготовьте окружение.
  2. Создайте кластер.
  3. Зарегистрируйте конфигурацию rollup в кластере.
  4. Создайте и настройте виртуальную машину.
  5. Подключите виртуальную машину к базе данных.
  6. Создайте таблицу на основе GraphiteMergeTree.
  7. Настройте Graphite.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте окружение

Перед работой нужно зарегистрироваться в Yandex Cloud и создать платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь, если вы еще не зарегистрированы.
  2. На странице биллинга убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсы

В стоимость поддержки БД ClickHouse для Graphite входит:

  • плата за вычислительные ресурсы кластера, объем хранилища и резервных копий (см. тарифы Yandex Managed Service for ClickHouse);
  • плата за запущенную ВМ для управления БД (см. тарифы Yandex Compute Cloud).

Создайте кластер

  1. Создайте кластер Managed Service for ClickHouse любой подходящей вам конфигурации с БД db1 и публичным доступом ко всем его хостам. Сохраните имя БД, имя пользователя БД и пароль.
  2. В консоли управления выберите сервис Managed Service for ClickHouse, перейдите в созданный кластер. На вкладке Обзор сохраните идентификатор кластера.
  3. В правом верхнем углу нажмите Подключиться, на вкладке Shell из поля Пример строки подключения сохраните параметр --host, например rc1a-2sqal8f01znegjkj.mdb.yandexcloud.net, это FQDN хоста кластера, он потребуется в дальнейшем.

Зарегистрируйте конфигурацию rollup в кластере

Зегистрируйте в кластере конфигурацию rollup для прореживания и агрегирования или усреднения содержимого БД для Graphite:

CLI
API

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  1. Подготовьте yaml-файл graphite-rollup.yaml с описанием параметров rollup, например:

              name: test_rollup
    patterns:    
        - regexp: click_cost
        function: max
        retention:
          - age: 86400
            precision: 60
    
  2. Вместо <CLUSTER_ID> укажите идентификатор кластера, вместо <путь к yaml-файлу> — путь к graphite-rollup.yaml и выполните команду:

    yc managed-clickhouse cluster add-graphite-rollup <CLUSTER_ID> --rollup-file-name <путь к yaml-файлу>
    

    Подробнее о команде managed-clickhouse cluster add-graphite-rollup см. в справочнике CLI.

    Примечание

    Для удаления конфигурации rollup используйте команду managed-clickhouse cluster remove-graphite-rollup. Подробнее о команде см. в справочнике CLI.

Используйте метод REST API update, передав в теле запроса требуемые параметры rollup:

"graphiteRollup": [
          {
            "name": "test_rollup",
            "patterns": [
              {
                "regexp": "click_cost",
                "function": "max",
                "retention": [
                  {
                    "age": "86400",
                    "precision": "60"
                  }
                ]
              }
            ]
          }
        ]

Создайте и настройте виртуальную машину

  1. В той же облачной сети, где расположен кластер, создайте ВМ на основе Linux.

  2. Подключитесь к ВМ по SSH.

  3. Подключите DEB-репозиторий ClickHouse:

    sudo apt update && sudo apt install -y apt-transport-https ca-certificates dirmngr && \
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4 && \
    echo "deb https://repo.clickhouse.com/deb/stable/ main/" | sudo tee \
    /etc/apt/sources.list.d/clickhouse.list
    
  4. Установите зависимости и клиентское приложение clickhouse-client:

    sudo apt update && sudo apt install -y clickhouse-client
    
  5. Загрузите файл конфигурации для clickhouse-client:

    mkdir -p ~/.clickhouse-client && wget "https://storage.yandexcloud.net/mdb/clickhouse-client.conf.example" -O ~/.clickhouse-client/config.xml
    
  6. Получите SSL-сертификат:

    sudo mkdir -p /usr/local/share/ca-certificates/Yandex/ && \
    sudo wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" -O /usr/local/share/ca-certificates/Yandex/YandexCA.crt && \
    sudo chmod 655 /usr/local/share/ca-certificates/Yandex/YandexCA.crt
    

Подключите виртуальную машину к базе данных

  1. Настройте группы безопасности для облачной сети так, чтобы был разрешен весь необходимый трафик между кластером и ВМ.

  2. Подключитесь.

  3. Запустите ClickHouse CLI со следующими параметрами: вместо <FQDN хоста>, <имя БД>, <имя пользователя БД> и <пароль пользователя БД> укажите ранее сохраненные параметры.

    clickhouse-client --host <FQDN хоста> \
                      --secure \
                      --user <имя пользователя БД> \
                      --database <имя БД> \
                      --password <пароль пользователя БД> \
                      --port 9440
    

Создайте таблицу на основе GraphiteMergeTree

ClickHouse CLI

В интерфейсе ClickHouse CLI выполните запрос на создание таблицы на основе GraphiteMergeTree. В качестве параметра передайте имя секции rollup, описанной ранее:

CREATE TABLE GraphiteTable
(        
    metric String, 
    time DateTime, 
    value Int64, 
    version UInt64
)
ENGINE = GraphiteMergeTree('test_rollup')
PARTITION BY time
ORDER BY cityHash64(version, metric)

Настройте Graphite

Настройте Graphite для сохранения значений метрик в кластере ClickHouse. При этом прореживание данных будет проводиться автоматически средствами сервера ClickHouse в соответствии с параметрами, которые вы указали.

  1. В системе с Graphite установите утилиту carbon-clickhouse:

    wget https://github.com/go-graphite/carbon-clickhouse/releases/download/v0.11.2/carbon-clickhouse_0.11.2_amd64.deb && \
    sudo apt-get install $(pwd)/carbon-clickhouse_0.11.2_amd64.deb
    
  2. Настройте carbon-clickhouse.

  3. Запустите carbon-clickhouse:

    sudo systemctl enable carbon-clickhouse && \
    sudo systemctl start carbon-clickhouse
    
  4. Установите утилиту graphite-clickhouse:

    wget https://github.com/go-graphite/graphite-clickhouse/releases/download/v0.13.2/graphite-clickhouse_0.13.2_amd64.deb && \
    sudo apt-get install $(pwd)/graphite-clickhouse_0.13.2_amd64.deb
    
  5. Настройте graphite-clickhouse.

  6. Запустите graphite-clickhouse:

    sudo systemctl enable graphite-clickhouse && \
    sudo systemctl start graphite-clickhouse
    

    Подробнее о настройке Graphite см. в документации.

Как удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  • Удалите кластер ClickHouse.
  • Удалите ВМ.

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Подготовьте окружение
  • Необходимые платные ресурсы
  • Создайте кластер
  • Зарегистрируйте конфигурацию rollup в кластере
  • Создайте и настройте виртуальную машину
  • Подключите виртуальную машину к базе данных
  • Создайте таблицу на основе GraphiteMergeTree
  • Настройте Graphite
  • Как удалить созданные ресурсы