2

我是 Riemann 的新手,也是 ruby​​ 和 Clojure 的新手。

当我执行 riemann 命令时:</p>

黎曼健康

错误信息是

Riemann::Client::TcpSocket::Error Could not connect to 127.0.0.1:5555:Errno::ECONNREFUSED: Connection refused - connect(2)
/var/lib/gems/1.9.1/gems/riemann-client-0.2.5/lib/riemann/client/tcp_socket.rb:233:in `connect_nonblock'

我的开发环境是:

Ubuntu 14.04.2 LTS

黎曼版本是 0.2.10。

java版本“1.8.0_45”

红宝石 1.9.3p484

4

1 回答 1

4

我假设您在同一台计算机上运行 Riemann 和 riemann-dash 并且不使用 docker 来执行以下任何一个:

黎曼听

  • 用于事件的端口 5555 udp
  • 用于事件的端口 5555 tcp
  • 用于查询的端口 5556 tcp

所以有几种可能的问题组合:

  • 黎曼根本没有跑
  • 黎曼起身,然后摔倒而死。
    例如,当它没有配置文件时会发生这种情况。
  • riemann 没有在 5555 tcp 上监听
  • riemann 没有监听 5555 udp
  • riemann 正在侦听错误的接口(又名“绑定地址”)如果 riemann 配置为侦听 1.2.3.4:5555,那么它将不会响应来自 localhost (127.0.0.1) 的连接
  • 连接被某些防火墙阻止(不,不要关闭防火墙)
  • riemann 正在侦听 udp,而您正在发送 tcp(或相反)

一旦你确信黎曼过程仍在运行

sudo netstat -nlp | grep 5555 

并确保您可以看到 riemann 实际上正在侦听 tcp 和 udp 端口​​ 5555。然后安装 netcat 并确保您可以连接到这些端口

nc -v localhost:5555

nc -uvv localhost:5555
asdfasfd

(是的,您需要输入一些 gobbeldy 才能让第二个示例实际发送数据包。

如果您仍然没有连接,请安装 etherial 或 tcpdump 并开始嗅探。

如果您正在运行 docker,并在 UDP 中使用 riemann,那么还有一整套其他事情需要检查。

于 2016-01-06T02:59:06.893 回答