问题标签 [graylog]

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

php - 使用 monolog 将日志从 php 应用程序发送到 graylog

我已经安装了 graylog 服务器及其依赖项。尝试使用 Monolog 将日志从我的 php 应用程序发送到 graylog 服务器。但我不知道如何使用 Gelf 处理程序。我已经看到项目 Monolog 中存在的 GelfHandlerTest.php,但我无法设置我的发布者并创建处理程序。请任何人用示例代码解释我如何使用它。

尝试将日志从我的 localhost apache 发送到在安装了 graylog 的同一专用网络中设置的服务器。

在 PHP 中执行的 testLogging 文件是,

如何在独白中设置发布者?

任何形式的帮助表示赞赏。谢谢

0 投票
2 回答
667 浏览

java - Dropwizard GELF 日志记录附加程序

我正在为 dropwizard 使用这个插件包将消息记录到 Graylog 服务器: https ://github.com/gini/dropwizard-gelf

它开箱即用,只需将其添加到 pom.xml 并在我的 dropwizard 服务器的 config.yml 中配置它。好东西!

唯一的问题是,如果我的 Graylog 服务器在启动过程中由于某种原因不可用,GelfAppenderFactory 会抛出 RuntimeException 并且 dropwizard 退出。我的网络服务器永远不会因为日志服务器不可用而启动。不好。

有什么想法可以绕过它吗?我目前的方法是将 GelfAppenderFactory 复制并粘贴到我自己的代码中,并将关键部分包装在 try/catch 块中。这感觉相当粗糙......所以非常感谢任何帮助。

0 投票
1 回答
422 浏览

elasticsearch - graylog 中的键上的通配符

嗨,我正在尝试在查询中的键上使用通配符。因为我的数据中有数组,所以我以平面形式保存我的数据。像 obj_0_id、obj_1_ID 等等。那么有没有办法写出这样的东西 obj_*_ID:123 谢谢

0 投票
1 回答
410 浏览

graylog2 - 在 Graylog2 中查找导致平均统计函数 NaN 的值

exec_time我有一个简单的请求日志,其中每条记录在属性下都有一个以秒为单位的执行时间。它应该始终是一个数字(越低越好)。基于该属性,我有显示其平均值的仪表板小部件,直到最近它工作得很好。现在它显示NaN.

我的猜测是有一个或多个exec_time不是数字的记录。我怎样才能找到这些记录?

0 投票
1 回答
5258 浏览

java - 从在 docker 容器中运行的 JVM 应用程序将日志发送到 graylog 的最佳做法是什么?

我使用 graylog 作为中央日志服务器,我使用 gelf log4j2-appender 将日志消息发送到 graylog。这工作正常。现在我创建了我的应用程序的 docker 映像,我可以将我的软件作为 docker 容器运行。

使用 docker 我还登录到标准输出(console-appender)以将应用程序日志输入到 docker(docker logs {containerId})。

