首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Logstash:通过代理将日志转发到logz.io

Logstash:通过代理将日志转发到logz.io
EN

Stack Overflow用户
提问于 2017-11-22 15:47:39
回答 1查看 828关注 0票数 0

我想使用logstash将标准输出从运行中的应用程序发送到logz.io。应用程序和日志存储都是由docker -组合管理的坞映像,它完成设置(拉图、network_mode、日志驱动程序等)。Logstash输入是通过g亲自输入插件处理的。传送到logz.io是通过tcp-输出插件.

logstash.conf:

代码语言:javascript
复制
input { gelf {
            type => docker
            port => 12201 } }

filter { mutate { add_field => { "token" => "${LOGZIOTOKEN}" } } }

output { tcp {
            host => "listener.logz.io"
            port => 5050
            codec => json_lines } }

摘自docker-compose.yml:

代码语言:javascript
复制
  application:
  ...
 logging:
   driver: "gelf"
  options:
    gelf-address: "udp://0.0.0.0:12201"

这如预期的那样起作用。

现在,我需要使用一个TCP代理服务器将日志从主机(运行logstash实例)发送到logz.io。不幸的是,我没有找到用于logstashs tcp输出插件的代理扩展。有人对这个问题有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-24 11:36:31

logstash的http输出插件具有属性代理。您必须使用logz.io端口发送curl: 8070(http)/8071(https)。

工作配置如下所示:

代码语言:javascript
复制
output { http {
        url => "https://listener.logz.io:8071?token=${LOGZIOTOKEN}"
        http_method => "post"
        format => "json"
        content_type => "application/json"
        proxy => {
            host => "${PROXYHOST}"
            port => "${PROXYPORT}"
            scheme => 'http'
            user => "${PROXYUSER}"
            password => "${PROXYPW}"
        }}}

您不需要过滤器来传送到logz.io,就像tcp-输出插件配置中的那样。只需添加输入,并发送它!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47438792

复制
相关文章

相似问题

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