Развёртывание с помощью Docker Compose
В этой статье описано, как развернуть DOG Stack на одном хосте с помощью Docker Compose. При развёртывании запускаются OpenTelemetry Collector, Grafana с плагином Doris App и, при необходимости, Doris в конфигурации all-in-one. Этот вариант подходит для локального тестирования, разработки и PoC. Для производственных сред и сред Kubernetes см. Развёртывание в Kubernetes.
Чтобы развернуть компоненты без Docker, следуйте документации по развёртыванию Doris, документации по установке OpenTelemetry Collector и документации по установке Grafana.
Это руководство проверено на коммите AI Observe Stack 2c1fbee83170. Приведённая ниже команда checkout фиксирует эту ревизию, чтобы последующие изменения в ветке main не влияли на параметры. Встроенный образ Doris 4.0.3-all-slim предназначен для проверки взаимодействия компонентов стека.
Предварительные требования
- Docker Engine 20.10 или новее
- Docker Compose 2.0 или новее
Развёртывание
-
Клонируйте репозиторий:
git clone https://github.com/ai-observe/ai-observe-stack.git
cd ai-observe-stack
git checkout 2c1fbee831701178c7dddba857e88130ef292949
cd docker -
Запустите сервисы. Выберите один из следующих режимов.
-
Встроенный Doris: запускает Doris в конфигурации all-in-one вместе с OpenTelemetry Collector и Grafana.
docker compose up -d -
Существующий Doris: запускает только OpenTelemetry Collector и Grafana и записывает данные в ваш кластер Doris. Сначала создайте файл конфигурации:
cp .env.example .envИзмените параметры подключения к Doris в
.env:DORIS_FE_HTTP_ENDPOINT=http://<DORIS_FE_HOST>:8030
DORIS_FE_MYSQL_ENDPOINT=<DORIS_FE_HOST>:9030
DORIS_USERNAME=root
DORIS_PASSWORD=Затем запустите сервисы:
docker compose -f docker-compose-without-doris.yaml up -dУчётная запись должна иметь права на создание целевой базы данных и таблиц, загрузку данных и выполнение запросов к таблицам, используемым Grafana. OpenTelemetry Collector автоматически создаёт базу данных
otelи её таблицы.OpenTelemetry Collector записывает данные через Stream Load: FE перенаправляет каждый запрос на BE по адресу, под которым этот BE зарегистрирован в Doris (отображается командой
SHOW BACKENDS). Поэтому из контейнера OpenTelemetry Collector должны быть доступны не только FE, но и адреса BE и HTTP-порт BE (по умолчанию 8040).
-
-
Убедитесь, что сервисы запущены:
docker compose psВ режиме с существующим Doris добавьте
-f docker-compose-without-doris.yaml. В столбцеSTATUSкаждого сервиса должно отображатьсяUp. При использовании встроенного Doris OpenTelemetry Collector запускается только после того, как Doris успешно пройдёт проверку работоспособности. -
Откройте http://localhost:3000 и войдите в Grafana с учётными данными
admin/admin.
Адреса сервисов
| Сервис | Адрес | Учётные данные |
|---|---|---|
| Grafana | http://localhost:3000 | admin / admin |
| OTLP gRPC | localhost:4317 | - |
| OTLP HTTP | localhost:4318 | - |
| Проверка работоспособности OpenTelemetry Collector | http://localhost:13133 | - |
| Веб-интерфейс Doris FE (только для встроенного Doris) | http://localhost:8030 | root / пустой пароль |
| Протокол MySQL в Doris (только для встроенного Doris) | localhost:9030 | root / пустой пароль |
Приложения, инструментированные с помощью OpenTelemetry SDK, отправляют данные на localhost:4317 (gRPC) или localhost:4318 (HTTP).
Остановка и удаление данных
Остановите сервисы, сохранив данные:
docker compose down
Остановите сервисы и удалите все данные:
docker compose down -v
В режиме с существующим Doris добавьте -f docker-compose-without-doris.yaml к обеим командам. Данные в вашем кластере Doris не удаляются.