问题标签 [facebook-scribe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
688 浏览

facebook - facebook的抄写员队列问题

我们像这样使用抄写员:

  • Web 服务器(SA) ---> 本地 Scribe 服务器(SB)

    • Web 服务器(SA)和本地 Scribe 服务器(SB)在一台机器上;
    • Web 服务器只是将每个日志发送到 scribe 最多 3 次,重试 2 次后我们就丢弃它们。
    • Local Scribe Server 使用缓冲存储,primary 使用网络存储将日志发送到下一个 Collector Scribe BJ,然后将 log 写入本地磁盘,我们设置 max_queue_size=1000000000 和 max_queue_length=20000000。
  • ---->Collector Scribe BJ(SC)----ssh 隧道(gzip 压缩)---vpn--->Collector Scribe SH(SD)

    • 一个 LAN 上的 Collector Scribe BJ(SC) 和 Local Scribe Server(SB)。
    • Collector Scribe BJ(SC) 使用多存储,store0 使用缓冲存储,store0 primary 使用网络存储将日志发送到下一个 Collector Scribe SH,store0 将日志写入本地磁盘,我们设置 max_queue_size =10000000 和 max_queue_length=2000000。
    • Collector Scribe BJ(SC)使用store0——缓冲存储——主存储网络将日志发送到本地端口,并通过ssh隧道将消息从IDC BJ发送到IDC SH。
    • 最后,收集器 scribe SH(SD) 使用 std 文件存储将日志写入其磁盘。

这是我的问题。

  • 问题 1:我在 scribe 源代码中找不到 max_queue_length 选项用法。而且我还发现了一些在 googlegroup 中提到的 max_queue_length 已被弃用的信息。所以在这里使用“max_queue_length=20000000”没有什么效果吗?

  • 问题2:只有选项max_queue_length“如果队列中的消息数量超过这个值,缓冲存储将切换到写入辅助存储(在githup wiki中描述)”可以控制缓冲存储scribe何时可以切换主存储存储到二级存储。当 max_queue_length 无用时,如何控制缓冲存储将主存储切换到辅助存储?

  • 问题3:当Local Scribe Server(SB)二级存储的写入速度大于Web server(SA)的输入速度时,无论如何Local Scribe Server(SB)不会丢失数据?

  • 问题 4:我还在 inder.pall 提到的 googlegroup 中找到了一张图表。Here is the link: http://scribe-server.googlegroups.com/attach/979f9ffbe00f5eb3/Screen+Shot+2011-11-22+at+9.12.32+AM.png?gda=FIJ3I0cAAACFwDSo_bUG96Wo0CVG6AlpKMzYsToU_WRZEGbv_RKdbkT0wWvVm1xmkWqWMWNxOm4bQwFxJw55cVwemAxM-EWmeV4duv6pDMGhhhZdjQlNAw&view=1&part=4 我认为只有当抄写员不可用(不存在且超时)或其队列大小大于 max_queue_size 时,它​​才会将 TRY_LATER 返回给其上游抄写员。这时候它的upriver scribe 会把消息备份到secondary 吗?

  • 问题 5:如问题 4 所述,当 vpn(BJ--SH) 非常繁忙且延迟非常大,但隧道可用且收集器抄写员 SH(SD) 不返回 TRY_LATER 并且显然收集器抄写员 BJ( SC) 的输入速度大于其进入隧道的输出速度,所以 Collector Scribe BJ(SC) 的 mem 会不断增加而不使用二级存储?

0 投票
0 回答
620 浏览

database - 收集和处理 Facebook scribe 服务器记录的数据

我已经安装并设置了 Facebook Scribe 服务器 (https://github.com/facebook/scribe)。现在我要收集记录的数据并将其处理到一些存储中。Scribe 将数据记录到文件并旋转它们,即

我的问题是如何从 scribe 文件中读取数据并将其转储到数据库中?我可以想到几种可能的方法: 1. 将 category_* 文件(除了 category_current 之外)复制到另一个文件夹说

然后,逐行读取所有文件并将其插入数据库 2。有一个持续运行的脚本,该脚本在 category_current 的 tail -f 中接受输入和管道我没有尝试过这种方法,但我想知道当 category_current 更改并指向时会发生什么新文件。tail -f 是否仍能接收新行?

基本上,我不确定收集数据并记住我从 scribe 日志文件收集的最后数据的最佳方法是什么。

0 投票
1 回答
635 浏览

node.js - 如何使用 winston 日志为 nodejs 应用程序添加 scribe 客户端

我一直在使用 winston 登录我的节点应用程序。现在我需要设置 scribe 来聚合应用程序日志。我注意到节点应用程序的 node-scribe 客户端与 scribe 客户端交互。但我的疑问是如何制作现有日志与抄写员客户端进行交互,而无需更改我从温斯顿的日志记录。

提前致谢

0 投票
0 回答
402 浏览

facebook - 抄写员在稳定的节俭上犯错误

我首先提出了一个配置命令:

我懂了:

现在,当我运行 make 命令时,输出显示:

我安装了所有依赖包,如 libevent-dev、boost 并且它们位于默认路径中。即使在明确指定了各个路径之后,它也不起作用。我在某处读到这可能发生在旧版本的 thrift 上,但我使用的是最新的稳定版本。

有人可以帮忙吗?

0 投票
1 回答
359 浏览

symbols - 抄写员符号的含义

我开始使用 Scribe,我正在阅读手册用户,但我找不到任何关于 Scribe 在目标端的链接列上使用的符号。

例如,我知道支票和“X”是什么意思,但也有菱形和其他我不明白的符号。

任何我可以阅读所有这些的手册或页面都会非常有帮助。

谢谢。