首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为filebeat创建管道

为filebeat创建管道
EN

Stack Overflow用户
提问于 2020-11-17 17:35:31
回答 1查看 792关注 0票数 1

我已经启用了filebeat系统模块:

代码语言:javascript
复制
filebeat modules enable system
filebeat setup --pipelines --modules system
filebeat setup --dashboards
systemctl restart filebeat

这就是logstash所说的pipeline with id [filebeat-7.9.0-system-auth-pipeline] does not exist

这是logstash中负责它的部分:

代码语言:javascript
复制
output {
    if [@metadata][pipeline] {
        elasticsearch {
            hosts => "https://localhost:9200"
            manage_template => false
            cacert => "/etc/elasticsearch/estackcap12extract.crt"
            ssl => true
            ssl_certificate_verification => false
            index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
            pipeline => "%{[@metadata][pipeline]}"
            user => "elastic"
            password => "*secret*"
        }
    } else {
    ...

我需要为此手动创建一个管道吗?我做错什么了吗?我能找到的最好的是this doc page page,但它似乎是用于自定义的东西,而且这是一个现成的模块,所以我不确定它有多相关。

EN

回答 1

Stack Overflow用户

发布于 2020-11-17 18:49:25

问题是您的Filebeat不能直接连接到ES,只能通过Logstash连接。这是一个已知的问题,但由于*Beat只能作为单个输出,因此您需要执行以下操作。

您需要做的是在运行setup命令时取消对elasticsearch输出的注释,以便Filebeat可以安装摄取管道。

完成后,您需要再次注释掉该输出,并在真正启动Filebeat之前取消对Logstash的注释。

如果您不想修改配置文件,还有一种方法可以将配置变量传递给filebeat setup,如下所示:

代码语言:javascript
复制
filebeat setup --pipelines --modules system \
    -E output.logstash.enabled=false \
    -E output.elasticsearch.username="elastic" \
    -E output.elasticsearch.password="*secret*" \
    -E 'output.elasticsearch.ssl.certificate_authorities="/etc/elasticsearch/estackcap12extract.crt"' \
    -E output.elasticsearch.hosts="https://localhost:9200"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64872649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档