问题标签 [gelf]

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

docker - 如何定义docker-compose服务登录graylog

我有docker-compose.yaml如下问题:
我的问题是标准输出打印或写入它的日志出现在graylog-但只是命令/usr/bin/tini -- foo1.start 下的那些。当我尝试使用以下方法进入服务的 docker 容器时:
docker exec -it [container_hash] bash
启动命令,例如 echo "Hello" 或运行我将执行的 python 脚本import sys; sys.stdout.write("Hello again")--> 在 graylog UI 中收到的消息中不会出现这些消息。

知道为什么没有通过在容器中执行 shell 命令或脚本来收集标准输出吗?并仅从 make file 命令运行的结果中收集打印件?

我不理解这种行为,因为我将所有标准输出通过管道传输到 docker-compose 中的 gelf 日志驱动程序。
编辑如何在撰写中使用 graylog 的说明来自这里

0 投票
1 回答
675 浏览

logging - Thorntail (wldfly swarm) 记录到 Greylog

如何启用 wildfly swarm 日志记录到 graylog - 或者换句话说:以 gelf 格式登录?有人已经这样做了吗?

在 graylog 市场上似乎只有框架与 log4j ( gelfj ) 或 logback 一起工作,但不与 jboss 日志系统一起工作。从关于 SO 的其他问题来看,我认为不可能将 thorntail 配置为使用 log4j 登录(无论如何这都会感觉有些不对劲:通过 jboss 登录到 log4j 以将其汇集到 gelf 中。)

基本要求是我想 docker 我的 swarm 应用程序并使用 graylog 作为集中式日志记录。我知道我可以将 docker 配置为登录到 gelf,但这意味着我无法控制我的应用程序中的扩展 gelf 功能,对吧?

从 thorntail/swarm 实现集中日志记录的首选方法是什么?

0 投票
1 回答
1800 浏览

docker - 如何基于每个 pod 从 Kubernetes 向 GELF UDP 端点发送日志

我最近开始使用 kubernetes,现在正在研究如何配置集中式日志记录。对于大多数 pod,应用程序本身直接记录到 GELF 端点(logstash),但是有许多“管理”pod,我也需要从中获取日志。

以前当我使用 Docker Swarm 时,我只需将日志驱动程序(和相关配置)添加到compose 文件中。但是 Kubernetes 中似乎没有这个选项。

我查看了使用 Fluentd 直接从 /var/log/containers 读取日志,但在这里遇到了几个问题:

  1. 似乎没有任何简单的方法可以指定将哪些 pod 记录到 logstash。我知道您可以创建过滤器等,但这似乎不太容易维护,在单个 pod 上使用注释似乎更明智。

  2. /var/log/containers 中的日志是 json 文件日志格式,而不是 GELF。

kubernetes 中是否有任何方法可以基于每个 pod 使用内置的 Docker 日志驱动程序来轻松登录到 GELF 端点?

0 投票
0 回答
356 浏览

logstash - Graylog:糟糕的 GELF UDP 性能

我有一个可以处理超过 25.000 msg/sec 的 Graylog 安装。

我现在正在尝试设置一个专用的 Logstash 集群。所以是这样的: Filebeat (n hosts) -> Logstash Cluster -> Graylog

现在最大的问题是我不能从一台主机发送超过 ~2.500 msg/sec到 Graylog。无论主机有多大(4、8、16,... CPU),无论消息多么小,总是有这个 2.500 msg/sec 的限制。

我什至创建了只有 1 字节有效负载的消息,这里的限制是 ~2.800 msg/sec。

例如,我可以从 4 个不同的主机发送消息。结果为 10.000 msg/sec (4 x 2.500)。Graylog 可以轻松处理这个问题。

所以我的问题是:为什么一台主机通过 GELF UDP 发送的消息不超过 ~2.500 msg/sec?

0 投票
1 回答
606 浏览

logstash - 来自 Monlog 的 Logstash 和嵌套 JSON;为什么将数组转换为 JSON 字符串?

我正在将 PHP 与 Monolog 一起使用。我将日志输出到 JSON 文件并使用 Gelf 到 Logstash,然后将日志发送到 ElasticSearch。

我遇到的问题是我缺少extraKibana 中的对象,并且该tags字段被解释为字符串而不是嵌套对象。

知道如何说服 Logstash/Kibana,因此内部 JSON 字段被解析为字段/对象而不是 JSON 字符串?

这就是它在 Kibana 中的样子。

我的日志看起来像:

我的logstash conf:

我的独白配置:

编辑:到目前为止,我的发现是这是由GelfMessageFormatter将它们的数组转换为 JSON 引起的:

Whennetcat与嵌套的 JSON 一起使用,例如:

然后 Kibana 中的数据看起来还可以

0 投票
1 回答
633 浏览

docker - Docker gelf 日志驱动程序 - 无效的参考格式

我正在尝试启动一个 docker 容器并使用 gelf 日志驱动程序。我运行文档中的内容:

但这会返回:

我究竟做错了什么?找不到任何有关如何格式化参数的示例。

0 投票
2 回答
631 浏览

docker - Docker Gelf 驱动程序自定义字段

我可以在 Docker 文档中看到: https ://docs.docker.com/config/containers/logging/gelf/

在 GELF 中,每条日志消息都是一个包含以下字段的字典: ...您自己配置的任何自定义字段

这是否意味着该驱动程序支持自定义字段?

我想为每条 GELF 消息添加自定义字段环境。我怎样才能做到这一点?

0 投票
0 回答
221 浏览

java - TraceId 从 de.siegmar.logbackgelf.GelfUdpAppender 到 graylog

我正在使用de.siegmar.logbackgelf.GelfUdpAppender将日志推送到 graylog,但 TraceId 没有进入 graylog。

尝试过推杆

但不是 tracId,而是%X{X-B3-TraceId:-}正在打印。

0 投票
0 回答
284 浏览

oracle - Oracle UTL_TCP 到 Graylog GELF TCP 错误 - GELF 消息太短。甚至类型标题都不适合

尝试通过 UTL_TCP 从 Oracle 向 Graylog GELF TCP 发送数据时遇到问题。

我尝试使用单个事件(记录,JSON 格式,根据 Graylog 要求)。问题在于,虽然单个事件确实正确上传,但我也生成了 45 个 Graylog 内部事件,显然与其中两个有关:

我在 Oracle 中使用的 PL SQL 代码如下:

我尝试添加一些:

到 v_GL_record 的末尾,但无济于事。我仍然有 45 条额外记录,并且生成了 ERROR 和 Java.IllegalState

在打开连接时,还尝试使用相同的反斜杠零而不是默认的 CL-FR:

仍然是同样的问题。

有人可以帮忙吗?

此致,

阿尔廷

Graylog内部消息列表:

graylog 额外的内部消息

0 投票
1 回答
509 浏览

logging - 将 graylog 日志输出到另一个 graylog

我正在尝试将所有日志从 Graylog 服务器输出到另一个。我想从多台服务器到同一个服务器(对它们进行分类以跟踪哪个日志来自哪个服务器)

有人知道我该怎么做吗?