Munin通过munin-asyncd监视FreeBSD客户端不起作用

我build立了一个Munin主节点,目的是监视不同种类的Unix机器。 我遵循了这封信的指示,发现尽pipe监控工作和所有的Linux节点完美无瑕,但我无法从FreeBSD中得到任何有意义的结果。

所有的节点都设置了一个运行的munin-node守护进程,一个用户在FreeBSD节点上的Linux节点和munin上调用munin-async 。 用户是这样设置的,以允许SSH连接:

 # /var/munin/.ssh/authorized_keys no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,no-user-rc,from="1.2.3.4",command="/usr/local/share/munin/munin-async --spoolfetch" ssh-ed25519 AAAAC3Nza[...] 

通过SSH手动连接按预期工作,直接丢弃到munin-async helper。

 PTY allocation request failed on channel 0 # munin node at example.home.lan list cpu df fail2ban if_bge0 if_bge1 if_bridge0 if_errcoll_bge0 if_errcoll_bge1 if_errcoll_bridge0 if_packets_bge0 if_packets_bge1 if_packets_bridge0 intr_cpu iostat ip_drops ip_forwarding ip_host ipinput load lpstat memory netirq_bge0 netisr_arp netisr_ether netisr_igmp netisr_ip netisr_ip6 netisr_rtsock netmem_clusters netmem_mbufs netmem_sendfile netstat ntp_kernel_err ntp_kernel_pll_freq ntp_kernel_pll_off ntp_offset ntp_states open_files pf_counters pf_source pf_source_act pf_state pf_state_act sendmail_mailqueue sendmail_mailstats sendmail_mailtraffic swap systat tcpstates udp_errors udp_traffic uptime users 

通过运行spoolfetch 0 ,我可以通过这种方式获取数据。

但是,通过munin-cron --debug运行时,我得到以下例外:

 2017/07/23 15:14:05 [INFO] example.home.lan/ssh://[email protected]:4949 didn't send any data for spoolfetch. Ignoring it. 2017/07/23 15:14:05 [INFO] No spoofetch data for example.home.lan/ssh://example.home.lan:4949 2017/07/23 15:14:05 [DEBUG] Writing state for home.lan-example.home.lan in /var/munin/state-home.lan-example.home.lan.storable 2017/07/23 15:14:05 [DEBUG] about to write '/var/munin/state-home.lan-example.home.lan.storable' 2017/07/23 15:14:05 [ERROR] Munin::Master::UpdateWorker<home.lan;example.home.lan> failed to connect to node 2017/07/23 15:14:05 [DEBUG] Exit status 20 for worker Munin::Master::UpdateWorker<home.lan;example.home.lan> 2017/07/23 15:14:06 [DEBUG] In exception handler for failed worker home.lan;example.home.lan 

然而,graphics是创build的,而所有的值都是用nan输出的。

有没有人有我的指针这里有什么不好?

我自己find了解决scheme。 由于munin-asyncd守护程序定义了/var/spool/munin/async的假脱机目录,因此需要在authorized_keys中的命令中指定:

 /usr/local/share/munin/munin-async --spooldir /var/spool/munin/async --spoolfetch 

这在任何地方都没有令人满意的logging,必须从默认位置推断出来。 希望这有助于一些可怜的灵魂寻找这个问题。