问题标签 [elastic-beats]
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.
git - 合作开发一个新的 filebeat 模块
我正在为自定义应用程序日志构建一个新的 filebeat 模块,我希望与我的一位同事合作。我知道克隆只是我的本地副本,没有机会让我的同事看到我的更改,而无需先将它们合并到https://github.com/elastic/beats/ repo,所以我选择了 fork beats 存储库,而不是克隆它,然后克隆该 fork。
我按照说明设置了我的开发环境。make
在 filebeat 下运行没有输出,所以我认为一切正常。
我生成模块、文件集,并为文件集设置我的摄取管道。我的pipeline.json
样子是这样的:
并非一直存在,但对于创建 filebeat 模块是新手,我暂时排除了日志格式的所有特殊情况。
然后指示我根据管道配置生成字段。一切看起来都不错:
但是,fields.yml
在 下找不到(无论情况如何),module/casdm/stdlog/_meta/
并且模块级别module/casdm/_meta/fields.yml
不包含我在module/casdm/stdlog/ingest/pipeline.json
. 这已经表明有问题,但我不知道输出表明一切正常。如果我然后运行make update
生成文档和配置,我会收到一个错误,这似乎并不表示pipeline.json
开发设置本身存在问题,并且可能是我分叉项目而不是克隆它的事实:
构建管道中的某些内容指的是弹性 github 路径,而不是我的分叉存储库。我可以去搜索并替换所有这些引用,但我是否试图完全倒退,有没有更简单的方法来实现我想要做的事情?
我的问题是:
- 在一般层面上,一个人可以在克隆的 repo 上进行协作,还是需要先分叉?
- 作为 git 和 GitHub 的新手,有没有更简单的方法可以在不成为贡献者或弄乱源代码库的情况下在 GitHub 存储库上进行协作?
- 我对错误来源的假设是否更接近?如果是,那么正确的解决方案是什么?
elasticsearch - Filebeat 无法将日志发送到 Kafka
File Beat 无法从特定文件夹发送日志,这是应用程序日志文件夹。
已经尝试过的事情:
- 在 kafka 中创建了一个新主题以重新测试设置。
- 检查文件夹和要发送的文件的文件权限。
- 将文件节拍从 5.5 更新到 6.7
- 从 filebeat.prospector 更改为 filebeat.inputs
运行配置:
有了这个,我可以看到“testtopic”中的所有日志
未运行配置:
预期结果:来自路径 /app/log/server/*.log 的日志应发送到 Kafka
filebeat - Filebeat 在尝试收获 3 次后死亡 (max_retries)
我已经设置 Filebeat 通过使用 5044 端口(与 logstash 相同)在 Graylog 中配置 Beats 输入来将日志发送到 Graylog。我成功收到了 Graylog 中的日志。但是,如果在 3 次重试后日志文件没有更改,则 filebeat 会死掉,我必须手动启动才能继续收割。
这是 Filebeat 死前的日志(这个片段总共出现了 3 次):
在 filebeat.yml 中,这是端口 5044 中进程的配置。我在 filebeat.yml 中将 max_retries:3 更改为 -1(无限),如下所示:
正如我所提到的,我在 Graylog 中成功地从 filebeat 获取日志,但是当日志文件一段时间没有更改时,filebeat 进程就会死亡。导致 Filebeat 死机的罪魁祸首是什么?
谢谢
elasticsearch - 如何通过处理器限制日志记录级别?
我使用journalbeat
将journald
事件发送到logstash(然后最终发送到elasticsearch)。我只对更高优先级的消息感兴趣。
在我journalbeat.yml
文件的最顶部,我有
我的意图是运行一个处理器(在所有事件上),它会丢弃syslog.priority
字段大于或等于5
(= 丢弃debug
和info
消息)的事件。
这显然不起作用,因为我看到诸如
被发送到elasticsearch(然后我通过kibana看到)。请注意
syslog.priority: 6
然后在 kibana 中解析到的部分。
处理器应该如何连接到“所有事件”?
elastic-stack - Beats 如何从 Beats Central Management(即 REST)接收配置更改?
我试图找出 Kibana 中的 Beats 中央管理控制台如何将配置更改部署到已注册的 Beats。
我搜索了 Beats 和 Beats Central Management 的文档,但没有看到明确说明如何部署这些更改的详细信息。我知道当 Beat 被注册时,它会收到一个用于配置轮询的“访问令牌”,但这是否意味着使用了 REST?
elasticsearch - 当 Auditbeat 的输出关闭时会发生什么
我正在使用以下管道转发数据
Auditbeat ---> logstash ---> ES
假设如果 logstash 机器出现故障,我想知道 Auditbeat 如何处理这种情况。
我想知道具体的
- 有重试机制吗?
- 它将重试多长时间?
- 审计日志会发生什么,它会丢失吗?
我问问题 3 的原因是,我们通过禁用 auditd 服务(在 /var/log/audit/audit.log 下生成审计日志)来启用 auditbeat。因此,如果 logstash 出现故障,则不会发生数据转发,因此有可能丢失数据。请澄清。
如果在 logstash 关闭时 auditbeat 正在存储数据,它在哪里这样做?分配给这个保存过程的内存(磁盘空间)是多少?
提前致谢
amazon-web-services - Filebeat 和 AWS Elasticsearch - 不工作
我在使用 Elasticsearch 方面有很好的经验,我使用过 2.4 版本,现在正在尝试学习新的 Elasticsearch。我正在尝试实现 Filebeat 以将我的 apache 和系统日志发送到我的 Elasticsearch 端点。为了节省我的时间,我更喜欢在公共域下的 AWS Elasticsearch Service 上启动一个 t2.medium 单节点实例,并且我附加了访问策略以允许每个人访问集群。AWS Elasticsearch 实例已启动并正常运行。我启动了一个 Ubuntu(18.04) 服务器,下载了 filebeat tar 并在以下配置中进行了以下配置filebeat.yml
:
我启用了所需的模块:
然后根据 filebeat 文档,我更改了 filebeat 文件的所有权,并使用以下命令启动了 filebeat:
当我启动 filebeat 时,我遇到了以下权限和所有权问题:
为了解决这个问题,我更改了引发错误的文件的所有权。当我重新启动 filebeat 服务时,我开始面临以下问题:
通过这个链接,我发现要使用 AWS Elasticsearch,我需要 Beats OSS 版本。
所以我再次从这个链接下载了beat的OSS版本,并按照与上面相同的过程,但仍然没有运气。现在我面临以下错误:
错误一:
错误2:
从第二个错误中,我可以理解 geoip 插件不可用,因此我遇到了这个错误。
还需要做什么才能使其正常工作?
有没有人成功将 Beats 连接到 AWS Elasticsearch?
我还可以采取哪些其他步骤来缓解上述问题?
环境细节:
- AWS 弹性搜索版本:6.7
- 文件节拍:7.2.0
logstash-configuration - 带有弹性索引的 Logstash 只有 10,000 个文档
我正在使用 Filebeat 和 Logstash 将日志上传到 Elastic(都是 7.3-oss 版本)。我的日志文件包含数十亿行,但弹性仅显示 10K 文档。添加 stdout 输出时,似乎所有数据都进入了 Logstash,但由于某种原因,Logstash 只上传了 10,000 个文档。
我添加了另一个输出 stdout { codec => rubydebug } 用于打印到屏幕上,看起来数据来自 Filebeat,但由于某种原因,Logstash 只上传了 10,000 个文档。还尝试在 Logstash 中删除 Json 过滤器,但问题仍然存在。
文件节拍配置
Logstash 管道
Logstash.yml
默认安装为空
elasticsearch - GKE 上的 Metricbeats 未按预期工作 - 缺少部署、节点等
正如教程所说,我遵循了所有内容:https ://www.elastic.co/guide/en/beats/metricbeat/current/running-on-kubernetes.html
但我仍然没有得到我的节点和部署状态:
我正在运行 kube-state-metrics,当我看到 metricbeat pod 上的日志时,我收到以下错误:
“github.com/elastic/beats/libbeat/common/kubernetes/watcher.go:235:无法列出*v1beta1.ReplicaSet:replicasets.apps 被禁止:用户“system:serviceaccount:kube-system:metricbeat”无法列出资源集群范围内 API 组“apps”中的“replicasets”
elasticsearch - 如果我可以直接发布到 Elasticsearch,为什么还要使用 Beats?
最近我一直在阅读 Elastic stack 并发现了一个叫做 Beats 的东西,它基本上用于轻量级的托运人。
所以问题是,如果我的服务可以直接访问 Elasticsearch,我真的需要节拍吗?因为据我所知,它只是一个代理(?)
希望我的问题足够清楚