我正在通过部署规范将splunk通用转发器设置为sidecar与我的应用程序。splunk通用转发器是作为一个不同的码头映像设置的,在这里,我通过码头副本复制自定义的inputs.conf和outputs.conf (如下所示)。
实际上,当我部署应用程序时,sidecar正在启动。在当前状态下,索引器配置处于output.conf中,并且正在生效。
*问题出现在这里:我想根据环境动态地更改索引器、服务器主机和端口。*
这是我的splunk通用转发器的文档内容。
FROM splunk/universalforwarder:latest
COPY configs/*.conf /opt/splunkforwarder/etc/system/local/构建了名为splunk-universal-forwarder:demo的停靠文件,该文件夹具有inputs.conf和outputs.conf两种文件。
outputs.conf的含量是
[tcpout]
defaultGroup = default-lb-group
[tcpout:default-lb-group]
server = ${SPLUNK_BASE_HOST}
[tcpout-server://host1:9997]我想将SPLUNK_BASE_HOST环境变量传递给sidecar部署,如下所示。
- name: universalforwarder
image: splunk-universal-forwarder:demo
imagePullPolicy: Always
env:
- name: SPLUNK_START_ARGS
value: "--accept-license --answer-yes"
- name: SPLUNK_BASE_HOST
value: 123.456.789.000:9997
- name: SPLUNK_USER
valueFrom:
secretKeyRef:
name: credentials
key: splunk.username
- name: SPLUNK_PASSWORD
valueFrom:
secretKeyRef:
name: credentials
key: splunk.password
volumeMounts:
- name: container-logs
mountPath: /var/log/splunk-fwd-myapp我每个环境都有一个单独的SPLUNK_BASE_HOST (dev、deployment.yaml、uat、qa、prod),我应该能够根据这些环境传递不同的索引器主机和端口deployment.yaml。如果我在outputs.conf中硬编码索引器主机和端口,那么在所有环境中都会得到相同的值,但我不希望这种情况发生。
outputs.conf中的环境变量${outputs.conf}不引用部署yaml文件中提供的值。
发布于 2019-05-01 03:28:31
您需要创建一个init脚本,该脚本应该从环境变量中获取主机名,并使用sed命令在output.conf中更新该脚本。最后发射滑轮前进器
https://stackoverflow.com/questions/55930867
复制相似问题