3

我试图让我的 dc/os 1.8 docker 容器使用 logstash 服务的服务地址将日志消息发送到也在 dc/os 中运行的 logstash。

这似乎不起作用,因为 docker 抛出错误:logstash.marathon.l4lb.thisdcos.directory: no such host

服务地址是否没有暴露给主机系统(或者我需要为此配置一些东西)?

在 dc/os 1.7 上,我在我的 logstash 配置中使用了一个固定的主机端口并logstash.marathon.mesos作为主机,但这些 .marathon.mesos 主机名似乎不再存在于 1.8 中。

当我尝试从容器中使用它们时,服务地址工作正常(例如,将我的 prometheus 服务链接到我的 alertmanager 服务)。但从主机级别来看,它们不存在。

编辑:

我关于丢失 marathon.mesos 网址的陈述是错误的。他们确实有效,但我用错了。现在这解决了我的问题。我使用此主机和固定容器端口配置了日志记录。

对于尝试相同事情的每个人:每次通过 json 模式更改 ui 中的服务配置时,您都必须配置固定主机端口。固定的主机端口配置在 ui 的网络选项卡中不再可用,因此 dc/os ui 将在每次加载时删除主机端口配置。

仍然不知道为什么 l4lb 网址不起作用。

编辑2

仍然不知道,但我发现minuteman每隔一秒就会生成一次崩溃和错误日志:

/opt/mesosphere/active/minuteman/minuteman/error.log:

CRASH REPORT Process <0.25809.2> with 0 neighbours exited with reason: {timeout,{gen_server,call,[{lashup_kv,'navstar@10.2.140.216'},{start_kv_sync_fsm,'minuteman@10.2.103.143',<0.25809.2>}]}} in gen_server:call/2 line 204

/opt/mesosphere/active/minuteman/minuteman/log/crash.log

2016-10-12 13:16:49 =CRASH REPORT====
  crasher:
    initial call: lashup_kv_sync_tx_fsm:init/1
    pid: <0.29002.2>
    registered_name: []
    exception exit: {{timeout,{gen_server,call,[{lashup_kv,'navstar@10.2.140.216'},{start_kv_sync_fsm,'minuteman@10.2.103.143',<0.29002.2>}]}},[{gen_server,call,2,[{file,"gen_server.erl"},{line,204}]},{lashup_kv_sync_tx_fsm,init,1,[{file,"/pkg/src/minuteman/_build/default/lib/lashup/src/lashup_kv_sync_tx_fsm.erl"},{line,23}]},{gen_statem,init_it,6,[{file,"gen_statem.erl"},{line,554}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
    ancestors: [lashup_kv_aae_sup,lashup_kv_sup,lashup_platform_sup,lashup_sup,<0.916.0>]
    messages: []
    links: [<0.992.0>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 610
    stack_size: 27
    reductions: 127
  neighbours:

dc/os ui 声称 spartan 和 minuteman 是健康的,但是当 dns 调度程序的 crash.log 为空时,l4lb 每隔一秒就会出现新的崩溃。

4

2 回答 2

2

它们当然应该可以从主机操作系统中获得。这些主机服务是否运行“Spartan”和“Minuteman”服务?

于 2016-10-06T15:42:00.720 回答
0

我的问题是双重的:

  1. l4b 没有正确运行,只有在完全重新安装集群后才修复

  2. l4b 仅支持 TCP 流量。因为我想用它来使用udp(docker-gelf只支持UDP)将容器日志发送到logstash,所以失败了

于 2017-06-30T12:01:23.880 回答