火花容器内的流利位

问题描述 投票:1回答:1

我正在尝试在fluent-bit容器中运行spark,以便spark driver container可以读取或使用正在将日志写入/var/log/sparkDriver.log属性控制的文件spark log4j中的fluent-bit。我知道在一个容器中运行多个进程是AntiParttern,但是现在我别无选择。我需要什么配置,才能读取此文件(/var/log/sparkDriver.log)并将日志转发到我们的内部splunk hec服务器。

[我知道fluent-bit可以在广告连播中用作sidecar,但我正在使用简单的spark-submit将我的Spark作业提交给K8S,并且spark-submit没有任何办法告诉k8s我也想运行Sidecar(流利位)。

[我也知道fluent-bit可以作为deamonSet安装在群集中,它基本上将在k8s群集中的每个节点上运行,并通过节点将容器中的日志转发到Splunk。但是此选项也对我不起作用。

所以我想是否可以烘烤fluent-bitsplunkforwarder甚至fluentd并从文件或stdout中读取日志。我知道其他2个选项将使我的spark docker映像膨胀,但我现在没有任何选项。

任何帮助或建议将不胜感激

我实际上尝试过tailsplunk,但不知为何我无法为fluent-bit找出正确的配置>

这里是我的日志文件,它是使用sparklog4j日志:

我实际上尝试过,但是以某种方式无法围绕它进行正确的配置。这是我的日志文件的外观:

20/03/02 19:35:47 INFO TaskSetManager: Starting task 12526.0 in stage 0.0 (TID 12526, 172.16.7.233, executor 1, partition 12526, PROCESS_LOCAL, 7885 bytes)
20/03/02 19:35:47 DEBUG KubernetesClusterSchedulerBackend$KubernetesDriverEndpoint: Launching task 12526 on executor id: 1 hostname: 172.16.7.233.
20/03/02 19:35:47 INFO TaskSetManager: Finished task 12524.0 in stage 0.0 (TID 12524) in 1 ms on 172.16.7.233 (executor 1) (12525/1000000)
20/03/02 19:35:47 TRACE MessageDecoder: Received message OneWayMessage: OneWayMessage{body=NettyManagedBuffer{buf=CompositeByteBuf(ridx: 5, widx: 1622, cap: 1622, components=2)}}
20/03/02 19:35:47 TRACE MessageDecoder: Received message OneWayMessage: OneWayMessage{body=NettyManagedBuffer{buf=PooledUnsafeDirectByteBuf(ridx: 13, widx: 1630, cap: 32768)}}
20/03/02 19:35:47 TRACE MessageDecoder: Received message OneWayMessage: OneWayMessage{body=NettyManagedBuffer{buf=PooledUnsafeDirectByteBuf(ridx: 13, widx: 2414, cap: 4096)}}

这是我的fluent-bit配置:

[INPUT]
    Name  tail
    Path  /var/log/sparklog.log

# nest the record under the 'event' key
[FILTER]
    Name nest
    Match *
    Operation nest
    Wildcard *
    Nest_under event

# add event metadata
[FILTER]
    Name      modify
    Match     *
    Add index myindex
    Add host  ${HOSTNAME}
    Add app_name ${APP_NAME}
    Add namespace ${NAMESPACE}

[OUTPUT]
    Name        Splunk
    Match       *
    Host        splunk.example.com
    Port        30000
    Splunk_Token XXXX-XXXX-XXXX-XXXX
    Splunk_Send_Raw On
    TLS         On
    TLS.Verify  Off

我正在尝试在spark容器中运行流利的位,以便可以读取或...将由log log4j属性控制的/var/log/sparkDriver.log文件中写入日志的spark驱动程序容器。 >

Tail https://docs.fluentbit.io/manual/input/tail和splunk插件https://docs.fluentbit.io/manual/output/splunk应该可以为您解决问题。

配置这两个程序时是否遇到任何特定问题?

apache-spark kubernetes splunk fluentd fluent-bit
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.