collectd 权限被拒绝连接到远程主机

collectd permission denied to connect to remote host

我有4台机器。我必须监视他们不同的统计数据。为此,我决定使用 graphite/collectd。 OS 在所有机器上都是 centos 7。我已经成功配置了 Graphite 并在两台机器上也收集了。但是 remaning 两台机器给出了以下错误并且没有显示在 graphite-web 仪表板中

 write_graphite plugin: Connecting to 11.11.10.41:2003 via tcp failed. The last error was: failed to connect to remote host: Permission denied
Jan 14 15:11:51 node3 collectd[31343]: Filter subsystem: Built-in target `write': Dispatching value to all write plugins failed with status -1.

其中 11.11.10.41 是我的机器,石墨是 运行。我为 collectd 安装所做的工作。我刚刚在所有机器上更改了 collectd 配置中的插件信息,如下所示。

<Plugin write_graphite>
  <Node "example">
    Host "11.11.10.41"
    Port "2003"
    Protocol "tcp"
    LogSendErrors true
    Prefix "collectd."
#    Postfix "collectd"
    StoreRates true
    AlwaysAppendDS false
    EscapeCharacter "_"
  </Node>
</Plugin>

我也刷新了 iptables。但令我惊讶的是,两台机器正在发送数据,而两台机器没有。问题出在哪里

由于 selinux,我遇到过类似的错误。

您可以按照文档允许 collectd 发送指标 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Fixing_Problems-Allowing_Access_audit2allow.html

对我来说,步骤是按照命令执行的。

    audit2allow -a
    audit2allow -a -M collectd_t
    semodule -i collectd_t.pp

我当时也遇到了同样的问题: collectd[3013]:write_graphite 插件:通过 tcp 连接到 IP:2003 失败。最后一个错误是:权限被拒绝

然后我安装了 yum 安装 selinux-policy.noarch

我的问题在安装 selinux 策略后得到解决

知道这有点老了,但是...

在使用 SELinux 时,至少在 CentOS 7 主机上,您可以通过以下方式授予 collectd 必要的权限:

setsebool collectd_tcp_network_connect on