问题标签 [efk]

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 投票
0 回答
99 浏览

elasticsearch - 流利的。为什么不将自定义日志传送到 Elasticsearch (EFK)?

为了测试,我在我的home目录中创建了一个文件:

td-agent用来将日志传送到 Elasticsearch (EFK)。

这是我的测试配置td-agent.conf

然后我启动了代理。代理日志中没有错误。写的是代理监控指定的文件。

之后,我开始填写日志:

日志中没有出现新条目td-agent。在Kibana中,没有出现索引“test-*”。

我究竟做错了什么?

0 投票
1 回答
1570 浏览

elasticsearch - Fluent Bit Filter 将 Unix Epoch 时间戳转换为人类可读的时间格式

我有一个 Java 应用程序,我在其中使用 Log4j2 在 JSONLayout 中打印日志,这是日志格式的示例:

然后,以这种格式打印的日志由 Fluent Bit 提取并推送到 Elasticsearch。我正在使用 Kibana 来可视化日志,但是当我看到日志和时间为epochSecondnonOfSecond时,由于格式的原因,很难将其与实际的应用程序日志联系起来。

是否有任何Fluent Bit Filter可用于将此时间格式修改为更易于阅读的格式。

目前我在 Fluent Bit 配置中使用基本的 JSON 解析器和 Kubernetes 过滤器来将 Kubernetes 信息添加到日志消息中。

更新:

我对 Log4j2 配置进行了更改,现在我得到了 timeMillis 字段,它在日志中以毫秒为单位打印时间。

将其转换为人类可读格式的 lua 过滤器将是什么。默认情况下,Fluent Bit 中的时间转换不支持以毫秒为单位的时间,它需要以秒为单位的时间。

我试过这个:

但这并没有选择毫秒部分,而是以秒为单位处理时间。

0 投票
1 回答
1311 浏览

openshift - 在 Fluentd 中将多行日志解析为单个事件

我们在 Openshift Container Platform 4.3 版上实现了 EFK。

问题:Java Stack 跟踪、SQL 查询等多行日志在 Fluentd 中没有被解析为单个事件,因此我们在 Kibana 中获得了多个条目。我们需要将多行日志解析为单个事件,以便在 Kibana 中获取单个条目以用于异常或 SQL 查询。

0 投票
1 回答
857 浏览

amazon-web-services - 我如何过滤 kubernetes 上的 fluentD 日志?

我的 kubernetes 启用了 liveness,它登录应用程序,如下所示:

我使用 fluentD 将日志发送到 ClowdWatch。我的 fluentD 配置:

https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/quickstart/cwagent-fluentd-快速启动.yaml

我如何过滤,以 fluentD 只匹配

::192.168.0.1 - - [17/Sep/2020:14:13:19 +0000] "GET /home-page HTTP/1.1" 200 3104

并忽略

::ffff:127.0.0.1 - - [17/Sep/2020:14:13:19 +0000] “GET /docs HTTP/1.1”301 175

谢谢!

0 投票
1 回答
32 浏览

elasticsearch - Elasticsearch - 如何将每个新文档的值汇总到一个单独的索引中?

例子:

我的文件:

我想'data_sent'为每个新文档获取价值并将其总结为另一个索引,让我们说

