0

我在一组服务器上设置了 ganglia,所有这些服务器都有 gmond,其中一个有 gmetad,一个有 log stash 和 elasticsearch。我想使用 Logstash 的 ganglia 输入插件直接从监控守护进程收集数据,但到目前为止我一直没有成功。我的 logstash 日志总是显示:

{:timestamp=>"2015-07-14T14:33:25.192000+0000", :message=>"ganglia udp 监听器死了", :address=>"10.1.10.178:8664", :exception=>#, :backtrace =>["org/jruby/ext/socket/RubyUDPSocket.java:160:in bind'", "/opt/logstash/lib/logstash/inputs/ganglia.rb:61:inudp_listener'", "/opt/logstash/lib/logstash/inputs/ganglia.rb:39:in run'", "/opt/logstash/lib/logstash/pipeline.rb:163:ininputworker'", "/opt/ logstash/lib/logstash/pipeline.rb:157:in `start_input'"], :level=>:warn}

这是我一直在测试的输入配置:

input {
  ganglia {
    host => "10.1.10.178"  #ip of logstash node
    port => 8666
    type => "ganglia_test"
  }
}

我在其中一个 gmond 节点上的 gmond.conf 中有这个

udp_send_channel {
  host = 10.1.10.178  #logstash node
  port = 8666
  bind_hostname = yes
}
4

1 回答 1

0

我也发现了这个问题。从 1.2 版开始,Ganglia 侦听器中似乎存在一个错误(我知道它曾经在 1.1 中工作......)

我设法通过添加一个明确的“UDP”监听器来解决这个问题。这似乎满足了 logstash 并允许 Ganglia 侦听器继续运行。

例如

    input {
       udp {
        port => "1112"
        type => "dummy"
       }
       ganglia {
        port => "8666"
        type => "ganglia"
       }
    }
于 2016-05-20T11:41:17.070 回答