Я пытаюсь настроить локальную среду разработки с помощью Docker Compose, который загружает сервер Splunk Enterprise и использует драйвер ведения журнала спанков на сервере приложений.
Версии:
- Docker Engine: 18.06.1-ce
- Compose: 1.22.0
- Compose File: 3.7
- Splunk Enterprise: 7.2.0
Мой docker-compose.yml
файл выглядит следующим образом:
version: "3.7"
services:
app:
build: ./app
command: bash -c "npm run start:docker"
depends_on:
- splunk
environment:
- NODE_ENV=development
- SERVER_PORT=8080
logging:
driver: splunk
options:
splunk-format: "json"
splunk-insecureskipverify: "true"
splunk-source: "app"
splunk-token: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
splunk-url: "http://splunk:8088"
tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
ports:
- "80:8080"
volumes:
- "./app:/usr/src/app"
splunk:
environment:
- SPLUNK_ENABLE_LISTEN=9997
- SPLUNK_START_ARGS=--accept-license --no-prompt --answer-yes
- SPLUNK_USERNAME=admin
- SPLUNK_PASSWORD=password
hostname: splunk
image: splunk/splunk:7.2.0
ports:
- "8000:8000"
- "8088:8088"
- "9997:9997"
restart: always
Для того, чтобы это работало как задумано, мне нужно сгенерировать токен HTTP Event Collector и сделать его доступным для приложениякаким-то образом.
Я видел, что вы можете использовать переменную окружения SPLUNK_CMD
для запуска команд, предположительно после запуска службы Splunk, но когда я попытался использовать это для , сгенерировать токенс CLI ничего не произошло.Я не обнаружил никаких ошибок в журналах и токена в разделе «Настройки»> «Входные данные».
Другая проблема заключается в том, что Splunk требуется некоторое время для запуска, и до начала прослушивания служба приложения не может быть скомпилирована, поскольку драйвер ведения журналане могу подключиться.
Можно ли сделать то, что я пытаюсь сделать?Если да, то как?