Настройка мониторинга базы данных Сlickhouse через clickhouse_exporter

Предполагается что  Prometheus уже установлен и настроен.

  1.  На сервер с ClickHouse скачать clickhouse_exporter
  2. Переместить clickhouse_exporter в /usr/bin/
  3. Установить владельца/группу для clickhouse_exporter'а:

    sudo chown root:root /usr/bin/clickhouse_exporter


  4. Проверить, что clickhouse_exporter исполняемый файл, и если это не так, то сделать его исполняем:

    sudo chmod +x /usr/bin/clickhouse_exporter


  5. Создать сценарий запуска systemd сервиса clickhouse_exporter'а. Создать файл /etc/systemd/system/clickhouse_exporter.service:

    [Unit]
    Description=Prometheus Clickhouse Exporter
    After=network.target
    
    [Service]
    Type=simple
    Restart=always
    User=prometheus
    Group=prometheus
    Environment=CLICKHOUSE_USER=javauser
    Environment=CLICKHOUSE_PASSWORD=javapassword
    ExecStart=/usr/local/bin/clickhouse_exporter
    [Install]
    WantedBy=multi-user.target


  6. При необходимости можно создать отдельного пользователя в ClickHouse для мониторинга. Создать /etc/clickhouse-server/users.d/monitoring.xml:

    <yandex>
        <users>
            <monitoring>
                <password>monitoring</password>
                <networks incl="networks" replace="replace">
                        <ip>::1</ip>
                    <ip>127.0.0.1</ip>
                    </networks>
                <profile>readonly</profile>
                <quota>default</quota>
                <allow_databases>
                    <database>test</database>
                </allow_databases>
            </monitoring>
        </users>
    </yandex>

    И указать его в enviroment в clickhouse_exporter.service(п.6).

  7. Запустить clickhouse_exporter:

    systemctl start clickhouse_exporter


  8. Добавить новый источник в конфигурацию prometheus.yml:

    scrape_configs:
     - job_name: clickhouse
        static_configs:
          - targets: ['<IP-адрес и порт сервера clickhouse_exporter>']
            labels:
              alias: clickhouse


  9. Перезапустить Prometheus:

    systemctl restart prometheus


  10.  Добавить дашбоард в Grafana. Например, базовый дашбоард Clickhouse (id 882).