我的公司最近搬到了一家新的基础设施提供商。我们在那里获得了一台部分托管的服务器,其中安装了 Ubuntu 14.04 的基本版本。提供商还在机器上安装了 munin-node(munin 版本 2.0.19),并安装了一些自定义插件他们的监控。
现在,我们想使用我们自己的我们在更换供应商之前也安装了监控。我们有一个正在运行的 munin-master。我们的监控包括一些我们自己开发的插件来监控我们的应用程序。所以,虽然我不需要他们的插件,但他们也不需要我们的。我们的一些插件还采用了读取时重置计数器。
这意味着简单地允许我们的 munin-master 在 munin-node 上并从那里读取统计数据并不是解决方案。
我实际上需要的是机器上运行第二个 munin-node 守护进程。我可以通过简单地复制 init.d 启动脚本、更改端口等、创建另一个插件目录并将我们的附加插件放在那里来实现这一点。
然而,我找不到办法更改插件目录munin 用途。我可以设置另一个配置文件来读取,但似乎没有指定插件位置的选项。munin-node 也没有命令行选项(尽管其他脚本如 munin-run 和 munin-node-configure 似乎有它们)。我试过谷歌搜索,我进入了源代码,但我找不到任何方法来实现这一点。
答案1
这是我想出的最好的办法,可能不是最好的解决方案,但它有效:
- 复制
/etc/munin
到/etc/munin2
- 修改设置
munin-node.conf
- log_file:更改为
.../munin-node2.log
- pid_file:更改为
.../munin-node2.pid
- 端口:更改为
4948
(或任何最适合您的端口)
- log_file:更改为
plugins/
根据需要添加/删除插件plugin-conf.d/
根据munin-node.conf
需要修改设置- 复制
/usr/sbin/munin-node
到/usr/sbin/munin-node2
munin-node2
在$Munin::Common::Defaults::MUNIN_CONFDIR='/etc/munin2';
最后一个之后插入use ...;
- 复制
/etc/init/munin-node.conf
到/etc/init/munin-node2.conf
- 在
munin-node2.conf
,修改[ -r /etc/default/munin-node ] && . /etc/default/munin-node
到[ -r /etc/default/munin-node2 ] && . /etc/default/munin-node2
exec /usr/sbin/munin-node $DAEMON_ARGS
到exec /usr/sbin/munin-node2 $DAEMON_ARGS
现在,您应该能够通过 启动第二个 munin 节点service munin-node2 start
,并且ps ax|grep munin-node
应该显示它与主节点一起运行。
现在需要做的就是在您的munin-master内部munin.conf
或上提及该特定 munin-node 的另一个端口。munin-conf.d/