如何在 Munin 中每个节点的索引页上显示月度图表

如何在 Munin 中每个节点的索引页上显示月度图表

我在 FreeBSD 13.2 上运行 Munin 2.0.73。Munin 生成的 HTML 文件仅在节点的索引页 ( http://localhost/munin/localdomain/localhost.localdomain/index.html) 上显示每日图表(“按天”)和每周图表(“按周”)。例如:

当我单击时,我可以看到“按月”和“按年”的图表http://localhost/munin/localdomain/localhost.localdomain/munin_stats.html,但我想在 index.html 页面上看到它们。

如何配置 Munin,使其除了在页面上显示每日和每周图表之外,还显示月度图表(“按月”)http://localhost/munin/localdomain/localhost.localdomain/index.html

答案1

您可以通过编辑 Munin 模板文件来实现这一点。您需要的内容位于 中munin-nodeview.tmpl。在我的例子中,文件位于:/etc/munin/templates/munin-nodeview.tmpl但根据您的配置,它可能位于其他地方。

原始文件如下所示:

<TMPL_INCLUDE NAME="partial/head.tmpl">
<body>
<TMPL_INCLUDE NAME="partial/logo_navigation.tmpl">
<div id="main">
<TMPL_INCLUDE NAME="partial/navigation.tmpl">
<div id="content">
<h2>Node view</h2>
<TMPL_LOOP NAME="CATEGORIES">
<h3 id="<TMPL_VAR ESCAPE="HTML" NAME="NAME">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></h3>
<table>
        <TMPL_LOOP NAME="SERVICES">
                <tr><td><TMPL_VAR ESCAPE="HTML" NAME="NAME"></td></tr><tr><td>
                <a href="<TMPL_VAR NAME="URLX">">
                <img class="i<TMPL_IF NAME="STATE_WARNING">warn</TMPL_IF><TMPL_IF NAME="STATE_CRITICAL">crit</TMPL_IF>"
                 src="<TMPL_VAR NAME="IMGDAY">"
                 alt="<TMPL_VAR ESCAPE="HTML" NAME="NAME">"
         <TMPL_IF NAME="IMGDAYWIDTH">width="<TMPL_VAR NAME="IMGDAYWIDTH">" </TMPL_IF>
                 <TMPL_IF NAME="IMGDAYHEIGHT">height="<TMPL_VAR NAME="IMGDAYHEIGHT">"</TMPL_IF>/>
                </a></td>
        <td><a href="<TMPL_VAR NAME="URLX">">
                <img class="i<TMPL_IF NAME="STATE_WARNING">warn</TMPL_IF><TMPL_IF NAME="STATE_CRITICAL">crit</TMPL_IF>"
                 src="<TMPL_VAR NAME="IMGWEEK">"
                 alt="<TMPL_VAR ESCAPE="HTML" NAME="NAME">"
                 <TMPL_IF NAME="IMGWEEKWIDTH">width="<TMPL_VAR NAME="IMGWEEKWIDTH">" </TMPL_IF>
                 <TMPL_IF NAME="IMGWEEKHEIGHT">height="<TMPL_VAR NAME="IMGWEEKHEIGHT">"</TMPL_IF>/>
                </a></td>
                </tr>
        </TMPL_LOOP>
</table>
</TMPL_LOOP>
</div>
</div>
<TMPL_INCLUDE NAME="partial/footer.tmpl">
</body>
</html>

替换为:

<TMPL_INCLUDE NAME="partial/head.tmpl">
<body>
<TMPL_INCLUDE NAME="partial/logo_navigation.tmpl">
<div id="main">
<TMPL_INCLUDE NAME="partial/navigation.tmpl">
<div id="content">
<h2>Node view</h2>
<TMPL_LOOP NAME="CATEGORIES">
<h3 id="<TMPL_VAR ESCAPE="HTML" NAME="NAME">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></h3>
<table>
        <TMPL_LOOP NAME="SERVICES">
                <tr><td><TMPL_VAR ESCAPE="HTML" NAME="NAME"></td></tr><tr><td>
                <a href="<TMPL_VAR NAME="URLX">">
                <img class="i<TMPL_IF NAME="STATE_WARNING">warn</TMPL_IF><TMPL_IF NAME="STATE_CRITICAL">crit</TMPL_IF>"
                 src="<TMPL_VAR NAME="IMGDAY">"
                 alt="<TMPL_VAR ESCAPE="HTML" NAME="NAME">"
         <TMPL_IF NAME="IMGDAYWIDTH">width="<TMPL_VAR NAME="IMGDAYWIDTH">" </TMPL_IF>
                 <TMPL_IF NAME="IMGDAYHEIGHT">height="<TMPL_VAR NAME="IMGDAYHEIGHT">"</TMPL_IF>/>
                </a></td>
        <td><a href="<TMPL_VAR NAME="URLX">">
                <img class="i<TMPL_IF NAME="STATE_WARNING">warn</TMPL_IF><TMPL_IF NAME="STATE_CRITICAL">crit</TMPL_IF>"
                 src="<TMPL_VAR NAME="IMGWEEK">"
                 alt="<TMPL_VAR ESCAPE="HTML" NAME="NAME">"
                 <TMPL_IF NAME="IMGWEEKWIDTH">width="<TMPL_VAR NAME="IMGWEEKWIDTH">" </TMPL_IF>
                 <TMPL_IF NAME="IMGWEEKHEIGHT">height="<TMPL_VAR NAME="IMGWEEKHEIGHT">"</TMPL_IF>/>
                </a></td>

        </tr>
        <tr>
                <td><a href="<TMPL_VAR NAME="URLX">">
                <img class="i<TMPL_IF NAME="STATE_WARNING">warn</TMPL_IF><TMPL_IF NAME="STATE_CRITICAL">crit</TMPL_IF>"
                 src="<TMPL_VAR NAME="IMGMONTH">"
                 alt="<TMPL_VAR ESCAPE="HTML" NAME="NAME">"
                 <TMPL_IF NAME="IMGMONTHWIDTH">width="<TMPL_VAR NAME="IMGMONTHWIDTH">" </TMPL_IF>
                 <TMPL_IF NAME="IMGMONTHHEIGHT">height="<TMPL_VAR NAME="IMGMONTHHEIGHT">"</TMPL_IF>/>
                </a></td>
                <td><a href="<TMPL_VAR NAME="URLX">">
                <img class="i<TMPL_IF NAME="STATE_WARNING">warn</TMPL_IF><TMPL_IF NAME="STATE_CRITICAL">crit</TMPL_IF>"
                 src="<TMPL_VAR NAME="IMGYEAR">"
                 alt="<TMPL_VAR ESCAPE="HTML" NAME="NAME">"
                 <TMPL_IF NAME="IMGYEARWIDTH">width="<TMPL_VAR NAME="IMGYEARWIDTH">" </TMPL_IF>
                 <TMPL_IF NAME="IMGYEARHEIGHT">height="<TMPL_VAR NAME="IMGYEARHEIGHT">"</TMPL_IF>/>
                </a></td>
        </tr>
        </TMPL_LOOP>
</table>
</TMPL_LOOP>
</div>
</div>

我基本上添加了一个新行<tr>,其中有两列<td>,并使用MONTHandYEAR代替DAYand WEEK

完成这些更改后,您将需要等待大约 5 分钟,直到 munin 重新创建新文件。请耐心等待!

这是最终结果: munin 节点截图

相关内容