现在我问自己是否可以在 gelf log4j2-appender 上备用,而使用 docker log-driver/plugin 代替 gelf。(见https://docs.docker.com/engine/admin/logging/overview/

这里的最佳做法是什么?我认为使用 docker log 插件会将整个字符串消息发送到 graylog,而 graylog 需要从该字符串中提取元信息(因此我需要在日志消息中提供此元数据,例如 log_level)。这可能会导致 graylog 端消耗更多资源,并且也无法将 docker 配置为仅向 graylog 发送错误消息。这会导致更多的网络流量。使用 log4j2 gelf-appender,我可以在日志消息之外提供一些元数据,而无需将其包含在主日志消息中,并且在 graylog 端不需要提取。也可以通过 log_level 配置应该将哪些消息发送到 graylog。还是我错了?最好的解决方案是什么,或者将日志发送到 graylog 的每种方式的优缺点是什么?

0 投票
2 回答
1206 浏览

docker - 没有 TLS/SSL 的 Graylog SMTP 服务器

我想通过 docker 启动带有 smtp 支持的 graylog。我这样做:

Graylog 工作正常,只是我无法发送电子邮件测试消息(在 Graylog 中:Streams - Manage Alerts - Send test alert)。这样做我在 Web 界面中得到一个错误屏幕

在此处输入图像描述

移除

--no-tls

从码头配置,我没有得到那个屏幕。但是当然现在我收到一条错误消息

尝试发送电子邮件时出错!(20 小时前触发)Graylog 服务器在尝试发送电子邮件时遇到错误。这是详细的错误消息:org.apache.commons.mail.EmailException:将电子邮件发送到以下服务器失败:Server.name.local:587(javax.mail.MessagingException:无法将套接字转换为 TLS;嵌套异常是:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:P KIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径)

该错误是可以的,因为没有 tls/ssl 支持。

但是为什么我在使用 --no-tls 的 Web 界面中会出现错误屏幕?任何想法如何在没有 ssl 的情况下发送邮件?我对 docker 做错了吗?有没有人在没有 tls/ssl 的情况下成功使用 docker、graylog 和 email?

在图像中,人们可以阅读

请检查右侧显示的服务器是否正在运行且可访问。

右上角红条下方的ip地址不可达。我什至不知道那个IP地址。那个ip地址是从哪里来的?我需要改变它吗?为什么只有在激活 --no-tls 时才会失败?

我正在使用可以通过 docker 获得的最新版本。

更新::

graylog2/allinone的 docker容器站点上,我刚刚读到它已被弃用,应该使用graylog2/server。我会试一试。

我搞不清楚了。非常感谢任何提示!

0 投票
0 回答
52 浏览

java - Graylog 产生很多子进程

我们有一个 Graylog 2.0.2 (4da1379) 设置,它收集了非常少量的数据(平均每分钟 0 msg),我们的系统管理员抱怨它正在消耗大量内存,并且似乎 Graylog 正在产生 170 个正在占用的子进程记忆。

Graylog 产生如此大量的子进程是预期的行为吗?我浏览了文档但找不到任何东西,但是通过 web 界面可用的线程转储确实有大量处于“等待”状态的线程,例如

那么设置是否有问题,我们可以以某种方式配置线程数还是应该添加更多内存?

0 投票
1 回答
1061 浏览

elasticsearch - How do I monitor elasticsearch's logs using Graylog?

I need to monitor elasticsearch's logs by using graylog. I setted up graylog but I am confused as to use which input type to monitor from log files of elasticserach.

0 投票
0 回答
1207 浏览

configuration - 如何让 graylog 在代理后面运行?

我已经安装了最多的 graylog,而且一切似乎都在工作——直到我真正尝试搜索某些东西。然后它抱怨它无法连接。我认为问题在于它试图使用相同的 ip 地址从客户端连接,因为它来自服务器(尽管这似乎是非常糟糕的设计,所以我很可能会误解它)。

我的理解是它正在使用 rest_listen_uri 或 rest_transport_uri 之一(不确定哪个,文档没有区分它们)来查询服务器,然后服务器对同一地址进行另一个查询以获取数据。

问题是我用来从另一台机器连接的 ip 地址与它可以访问自己的 ip 地址不同。因此,如果我将其设置为一个 ip,则 ajax 调用成功,并且我从服务器收到错误消息。如果我将它设置为另一个 ip,那么从服务器本身的命令行运行的查询将起作用,但来自任何其他机器的查询都无法到达它。

有没有什么办法解决这一问题?还是我应该只使用以前没有这个问题的版本?

0 投票
1 回答
340 浏览

elasticsearch - Graylog 2.0 -- 为什么未分配副本?

我定期使用另一篇删除所有副本的帖子中的 curl 命令解决未分配的副本消息:ElasticSearch:未分配的碎片,如何修复?

curl -XPUT localhost:9200/_settings -d '{ "number_of_replicas" :0 }'

我已经运行 curl 命令来配置自动分配,但它没有解决。

curl -XPUT 'localhost:9200/_cluster/settings' -d '{ "transient" : { "cluster.routing.allocation.enable" : "all" } }'

  • 为什么我的单节点 AWS-AMI Graylog 2.0 服务器生成副本而不分配它们?
  • 为什么配置它的 curl 命令不适用?