奖励:我想在指定的时间段内自动创建新索引(例如/week

我知道可以在这里使用聚合,但据我所知,它们是在发送请求时执行的,对于大数据,它可能会持续一段时间。我需要在需要时非常快速地接收这些数据。

Elastic 中有什么对我的情况有帮助的吗?

0 投票
1 回答
347 浏览

kubernetes - kubernetes container_name 在 fluentdconfiguration 中为空

我尝试从我的应用程序容器中获取日志,并将 fluentd 日志代理作为边车容器附加到我的项目中。我想在我的 Kibana 仪表板中获取哪个日志来自哪个应用程序。这就是为什么我在 fluentd 中这样配置的原因。

但是当我部署它时,${[record[""]["container_name"]}显示为 null unknown placeholder ${record["kubernetes"]["container_name"]}。请帮助我如何解决它,谢谢。

收到该错误消息

0 转储一个错误事件:error_class=RuntimeError error="无法展开record[\"kubernetes\"][\"container_name\"]:错误 = undefined method []' for nil:NilClass" location="/fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.2/lib/fluent/plugin/filter_record_transformer.rb:310:in rescue in expand'" tag="kubernetes.myapp.container" time=2020-09-23 11:29:05.705209241 +0000 记录= {"message"=>"{"log":"I0923 11:28:59.157177 1 main.go:71] 健康检查成功\n","stream":"stderr","time":"2020-09- 23T11:28:59.157256887Z"}"}

`

0 投票
1 回答
30 浏览

elasticsearch - EFK Kubernetes 堆栈中不存在主机日志日志

我正在使用kube-fluentd-operatorfluentd使用into聚合日志Elasticsearch并在Kibana.

我可以在集群内看到我的应用程序(pod)日志。但是,我无法从集群内的主机中看到日志日志(systemd 单元、kubelet 等)。

fluentd 的 pod 日志中没有明显的消息,堆栈适用于来自应用程序的日志。在fluentd容器内,我可以访问/var/log/journal目录 ( drwxr-sr-x 3 root 101 4096 May 21 12:37 journal)。我应该在哪里查看我的 EFK 堆栈中的日志日志?

这是kube-system.conf附加到kube-system命名空间的文件:

根据文档,最小,简单。

我的搜索词有没有可能是错误的?为了获取日志日志,我应该搜索什么?

0 投票
1 回答
1326 浏览

elasticsearch - Fluentd - 无法与 Elasticsearch 通信,重置连接并重试。getaddrinfo:名称或服务未知(SocketError)

EFK设置中,fluentd突然停止发送到elasticsearch日志中出现以下错误:

组件已elasticsearch启动并正在运行,我可以从pod内部curl访问。的日志中没有错误消息。elasticsearchfluentdelasticsearch

重新启动fluentdpod 或elasticsearch组件没有帮助。

0 投票
1 回答
851 浏览

kubernetes - 如何使用反向代理入口在 Azure Kubernetes 集群上设置 Kibana(EFK 堆栈)?

首先要感谢您在上面发表的精彩文章。

我有一个需要帮助的场景,所以我在 AKS 集群上安装了 Elastic search、Filebeat 和 Kibana。现在,由于我使用 Nginx Ingress 控制器在反向代理负载均衡器上公开应用程序,该负载均衡器与主机名挂钩,例如http://example.com

我无法将 kibana 暴露在外面。我收到 404 错误。我尝试在 kibana 部署等中添加 serverbasepath 变量,但仍然出现 404 错误。

  • 名称:SERVER_BASEPATH 值:“/kibana”

以下是我的设置: 1.Ingress.yaml

2.Kibana - values.yaml

0 投票
1 回答
258 浏览

elasticsearch - 如何优化内存和堆使用单节点弹性搜索

我有一个单节点弹性搜索集群。它通过 Rancher(在 k8s 上运行 fluentd pod 来收集日志)从 Kubernetes 集群接收日志。我在 centos 7 上将 elasticsearch 作为服务运行,并提供了 12 GB 的 JVM 堆空间,VM 有 23 GB 的 RAM。但是弹性搜索仍然使用 VM 的所有 RAM,并在启动后因堆空间错误或 OutOFMemory 错误而不断关闭。

如果它几乎完全填满,我们可以设置一些配置来清除内存/堆以防止崩溃吗?

  1. 为什么即使只分配了 12 GB 的堆空间,elasticsearch 也会使用 VM 的所有 RAM?
  2. 为什么停止服务需要 15-20 分钟?
  3. 我怎样才能减少它的内存消耗?
  4. 如何减少弹性搜索传入数据的负载?

ps提前谢谢。