【发布时间】:2023-08-04 05:27:01
【问题描述】:
我正在尝试使用 Docker Compose 设置本地开发环境,该环境引导 Splunk Enterprise 服务器并在应用服务器上使用 splunk logging driver。
版本:
- Docker 引擎:18.06.1-ce
- 编写:1.22.0
- 编写文件:3.7
- Splunk 企业版: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 事件收集器令牌并以某种方式使其可用于应用服务。
我看到您可以使用环境变量SPLUNK_CMD 来运行命令,大概是在Splunk 服务启动并运行之后,但是当我尝试将它用于generate a token with the CLI 时,什么也没发生。我在日志中没有看到任何失败,并且在“设置”>“数据输入”下没有标记。
另一个问题是 Splunk 需要一些时间来启动,并且在它开始侦听之前,应用服务无法构建,因为日志驱动程序无法连接。
有可能做我想做的事吗?如果有,怎么做?
【问题讨论】:
标签: docker docker-compose splunk