问题标签 [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.
openshift - OpenShift 日志记录:如何将堆栈跟踪的 Kibana 组行合并到一个记录中?
语境
我已在集群中安装了 Red Hat OpenShift Logging Operator,对此页面进行了说明。这基本上是一个 EFK 堆栈(ElasticSearch、Fluentd、Kibana)。通常使用 Fluentd,您可以配置许多插件和数百个参数,但正如您在此 OpenShift 页面上看到的,只有 9 个 Fluentd 参数可用(所有与块相关),因为日志记录堆栈被打包为 Red Hat Operator。添加自定义配置对我来说不是一个选项,因为它不受支持并且不会从 RedHat 接收更新。
问题
当应用程序在发生错误后生成堆栈跟踪时,Kibana 会为每条记录显示 1 行堆栈跟踪。我需要 1 条记录中的整个堆栈跟踪。这可以通过Fluentd 多行插件实现,但 Red Hat OpenShift Logging Operator(使用 Fluentd)不支持此参数。
除了安装新的/独立的日志记录堆栈之外,我还有哪些选项可以将堆栈跟踪行分组到一个 Kibana 记录中?
elasticsearch - 如何使用 fluent-bit 解析/过滤嵌套的 json 属性?
在一些流利的解析器和过滤器之后,我得到了以下 json:
我想应用另一组解析器和/或过滤器以得到以下 json:
我的意思是,提升message
一个级别并删除所有其他键,除了date
.
我尝试使用一些过滤器grep
,nest/lift
但没有成功。
怎么可能做到?
kubernetes - 在日志模式中提供多个容器名称以从中刮取数据
我在 K8s 集群中设置了 EFK 堆栈。目前 fluentd 正在从所有容器中抓取日志。
我希望它只从容器A
、B
和.C
D
如果我有一些前缀 asA-app
我可以做类似下面的事情。
python - 如何将 EFK 堆栈的 Kibana 仪表板中的“@timestamp”和“_id”从 python 脚本发送到 Fluentd Endpoint?
我已经编写了一个示例 python 脚本来在 EFK 堆栈的 Kibana Dashboard 发送消息。我正在从 python 脚本向 Fluentd Endpoint 发送消息。
脚本如下:
在 EFK 堆栈的 Kibana Dashboard,我得到了以下信息。
有什么方法可以将 python 脚本中的 '@timestamp' 和 '_id' 发送到 Fluentd Endpoit ?
如果我们使用 elasticsearch API 从 Python 脚本在 Elasticsearch Endpoint 发送,我们可以在 Python 脚本中设置“@timestamp”和“_id”。我正在尝试找出 Fluentd Endpoint 是否有任何方法。
我已经尝试过这样的事情,但它不起作用。
elasticsearch - 有没有办法做一个流畅的http请求回调?
我正在开发一个 EFK(ElasticSearch + Fluentd + Kibana)堆栈日志收集器。
是否有有效的方法来执行 HTTP 请求回调以将响应值(例如 JWT 令牌)传递到下一个管道并将另一个 HTTP 请求发送到受保护的端点以获取更多数据?
我听说 Logstash 有类似的方法来执行此行为。
只是想知道如何在 Fluentd 中做同样的工作。
这是我下面的伪代码,它不可运行。
kubernetes - 如何从流利的日志中删除不需要的字符
目前我正在使用 Fluentd 将我的 Kubernetes 日志发送到云手表,但是当我在 cloudwatch 中检查日志时,日志中有额外的 unicode 字符。我尝试了不同的方法和正则表达式来解决,但没有运气。这是我的日志在云手表中的示例
登录 Cloudwatch: "log": "\u001b[2m2021-10-13 20:07:10.351\u001b[0;39m \u001b[32m INFO\u001b[0;39m \u001b[35m1\u001b[0;39m \ u001b[2m---\u001b[0;39m \u001b[2m[trap-executor-0]\u001b[0;39m \u001b[36mc.ndsraws.ConfigClusterResolver \u001b[0;39m \u001b[2m:\u001b [0;39m 通过配置解析 eureka 端点\n"
实际日志:2021-10-13 20:07:10.351 INFO 1 --- [trap-executor-0] cndsraws.ConfigClusterResolver :通过配置解析 eureka 端点
elasticsearch - 我已经设置了启用 Xpack 安全性的 EFK 堆栈,它运行良好,直到其中一个 Elasticsearch pod 重新启动
当其中一个弹性搜索 pod 因任何原因重新启动时,在 kibana 日志中我收到错误,即弹性用户无法进行身份验证。我找不到任何相关文件。任何帮助,将不胜感激。
我的 kibana 日志:
{"type":"error","@timestamp":"2021-11-02T19:33:54Z","tags":["warning","stats-collection"],"pid":1,"level ":"error","error":{"message":"[security_exception] 无法验证用户 [elastic],{ header={ WWW-Authenticate="Basic realm=\"security\" charset=\"UTF -8\"" } }","name":"Error","stack":"[security_exception] 无法验证用户 [elastic],{ header={ WWW-Authenticate="Basic realm=\"security\ " charset=\"UTF-8\"" } } :: {"path":"/.kibana_task_manager/_search","query":{"ignore_unavailable":true},"body":"{\"sort\ ":[{\"task.runAt\":\"asc\"},{\"_id\":\"desc\"}],\"query\":{\"bool\":{\"must\":[{\"term\": {\"type\":\"task\"}},{\"bool\":{\"filter\":{\"term\":{\"_id\":\"Maps-maps_telemetry\" }}}}]}}}","statusCode":401,"response":"{\"error\":{\"root_cause\":[{\"type\":\"security_exception\",\ "reason\":\"验证用户失败[elastic]\",\"header\":{\"WWW-Authenticate\":\"Basic realm=\\\"security\\\" charset=\\ \"UTF-8\\\"\"}}],\"type\":\"security_exception\",\"reason\":\"无法验证用户[elastic]\",\"header\" :{\"WWW-验证\":\"Basic realm=\\\"security\\\" charset=\\\"UTF-8\\\"\"}},\"status\":401}","wwwAuthenticateDirective":"Basic realm= \"security\" charset=\"UTF-8\""}\n 在响应 (/usr/share/kibana/node_modules/elasticsearch/src/lib/transport.js:315:15)\n 在 checkRespForFailure (/ usr/share/kibana/node_modules/elasticsearch/src/lib/transport.js:274:7)\n 在 HttpConnector。(/usr/share/kibana/node_modules/elasticsearch/src/lib/connectors/http.js:166 :7)\n 在 IncomingMessage.wrapper (/usr/share/kibana/node_modules/elasticsearch/node_modules/lodash/lodash.js:4929:19)\n 在 IncomingMessage.emit (events.js:194:15)\n在 endReadableNT (_stream_readable.js:1103:12)\n 在 process._tickCallback (internal/process/next_tick.js:63:19)"},"message":"[security_exception] 无法验证用户 [elastic],{ header={ WWW-Authenticate="Basic realm=\"security\" charset=\"UTF-8\"" } }"}
现在我启用了 xpack.security.transport.ssl.enabled: true 然后我在 es 主节点中收到此错误
{“类型”:“服务器”,“时间戳”:“2021-11-03T19:17:30,962+0000”,“级别”:“警告”,“组件”:“oetTcpTransport”,“cluster.name”:“ elasticsearch”,“node.name”:“elasticsearch-master”,“cluster.uuid”:“hO1sgzRlTKWHl-jJVItUmA”,“node.id”:“PnVpoMi0TACfs_vJNQ1afQ”,“message”:“传输层捕获的异常 [Netty4TcpChannel{ localAddress=0.0.0.0/0.0.0.0:9300, remoteAddress=/SOMEIPADDRESS}], 关闭连接",
elasticsearch - 如何将 fluentd 连接到 opendistro 以进行弹性搜索
我创建了一个 docker 文件:
我在撰写文件中创建了一个容器:
这是我的fluent.conf
由于某种原因,elasticsearch 和 kibana 启动时没有问题,但 fluentd 无法连接。这是我得到的错误
我不确定用于 fluentd 连接到 elasticsearch 的插件是否也有资格连接到 OpenDistro 以进行 elasticsearch。如果需要任何其他信息,请询问。任何帮助将非常感激。
fluentd - Fluent Bit 1.8+ 和 MULTILINE_PARSER
logging - 如何在 Fluent-bit 上添加一个额外的字段来告诉我 Fluent-bit 的版本?
我已经在我的 Kubernetes 集群上部署了 fluent-bit,我想在我的日志中添加一个额外的“agent.version”字段,告诉我 fluent-bit 的当前版本。
有没有办法做到这一点?我正在尝试record_modifier
过滤器,但不确定如何配置它。