You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker环境下实现本地Logstash SNS输出至goaws SNS主题

对接本地Logstash SNS输出到GoAWS主题的实操指南

嘿,你已经把GoAWS和相关Docker组件跑起来了,这基础打得很扎实!接下来要把Logstash的SNS输出连到GoAWS的主题上,其实步骤挺清晰的,我给你一步步拆解:

1. 确保Logstash安装了SNS输出插件

首先得确认你的Logstash有没有装logstash-output-sns插件,要是没装的话,在Logstash的安装目录下跑这条命令:

bin/logstash-plugin install logstash-output-sns

装完之后可以用bin/logstash-plugin list确认插件存在。

2. 配置Logstash的输出规则

接下来要写Logstash的配置文件(比如命名为logstash-goaws.conf),重点是output段的SNS配置。因为GoAWS是AWS SNS的模拟服务,所以我们要指定它的自定义端点,还要跳过AWS的真实认证(毕竟是本地模拟)。

这里给你一个示例配置:

input {
  # 这里是你的输入源,比如file、beats等,根据实际情况配置
  stdin {} # 用标准输入测试的话可以保留这个
}

filter {
  # 你的过滤规则,按需添加
}

output {
  sns {
    # 替换成你的GoAWS SNS主题ARN,可以通过GoAWS的管理界面或API获取
    topic_arn => "arn:aws:sns:us-east-1:123456789012:your-topic-name"
    # GoAWS的SNS服务地址,Docker映射的本地端口默认是4100
    endpoint_url => "http://localhost:4100"
    # 随便填就行,GoAWS默认不校验AWS认证信息
    access_key_id => "dummy-key"
    secret_access_key => "dummy-secret"
    # 区域随便填一个AWS的区域标识就行
    region => "us-east-1"
    # 要发送的消息内容,这里用Logstash的message字段,你也可以自定义
    message => "%{message}"
    # 可选:如果需要指定消息结构,比如JSON格式
    # message_structure => '{"default": "%{message}"}'
  }
}

怎么获取GoAWS的主题ARN?

你可以通过curl调用GoAWS的API来查看所有主题:

curl "http://localhost:4100/?Action=ListTopics"

返回的XML里会包含每个主题的ARN,直接复制过来用就行。

3. 测试配置并验证

配置好之后,启动Logstash加载这个配置:

bin/logstash -f logstash-goaws.conf

如果是用stdin输入测试的话,直接在控制台输入内容,回车后看Logstash的日志有没有报错。同时可以:

  • 打开GoAWS的管理界面(默认是http://localhost:4101),查看主题的消息统计
  • 观察你的Python守护进程是否收到了来自SQS的消息,进而确认消息是否流转到了Tomcat应用

可能踩坑的地方

  • 网络连通性:确保Logstash所在的本地环境能访问GoAWS容器的4100端口,检查docker-compose里GoAWS的端口映射是否正确(比如4100:4100)
  • GoAWS认证配置:如果你给GoAWS开了认证(在GoAWS的配置文件里设置了AuthEnabled: true),那你需要在Logstash的配置里填对应的密钥,不过默认GoAWS是关闭认证的,所以用dummy值就行
  • 消息格式:如果你的Python守护进程期望特定格式的消息,记得在Logstash的output里用message_structure或者过滤阶段处理好消息格式

内容的提问来源于stack exchange,提问作者Aaron Watkins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:25:55