问题标签 [td-agent]

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 回答
292 浏览

sql-server - 使用 FluentD fluent-plugin-sql 插件时出错

我正在尝试使用 FluentD 通过fluent-plugin-sql. 我已经安装了 tiny_tds 和 activerecord-sqlserver-adapter gems,我的配置如下所示:

当我重新启动时td-agent,服务无法启动。此外,日志不指示任何错误。我不太确定我在这里错过了什么。在这方面的任何帮助将不胜感激。

0 投票
0 回答
157 浏览

java - log4j.xml 以不同的方式将相同的日志发送到文件和 td-agent

如何以两种方式处理相同的日志?在文件中保存为 json 的日志被 td-agent 停止,说模式(即 json)不匹配 这是我的 log4j.xml 日志配置,用于将日志保存(见下面的第一个粗体注释)到 /opt /tpa/logs/SPSServer.log 并在 8514 端口将它们转发到 fluentd(参见下面的第二个粗体注释)。```

所以 SPSServer.log 中的日志是: {"host":"sps-me1-diameterapp-0","level":"WARN","log":{"classname":"com.nokia.as.mux.reactor.Agent:76","message":"ReactorProvider Mux Agent started!","stacktrace":"","threadname":"Main-reactor"},"process":"init","service":"","time":"2021-01-08T01:21:33.470Z","timezone":"Asia/Kolkata","type":"log","system":"SPS_ME_AI_Punit","systemid":"CBAM-11ee306d636b4177b3d78c65cc15d06e"}

{"host":"sps-me1-comsvc-0","level":"INFO","log":{"classname":"com.nokia.csf.cdr.common.util.Env:17","message":"Env is not initialized.","stacktrace":"","threadname":"FelixDispatchQueue"},"process":"isDockerEnv","service":"","time":"2021-01-08T01:19:54.815Z","timezone":"Asia/Kolkata","type":"log","system":"SPS_ME_AI_Punit","systemid":"CBAM-11ee306d636b4177b3d78c65cc15d06e"}

{"host":"sps-me1-oame-0","level":"INFO","log":{"classname":"com.nokia.tpapps.spscommon.heartbeat.common.client.MemberStatusOAMClient:245","message":"HB-sps-me1-R8292-sps-me2-O> Unable to contact service for 'sps-me2'.","stacktrace":"[com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection refused (Connection refused), at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:117), at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:208), at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:130), at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:124), at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:1121), at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:1035), at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:1004), at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:862), at com.sun.xml.internal.ws.client.Stub.process(Stub.java:448), at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:178), at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93), at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77), at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147), at com.sun.proxy.$Proxy267.getHeartBeatStatus(Unknown Source), at com.nokia.tpapps.spscommon.heartbeat.common.client.MemberStatusOAMClient.getMemberStatusesInternal(MemberStatusOAMClient.java:160), at com.nokia.tpapps.spscommon.heartbeat.common.client.MemberStatusOAMClient.getMemberStatuses(MemberStatusOAMClient.java:130), at com.nokia.tpapps.spscommon.heartbeat.common.HeartBeatMonitorSystemIntegrator.poll(HeartBeatMonitorSystemIntegrator.java:226), at com.nokia.tpapps.spscommon.heartbeat.common.HeartBeatMonitorSystemIntegrator.pollOAM(HeartBeatMonitorSystemIntegrator.java:194), at com.nokia.tpapps.spscommon.heartbeat.common.HeartBeatMonitor.lambda$poll$0(HeartBeatMonitor.java:219), at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511), at java.util.concurrent.FutureTask.run(FutureTask.java:266), at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), at java.lang.Thread.run(Thread.java:748), Caused by: java.net.ConnectException: Connection refused (Connection refused), at java.net.PlainSocketImpl.socketConnect(Native Method), at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350), at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206), at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188), at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392), at java.net.Socket.connect(Socket.java:607), at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:660), at sun.net.NetworkClient.doConnect(NetworkClient.java:175), at sun.net.www.http.HttpClient.openServer(HttpClient.java:463), at sun.net.www.http.HttpClient.openServer(HttpClient.java:558), at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264), at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367), at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191), at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1205), at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056), at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177), at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1340), at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1315), at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:264), at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:104), ... 23 more]","threadname":"Heartbeat-4"},"process":"getMemberStatusesInternal","service":"","time":"2021-01-08T09:42:24.081Z","timezone":"Asia/Kolkata","type":"log","system":"SPS_ME_AI_Punit","systemid":"CBAM-11ee306d636b4177b3d78c65cc15d06e"}

现在,我在 8514 处处理这些日志的 td-agent 配置是

但是 td-agent 在解析 log4j.xml 保存在 SPSServer.log 中的相同日志时会出现以下错误(与上述日志相同。)

0 投票
0 回答
22 浏览

fluent - 没有批量/缓冲的http输出

在我们旧的 fluentd 中,我们使用了两个用于 http 输出的选项:

我已经安装了 td-agent 4.1 并且验证器显示这些不再使用/有效。我们需要在单独的调用中发送每条消息(接收应用程序需要它)。有什么办法吗?我试过了

但它是一样的,或者我做错了什么。在此先感谢您的帮助 最好的问候 Lukasz

0 投票
0 回答
290 浏览

fluentd - parse_audit_log 不适用于 td-agent

我已经在 CentOS7 上安装了 td-agent-4.1.0-1.el7.x86_64 版本的 td-agent。我无法加载宝石。

输入配置:

加载 parse_audit_log 时出错

你能告诉我加载插件的方法是什么吗?我遵循了https://docs.fluentd.org/deployment/plugin-management#for-td-agent但在使用 systemctl 重新启动服务时仍然存在一些问题。

0 投票
0 回答
52 浏览

elasticsearch - 如何为多个日志文件修改 td-agent 文件

我有服务器正在执行与网络中其他设备相关的一些处理,然后相应地将每个设备的日志保存在自己的文件中。它检查每个设备的运行状况及其数据,并且都保存在 json 日志文件中。日志文件如下所示:

设备总数为 28,因此创建的日志文件总数为 56。

我正在努力将所有这些日志数据放在集中式日志系统中,从而使用elasticsearchkibana. 我已经安装td-agent并且正在为上述所有日志编写它的td-agent.conf文件,如下所示:

在上面的文件中,我有两个来源,目前我只是上传 2 个文件的日志。然后我有一个过滤部分,我在其中放置一些元数据,然后是两个匹配部分,我在其中定义我将在 elasticsearch 和 kiabana 中使用的索引模式。

现在的问题是,如果我继续为其余的日志文件构建 conf 文件,它将变得非常冗长并且无法理解,因为我总共有 56 个日志文件。有什么方法可以让所有健康日志文件使用一个源,所有产品日志文件使用一个源。

同样,我可以定义,匹配所有健康日志,并匹配所有产品日志文件。但是在这里我不确定如何放入与每个文件相关的不同索引模式。我想使用像这样的索引模式

那么我怎样才能在一个匹配的所有文件中做到这一点。谁能给一些好的建议。请帮忙。谢谢

0 投票
0 回答
145 浏览

ruby - 流利的没有用毫秒解析时间字段

我在 2 台服务器 fluentd/td-agent/gems 等上有完全相同的配置。

在一种情况下,毫秒被很好地解析并发送到 elasticsearch。

在另一种情况下,我看到:

问题出在哪里,红宝石?流利?宝石?

0 投票
0 回答
10 浏览

td-agent - 在 td-agent 中重新路由到未标记的匹配指令

我想将标记匹配指令中的消息重新路由到非标记匹配指令。可能吗?

我编写了 td-agent.conf(图 1),但在rewrite-tag-filter插件中处理后,td-agent 不会将消息路由到第二个匹配指令(图 2,3)。

将第二个匹配指令放在标签中,并在 rewrite-tag-filter 插件(图 4)中附加标签,它可以工作。考虑到这种行为,我猜 td-agent 在@foo_server_local_error 标签中搜索匹配指令,因此该消息与未标记版本(图1)中的第二个匹配指令不匹配。

如果插件(或 td-agent 核心)提供了从标签路由到非标签匹配指令的方法,我的要求就满足了。

我也尝试了route plugin,但它的行为与 rewrite-tag-filter 插件相同。

我的 td-agent 和插件版本是:

图1:td-agent.conf

图2:流利的猫命令

图 3:td-agent.log 的输出

图 4:修改 td-agent.conf

0 投票
0 回答
26 浏览

fluentd - Fluentd Exec_Filter 输出中的记录数与缓冲区文件中的记录数不匹配

我在 AWS 上使用 td-agent v3 并注意到使用 exec_filter 插件时日志卡住了。如果我将存储在缓冲区文件中的日志数与第二个匹配块中打印到标准输出的日志数进行比较,我可以确认缺少日志。但是,如果我重新启动 td-agent 服务,则会出现丢失的日志。此外,如果我发送新日志,则会出现丢失的日志。

我已经确认 python 脚本没有过滤/排除任何记录。我还确认缓冲区部分工作正常。如果我用 stdout 替换 exec_filter,我可以看到所有日志记录在缓冲区刷新后打印。

可能的原因是什么?exec_filter 是否有最小日志大小要求?

下面是我的配置。

0 投票
1 回答
265 浏览

ruby - 如何修复未初始化的常量 Fluent::TailInput (NameError)?

我使用我的自定义 fluentd 插件,它不适用于 ubuntu20,但对于其他 ubuntu 版本没问题。

这是我的错误

我尝试将我的自定义插件用于 fluentd。我想写一个额外的 in_tail 插件功能。

这是我尝试的代码:

root@test0044:/etc/td-agent/plugin# cat in_tail_asis_alternative.rb # Fluent::AsisAlternativeInput # Fluent::AsisParser 模块 Fluent

0 投票
0 回答
49 浏览

performance - 如何解决错误“slow_flush_log_thres hold”?

请帮助我.. 我的环境有 Fluentd(tdagent) 服务器,它从 130 个服务器(类型:转发,in_tail,缓冲区类型:文件)获取日志。批处理的时机,许多日志切换发生在一个特定的服务器上,并导致其他服务器上的数百条消息如下。

a) slow_flush_log_threshold b) 提交超时 c) 节点没有响应 d) 刷新缓冲区失败

我发现收到的日志服务器在当时显示了这些功能,如下所示

  1. “netstat -s”的结果是…… 250774 次套接字的监听队列溢出 250774 SYN 到 LISTEN 套接字被丢弃
  2. ss -ant '(sport = 61501) 每十秒执行一次,它显示 LISTEN Recv-Q 保持 129 (= limit(128)+1)。

所以我的问题是

  1. 我想这是因为接收端 tdagent 比它获得的数据大小太慢,所以我怎样才能提高接收端的性能。(我已将 flush_tread_count 1 更改为 3,但不起作用)
  2. 或者有什么想法可以解决这个问题。
  3. 我可以忽略它,如果我能找到我们丢失日志的时间(我的意思是可以忽略它是否只是性能问题而不是数据丢失)。是否有任何特定的错误消息显示我们丢失日志的情况。