Logstash - 是流入数据库的输出吗?

时间:2014-09-19 11:42:59

标签: logstash influxdb

我想从Logstash获得Influx DB的输出,是否有这样的插件可用?

输出设置为graphite。这是涌入配置:

[input_plugins]

# Configure the graphite api
[input_plugins.graphite]
enabled = true
port = 2003
database = "AirAnalytics"  # store graphite data in this database
# udp_enabled = true  # enable udp interface on the same port as the tcp interface

这是logstash配置:

output {
    stdout {}
    graphite {
            host => "localhost"
            port => 2003
    }
}

我在控制台(stdout)中看到输出但没有其他消息,并且没有任何内容被发布到涌入。我也检查了潮流日志,没有。

我尝试通过http直接发布相同的消息到涌入并且它有效,所以消息或涌入安装没有问题。

5 个答案:

答案 0 :(得分:6)

解决了它。我需要通过logstash将已准备好的涌入兼容字符串传递给涌入。

以下是logstash配置代码段,它完成了这一操作:

output {
    http {
            url => "http://localhost:8086/db/<influx db name>/series?u=<user name>&p=<pwd>"
            format => "message"
            content_type => "application/json"
            http_method => "post"
            message => "%{message}"
            verify_ssl => false
    }
    stdout {}
}

注意:如果您使用格式&#34; json&#34;然后logstash围绕一条&#34;消息&#34;导致问题的领域。

答案 1 :(得分:1)

答案 2 :(得分:1)

有一个influxdb output in logstash-contrib,然而,这是在1.4.2发布后添加的。

使用logstash 1.5,有一个新的插件管理系统。如果您使用的是1.5,则可以使用以下命令安装Influxdb输出:

# assuming you're in the logstash directory
$ ./bin/plugin install logstash-output-influxdb

答案 3 :(得分:0)

也许这有帮助:

http://influxdb.com/docs/v0.8/api/reading_and_writing_data.html

请看部分:通过Graphite Protocol写入数据 也许你可以使用logstash的石墨输出。

我想我本周末会尝试一下。

答案 4 :(得分:0)

接受的答案虽然有效但并不灵活,因为:

  • 它要求实际的JSON有效负载位于%{message}或最终使用的任何logstash变量
  • 它不会在可能的情况下批量提交数据点(当然,除非你在JSON有效载荷中有... ...在这种情况下...为什么你甚至在使用logstash第一名?)

正如保罗和威尔弗雷德所指出的那样, 支持由Jordan Sissel自己编写的潮流数据,但它是在1.4.2之后发布的...好的是它适用于1.4.2(我自己尝试过了)...您需要做的就是将influxdb.rb文件复制到/lib/logstash/outputs并相应地配置您的logstash。至于文档,你可以找到它here ...它确实需要我更多的努力才能找到它,因为谷歌搜索&#34; Influxdb logstash&#34;不会在第一页结果上显示此链接。