问题标签 [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.
regex - 使用正则表达式和 Grok 分隔 IPV4 和 IPV6 地址
我正在尝试为传入的一些日志文件构建 Grok 模式。我在日志消息中有一个字段,看起来像以下两种:
处理第一个示例非常简单,我定义了一个名为 IP2 的新 IP 模式,以避开括号\((?:%{IP})\)
并最终得到如下内容:
我试图弄清楚当 IPv4 和 IPv6 地址都出现时如何创建正则表达式模式和 Grok 模式。我可以始终生成 IPv6 字段,如果它不存在,它只是空的。
api - 无法在 CentOS 7 上发布 Graylog2 的 api/system/sessions
我在 Debian 8 上安装了 Graylog 2.1,但我必须在 CentOS 7 上安装 Graylog,因为我的数据中心使用此发行版,并且我希望拥有相同的环境以避免在需要更改生产时出现问题。
我遵循http://docs.graylog.org/en/2.1/pages/installation/os/centos.html中提供的适用于 CentOS 7 的 Graylog 指南,并安装了 Graylog 2.1.2。MongoDB、ElasticSearch e Graylog 正在运行并通过终端响应本地请求。但是,Web 界面不可用。显示登录页面,但是当我尝试使用管理员用户连接时,我收到以下答案:
错误 - 服务器返回:404 - 无法发布http://mydomain:9000/api/system/sessions (404)
下面是我改成 Graylog 的 server.conf 的行(我在这里替换了真实 IP 地址):
我搜索了有关此失败的参考资料,并根据 Graylog github 问题的建议创建了一个 graylog-settings.json 文件,其中包含以下内容:
但是重新启动服务器后的事件,问题仍然存在。Graylog 日志只显示 INFO 记录,然后在我看来请求没有到达服务器。我想知道这是由于网络配置造成的还是可以通过调整 Graylog 来解决。
azure - 在 Azure 中替换 NLog
我们有一个使用 NLog 记录日志的运行站点。我们不仅是登录错误,我们还用它来衡量与业务逻辑相关的事情。
现在我们正在迁移到 Azure,这就是为什么我正在寻找一种更好的方法来在 azure 中记录此类信息。我正在寻找类似graylog的东西。
要记住的事情:
- azure 提供哪些日志信息易于阅读?
- 我可以查询读取数据吗?
- 是否有用于记录的 API?
python - 给出假主机名时,Graypy 不给出错误
我正在尝试使用 Graylog-2.0.1。它在 192.168.0.23 的 8093 端口上运行。我已经成功地在 192.168.0.23 的主机上实现了 GELF UDP,端口为 8093
此代码正在运行。好的
现在,当在我的代码中将主机更改为 192.168.0.22 时,它应该给我错误,但它没有给我任何错误。
此代码应该给我错误,例如 Graylog 服务器未在此主机上运行。 但是没有错误程序成功执行但没有输出。
docker - 带有 UDP 输入的 Docker 中的 Graylog 2.2.0-beta.1:无法加载默认流
我正在尝试使用 graylog2 从 docker 容器中收集日志。Docs 说为此目的仅支持 UDP GELF 输入。我正在使用 docker-compose 来运行 graylog 服务器。请参阅所有使用的文件的要点:https ://gist.github.com/olegabr/7f5190c453bb63c71dabf151d2373c2f 。
我正在使用这个命令来测试它:
sendip -p ipv4 -is 127.0.0.1 -p udp -us 5070 -ud 12201 -d '{"version": "1.1","host":"example.org","short_message":"Short message","full_message":"Backtrace here\n\nmore stuff","level":1,"_user_id":9001,"_some_info":"foo","_some_env_var":"bar"}' -v 127.0.0.1
服务器收到此消息,但无法处理。我在 graylog2 日志中看到以下内容:
2016-12-09 11:53:20,125 WARN : org.graylog2.bindings.providers.DefaultStreamProvider - Unable to load default stream, tried 1 times, retrying every 500ms. Processing is blocked until this succeeds.
2016-12-09 11:53:25,129 WARN : org.graylog2.bindings.providers.DefaultStreamProvider - Unable to load default stream, tried 11 times, retrying every 500ms. Processing is blocked until this succeeds.
等等许多类似的行。
API 调用curl http://admin:123456@127.0.0.1:9000/api/count/total
返回
{"events":0}
在服务器日志中,我看到默认流已初始化:
mongo_1 | 2016-12-09T11:51:12.522+0000 I INDEX [conn3] build index on: graylog.pipeline_processor_pipelines_streams properties: { v: 2, unique: true, key: { stream_id: 1 }, name: "stream_id_1", ns: "graylog.pipeline_processor_pipelines_streams" }
graylog_1 | 2016-12-09 11:51:13,408 INFO : org.graylog2.periodical.Periodicals - Starting [org.graylog.plugins.pipelineprocessor.periodical.LegacyDefaultStreamMigration] periodical, running forever.
graylog_1 | 2016-12-09 11:51:13,424 INFO : org.graylog.plugins.pipelineprocessor.periodical.LegacyDefaultStreamMigration - Legacy default stream has no connections, no migration needed.
graylog_1 | 2016-12-09 11:51:13,487 INFO : org.graylog2.migrations.V20160929120500_CreateDefaultStreamMigration - Successfully created default stream: All messages
graylog_1 | 2016-12-09 11:51:13,653 INFO : org.graylog2.migrations.V20161125142400_EmailAlarmCallbackMigration - No streams needed to be migrated.
graylog_1 | 2016-12-09 11:51:13,662 INFO : org.graylog2.migrations.V20161125161400_AlertReceiversMigration - No streams needed to be migrated.
graylog_1 | 2016-12-09 11:51:13,672 INFO : org.graylog2.migrations.V20161130141500_DefaultStreamRecalcIndexRanges - Cluster not connected yet, delaying migration until it is reachable.
那么,为什么消息到达时无法加载呢?为什么首先需要它?
我试图在网络上找到类似的报告,但没有成功。
mongodb - 具有两个数据中心的高可用 Graylog(mongodb,elasticsearch) 日志系统
我需要配置一个高可用的 graylog2 集群,该集群分为 2 个数据中心。如果第一个数据中心完全关闭,第二个数据中心必须继续运行,反之亦然。(前端场外的负载均衡器)
例如,每个数据中心可以有 1 个 elasticsearch、1 个 graylog 和 2 个 mongodb 实例。最后,我有 2 个 elasticsearch、2 个 graylog 和 4 个 mongodb 实例。
当我从 mongodb 文档中阅读时,我需要奇数个选民。所以假设只有选民是其中的 3 个。(第一个数据中心 2 和第二个有 1)
通过一些配置,弹性搜索按预期工作。但是mongodb不是:(
那么,在任何数据中心完全关闭的情况下,是否可以使用 2 个数据中心进行高可用性配置?
最后,我想分享我的配置。注意:我当前的配置只有 2 个 mongodb
谢谢..
弹性搜索第一:
弹性搜索第二:
mongodb 第一和第二(rs.conf()):
灰色日志第一:
灰色日志第二:
curl - 从 Graylog 中删除特定的日志消息
我需要从 Graylog 中删除特定的日志消息,但是似乎没有任何公共 API 可以执行此操作(通过 Graylog API 浏览器)。
关于如何做到这一点的文档很少。我发现一些随机文章暗示它是/可能通过 curl 和查询 API,但没有实质性内容。
鉴于可以通过“ http://1.2.3.4:5678 ”访问灰色日志,并且我在索引“graylog_0”中收到一条 ID 为“94c84300-d3c1-11e6-b900-005056ac343f”的消息我将如何删除此消息?
nginx - Graylog登录时出现404错误
我目前正在尝试让 Graylog 工作。我安装了以下 graylog-settings.json :
local-ip 是我们网络上的 graylog 服务器本地 ip。
graylog.domain.com 是我们的 graylog 外部域
我们有一个 PFSense(我在每个端口上都将其列入白名单)。
我配置了一个 NAT 条目以在我的 graylog 服务器上发送所有 9000 请求。
我将我的 NGinx 代理配置为将所有 graylog.domain.com 发送到 local-ip
这是问题所在:
如果我到达 graylog.domain.com:80,我可以看到登录页面,但是任何登录尝试,我都会得到:
错误 - 服务器返回:404 - 无法发布 http://graylog.domain.com:9000/system/sessions (404)
如果我到达 graylog.domain.com:9000,我会直接收到此错误(没有登录页面):
我们在连接到在http://local-ip:9000/api/上运行的 Graylog 服务器时遇到问题。请验证服务器是否健康且工作正常。
一旦我们可以连接到服务器,您将被自动重定向到上一页。
你需要一只手吗?我们能帮你。
更多细节
我是 RTFM,但我无法获得正确的配置。有人可以帮忙吗?
编辑 :
感谢@joschi,我设法让它工作。这是我现在的conf文件:
我使用以下命令来更新我的 conf 文件:
sudo graylog-ctl set-external-ip "http://external-ip:9000/api/"
当然,external-ip 是我们的公网 IP。
json - logstash 的 json 数组解析问题
我们想使用 JSON Array 格式的 logstash 的 http 插件来实现服务请求跟踪。
尝试解析 JSON 数组时出现以下错误:
错误:
我的 json 数组是:
我的logstash配置是:
任何帮助,将不胜感激。