无法启动 riemann health

Couldn't start riemann health

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

当我执行riemann命令时:

riemann-health

错误信息是

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

riemann version is 0.2.10.

java version "1.8.0_45"

ruby 1.9.3p484

我假设您在同一台计算机上使用 运行ning Riemann 和 riemann-dash,并且没有对其中任何一个使用 docker:

黎曼听

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

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

  • riemann 根本不是 运行ning
  • 黎曼启动,然后摔倒死了。
    例如,当它没有配置文件时会发生这种情况。
  • riemann 没有监听 5555 tcp
  • riemann 没有监听 5555 udp
  • riemann 正在监听不正确的接口(又名 "bind address") 如果 riemann 配置为监听 1.2.3.4:5555 那么它不会响应来自本地主机 (127.0.0.1)
  • 的连接
  • 连接被某些防火墙阻止(不,不要关闭防火墙)
  • riemann 正在监听 udp 而你正在发送 tcp(或相反)

一旦你确信黎曼过程仍然是 运行ning 运行

sudo netstat -nlp | grep 5555 

并且确保您可以看到 riemann 实际上正在监听端口 5555 的 tcp 和 udp。然后安装 netcat 并确保您可以使用

连接到这些端口
nc -v localhost:5555

nc -uvv localhost:5555
asdfasfd

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

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

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